summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/alert_details/service.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_shared/alert_details/service.js')
-rw-r--r--app/assets/javascripts/vue_shared/alert_details/service.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/alert_details/service.js b/app/assets/javascripts/vue_shared/alert_details/service.js
new file mode 100644
index 00000000000..90f4961103b
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/alert_details/service.js
@@ -0,0 +1,43 @@
+import {
+ fetchAlertMetricImages,
+ uploadAlertMetricImage,
+ updateAlertMetricImage,
+ deleteAlertMetricImage,
+} from '~/rest_api';
+import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
+
+function replaceModelIId(payload = {}) {
+ delete Object.assign(payload, { alertIid: payload.modelIid }).modelIid;
+ return payload;
+}
+
+export const getMetricImages = async (payload) => {
+ const apiPayload = replaceModelIId(payload);
+ const response = await fetchAlertMetricImages(apiPayload);
+ return convertObjectPropsToCamelCase(response.data, { deep: true });
+};
+
+export const uploadMetricImage = async (payload) => {
+ const apiPayload = replaceModelIId(payload);
+ const response = await uploadAlertMetricImage(apiPayload);
+ return convertObjectPropsToCamelCase(response.data);
+};
+
+export const updateMetricImage = async (payload) => {
+ const apiPayload = replaceModelIId(payload);
+ const response = await updateAlertMetricImage(apiPayload);
+ return convertObjectPropsToCamelCase(response.data);
+};
+
+export const deleteMetricImage = async (payload) => {
+ const apiPayload = replaceModelIId(payload);
+ const response = await deleteAlertMetricImage(apiPayload);
+ return convertObjectPropsToCamelCase(response.data);
+};
+
+export default {
+ getMetricImages,
+ uploadMetricImage,
+ updateMetricImage,
+ deleteMetricImage,
+};