summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/alert_details/service.js
blob: 90f4961103b29bc378a6c630cdd795263e8c6825 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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,
};