debian-mirror-gitlab/app/assets/javascripts/incidents_settings/incidents_settings_service.js
2021-09-04 01:27:46 +05:30

35 lines
918 B
JavaScript

import createFlash from '~/flash';
import axios from '~/lib/utils/axios_utils';
import { refreshCurrentPage } from '~/lib/utils/url_utility';
import { ERROR_MSG } from './constants';
export default class IncidentsSettingsService {
constructor(settingsEndpoint, webhookUpdateEndpoint) {
this.settingsEndpoint = settingsEndpoint;
this.webhookUpdateEndpoint = webhookUpdateEndpoint;
}
updateSettings(data) {
return axios
.patch(this.settingsEndpoint, {
project: {
incident_management_setting_attributes: data,
},
})
.then(() => {
refreshCurrentPage();
})
.catch(({ response }) => {
const message = response?.data?.message || '';
createFlash({
message: `${ERROR_MSG} ${message}`,
type: 'alert',
});
});
}
resetWebhookUrl() {
return axios.post(this.webhookUpdateEndpoint);
}
}