Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/api.js')
-rw-r--r--app/assets/javascripts/api.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index 95da3b3cf49..185cdaa1c99 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -86,6 +86,7 @@ const Api = {
freezePeriodsPath: '/api/:version/projects/:id/freeze_periods',
freezePeriodPath: '/api/:version/projects/:id/freeze_periods/:freeze_period_id',
serviceDataIncrementCounterPath: '/api/:version/usage_data/increment_counter',
+ serviceDataInternalEventPath: '/api/:version/usage_data/track_event',
serviceDataIncrementUniqueUsersPath: '/api/:version/usage_data/increment_unique_users',
featureFlagUserLists: '/api/:version/projects/:id/feature_flags_user_lists',
featureFlagUserList: '/api/:version/projects/:id/feature_flags_user_lists/:list_iid',
@@ -910,6 +911,20 @@ const Api = {
return axios.post(url, { event }, { headers });
},
+ trackInternalEvent(event) {
+ if (!gon.current_user_id || !gon.features?.usageDataApi) {
+ return null;
+ }
+ const url = Api.buildUrl(this.serviceDataInternalEventPath);
+ const headers = {
+ 'Content-Type': 'application/json',
+ };
+
+ const { data = {} } = { ...window.gl?.snowplowStandardContext };
+ const { project_id, namespace_id } = data;
+ return axios.post(url, { event, project_id, namespace_id }, { headers });
+ },
+
buildUrl(url) {
return joinPaths(gon.relative_url_root || '', url.replace(':version', gon.api_version));
},