import { apiRequestData } from "./http"; export type WorkspaceModuleVisibilityMode = "main" | "admin" | "hidden"; export type WorkspaceSettings = { id: string | null; persisted: boolean; profile: "small_team_internal"; orgMode: "single_company"; primaryEntryMode: "password"; notificationStrategy: "in_app"; devicePriority: "desktop"; moduleVisibility: Record; createdAt: string | null; updatedAt: string | null; updatedBy: string | null; defaults?: Record; }; export type NavigationItem = { key: string; label: string; icon: string; href: string; placement: WorkspaceModuleVisibilityMode; permissionCodes: string[]; featureFlagKey: string | null; }; export type RolePreset = { key: string; label: string; roleCodes: string[]; description: string; }; export type NavigationPayload = { workspace: WorkspaceSettings; sections: { main: NavigationItem[]; admin: NavigationItem[]; backup: NavigationItem[]; }; recommendedRolePresets: RolePreset[]; }; export async function fetchWorkspaceSettings() { return apiRequestData("/api/system/workspace"); } export async function updateWorkspaceSettings(payload: { moduleVisibility: Record; }) { return apiRequestData<{ item: WorkspaceSettings }>("/api/system/workspace", { method: "PATCH", body: JSON.stringify(payload), }); } export async function fetchSystemNavigation() { return apiRequestData("/api/system/navigation"); }