From e3044f82b056cf183243d41fca7b03ed8fbf4cce Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 6 Apr 2026 13:35:26 +0200 Subject: [PATCH] feat : add environments service with maintenance toggle --- frontend/services/environments.ts | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 frontend/services/environments.ts 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, + }) +}