From 3f0f38d2263c709bd32162c474ae3b567aafb936 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Sun, 2 Aug 2026 05:29:53 +0200 Subject: [PATCH] refactor: use shared JSON mutation clients --- webui/src/api/organizations.ts | 40 ++++++++++++++-------------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/webui/src/api/organizations.ts b/webui/src/api/organizations.ts index 20d3f46..f541592 100644 --- a/webui/src/api/organizations.ts +++ b/webui/src/api/organizations.ts @@ -1,4 +1,4 @@ -import { apiFetch, type ApiSettings } from "@govoplan/core-webui"; +import { apiFetch, apiPatchJson, apiPostJson, type ApiSettings } from "@govoplan/core-webui"; export type OrganizationUnitTypeItem = { id: string; @@ -186,14 +186,6 @@ export type FunctionCreatePayload = SluggedCreatePayload & { act_in_place_allowed?: boolean | null; }; -function post>(settings: ApiSettings, path: string, payload: P): Promise { - return apiFetch(settings, path, { method: "POST", body: JSON.stringify(payload) }); -} - -function patch>(settings: ApiSettings, path: string, payload: P): Promise { - return apiFetch(settings, path, { method: "PATCH", body: JSON.stringify(payload) }); -} - export function getOrganizationModel(settings: ApiSettings): Promise { return apiFetch(settings, "/api/v1/organizations/model"); } @@ -203,61 +195,61 @@ export function getOrganizationSettings(settings: ApiSettings): Promise { - return patch(settings, "/api/v1/organizations/settings", payload); + return apiPatchJson(settings, "/api/v1/organizations/settings", payload); } export function createUnitType(settings: ApiSettings, payload: SluggedCreatePayload): Promise { - return post(settings, "/api/v1/organizations/unit-types", payload); + return apiPostJson(settings, "/api/v1/organizations/unit-types", payload); } export function patchUnitType(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/unit-types/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/unit-types/${encodeURIComponent(id)}`, payload); } export function createStructure(settings: ApiSettings, payload: StructureCreatePayload): Promise { - return post(settings, "/api/v1/organizations/structures", payload); + return apiPostJson(settings, "/api/v1/organizations/structures", payload); } export function patchStructure(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/structures/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/structures/${encodeURIComponent(id)}`, payload); } export function createRelationType(settings: ApiSettings, payload: RelationTypeCreatePayload): Promise { - return post(settings, "/api/v1/organizations/relation-types", payload); + return apiPostJson(settings, "/api/v1/organizations/relation-types", payload); } export function patchRelationType(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/relation-types/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/relation-types/${encodeURIComponent(id)}`, payload); } export function createUnit(settings: ApiSettings, payload: UnitCreatePayload): Promise { - return post(settings, "/api/v1/organizations/units", payload); + return apiPostJson(settings, "/api/v1/organizations/units", payload); } export function patchUnit(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/units/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/units/${encodeURIComponent(id)}`, payload); } export function createRelation(settings: ApiSettings, payload: RelationCreatePayload): Promise { - return post(settings, "/api/v1/organizations/relations", payload); + return apiPostJson(settings, "/api/v1/organizations/relations", payload); } export function patchRelation(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/relations/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/relations/${encodeURIComponent(id)}`, payload); } export function createFunctionType(settings: ApiSettings, payload: FunctionTypeCreatePayload): Promise { - return post(settings, "/api/v1/organizations/function-types", payload); + return apiPostJson(settings, "/api/v1/organizations/function-types", payload); } export function patchFunctionType(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/function-types/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/function-types/${encodeURIComponent(id)}`, payload); } export function createFunction(settings: ApiSettings, payload: FunctionCreatePayload): Promise { - return post(settings, "/api/v1/organizations/functions", payload); + return apiPostJson(settings, "/api/v1/organizations/functions", payload); } export function patchFunction(settings: ApiSettings, id: string, payload: Partial): Promise { - return patch(settings, `/api/v1/organizations/functions/${encodeURIComponent(id)}`, payload); + return apiPatchJson(settings, `/api/v1/organizations/functions/${encodeURIComponent(id)}`, payload); }