openreplay/frontend/app/duck/integrations/actions.js
2023-01-13 17:36:35 +01:00

46 lines
1.2 KiB
JavaScript

import { fetchListType, fetchType, saveType, editType, initType, removeType } from '../funcTools/types';
export function fetchList(name) {
return {
types: fetchListType(name).array,
call: (client) => client.get(`/integrations/${name}`),
name,
};
}
export function fetch(name, siteId) {
return {
types: fetchType(name).array,
call: (client) => client.get(siteId && name !== 'github' && name !== 'jira' ? `/${siteId}/integrations/${name}` : `/integrations/${name}`),
name,
};
}
export function save(name, siteId, instance) {
return {
types: saveType(name).array,
call: (client) => client.post((siteId ? `/${siteId}` : '') + `/integrations/${name}`, instance.toData()),
};
}
export function edit(name, instance) {
return {
type: editType(name),
instance,
};
}
export function init(name, instance) {
return {
type: initType(name),
instance,
};
}
export function remove(name, siteId) {
return {
types: removeType(name).array,
call: (client) => client.delete((siteId ? `/${siteId}` : '') + `/integrations/${name}`),
siteId,
};
}