summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js')
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
index c620023a6d6..ee9e3cc6d08 100644
--- a/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
+++ b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
@@ -3,6 +3,10 @@ import axios from '../../lib/utils/axios_utils';
export default class MRWidgetService {
constructor(endpoints) {
this.endpoints = endpoints;
+
+ this.apiApprovalsPath = endpoints.apiApprovalsPath;
+ this.apiApprovePath = endpoints.apiApprovePath;
+ this.apiUnapprovePath = endpoints.apiUnapprovePath;
}
merge(data) {
@@ -54,6 +58,18 @@ export default class MRWidgetService {
return axios.post(this.endpoints.rebasePath);
}
+ fetchApprovals() {
+ return axios.get(this.apiApprovalsPath).then(res => res.data);
+ }
+
+ approveMergeRequest() {
+ return axios.post(this.apiApprovePath).then(res => res.data);
+ }
+
+ unapproveMergeRequest() {
+ return axios.post(this.apiUnapprovePath).then(res => res.data);
+ }
+
static executeInlineAction(url) {
return axios.post(url);
}