diff --git a/frontend/services/environments.ts b/frontend/services/environments.ts new file mode 100644 index 0000000..8f57871 --- /dev/null +++ b/frontend/services/environments.ts @@ -0,0 +1,34 @@ +export function createEnvironment(appSlug: string, data: EnvironmentWrite): Promise { + return useApi().post(`/applications/${appSlug}/environments`, data, { + toastSuccessKey: 'success.environments.create', + toastErrorKey: 'errors.environments.create', + }) +} + +export function updateEnvironment(id: number, data: Partial): Promise { + return useApi().patch(`/environments/${id}`, data, { + toastSuccessKey: 'success.environments.update', + toastErrorKey: 'errors.environments.update', + }) +} + +export function deleteEnvironment(id: number): Promise { + return useApi().delete(`/environments/${id}`, undefined, { + toastSuccessKey: 'success.environments.delete', + toastErrorKey: 'errors.environments.delete', + }) +} + +export function toggleMaintenance(id: number, maintenance: boolean): Promise { + const successKey = maintenance + ? 'success.environments.activateMaintenance' + : 'success.environments.deactivateMaintenance' + const errorKey = maintenance + ? 'errors.environments.activateMaintenance' + : 'errors.environments.deactivateMaintenance' + + return useApi().post(`/environments/${id}/maintenance`, { maintenance }, { + toastSuccessKey: successKey, + toastErrorKey: errorKey, + }) +}