summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/api.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/api.js')
-rw-r--r--app/assets/javascripts/api.js43
1 files changed, 41 insertions, 2 deletions
diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index 94d155840ea..c84e73ccdb4 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -11,6 +11,9 @@ const Api = {
groupMembersPath: '/api/:version/groups/:id/members',
subgroupsPath: '/api/:version/groups/:id/subgroups',
namespacesPath: '/api/:version/namespaces.json',
+ groupPackagesPath: '/api/:version/groups/:id/packages',
+ projectPackagesPath: '/api/:version/projects/:id/packages',
+ projectPackagePath: '/api/:version/projects/:id/packages/:package_id',
groupProjectsPath: '/api/:version/groups/:id/projects.json',
projectsPath: '/api/:version/projects.json',
projectPath: '/api/:version/projects/:id',
@@ -36,7 +39,9 @@ const Api = {
userStatusPath: '/api/:version/users/:id/status',
userProjectsPath: '/api/:version/users/:id/projects',
userPostStatusPath: '/api/:version/user/status',
- commitPath: '/api/:version/projects/:id/repository/commits',
+ commitPath: '/api/:version/projects/:id/repository/commits/:sha',
+ commitsPath: '/api/:version/projects/:id/repository/commits',
+
applySuggestionPath: '/api/:version/suggestions/:id/apply',
applySuggestionBatchPath: '/api/:version/suggestions/batch_apply',
commitPipelinesPath: '/:project_id/commit/:sha/pipelines',
@@ -64,6 +69,32 @@ const Api = {
});
},
+ groupPackages(id, options = {}) {
+ const url = Api.buildUrl(this.groupPackagesPath).replace(':id', id);
+ return axios.get(url, options);
+ },
+
+ projectPackages(id, options = {}) {
+ const url = Api.buildUrl(this.projectPackagesPath).replace(':id', id);
+ return axios.get(url, options);
+ },
+
+ buildProjectPackageUrl(projectId, packageId) {
+ return Api.buildUrl(this.projectPackagePath)
+ .replace(':id', projectId)
+ .replace(':package_id', packageId);
+ },
+
+ projectPackage(projectId, packageId) {
+ const url = this.buildProjectPackageUrl(projectId, packageId);
+ return axios.get(url);
+ },
+
+ deleteProjectPackage(projectId, packageId) {
+ const url = this.buildProjectPackageUrl(projectId, packageId);
+ return axios.delete(url);
+ },
+
groupMembers(id, options) {
const url = Api.buildUrl(this.groupMembersPath).replace(':id', encodeURIComponent(id));
@@ -308,9 +339,17 @@ const Api = {
.catch(() => flash(__('Something went wrong while fetching projects')));
},
+ commit(id, sha, params = {}) {
+ const url = Api.buildUrl(this.commitPath)
+ .replace(':id', encodeURIComponent(id))
+ .replace(':sha', encodeURIComponent(sha));
+
+ return axios.get(url, { params });
+ },
+
commitMultiple(id, data) {
// see https://docs.gitlab.com/ce/api/commits.html#create-a-commit-with-multiple-files-and-actions
- const url = Api.buildUrl(Api.commitPath).replace(':id', encodeURIComponent(id));
+ const url = Api.buildUrl(Api.commitsPath).replace(':id', encodeURIComponent(id));
return axios.post(url, JSON.stringify(data), {
headers: {
'Content-Type': 'application/json; charset=utf-8',