Files
tgex-frontend/lib/api/workspaces.ts
2025-12-29 10:12:13 +03:00

42 lines
1000 B
TypeScript

// ============================================================================
// Workspaces API
// ============================================================================
import { api } from "./client";
import type {
Workspace,
WorkspaceCreateRequest,
WorkspaceUpdateRequest,
PaginatedResponse,
PaginationParams,
} from "@/lib/types/api";
const BASE_PATH = "/workspaces";
export const workspacesApi = {
/**
* Get list of workspaces for current user
*/
list: (params?: PaginationParams) =>
api.get<PaginatedResponse<Workspace>>(BASE_PATH, { params }),
/**
* Create new workspace
*/
create: (data: WorkspaceCreateRequest) =>
api.post<Workspace>(BASE_PATH, data),
/**
* Update workspace
*/
update: (workspaceId: string, data: WorkspaceUpdateRequest) =>
api.patch<Workspace>(`${BASE_PATH}/${workspaceId}`, data),
/**
* Delete workspace
*/
delete: (workspaceId: string) =>
api.delete<void>(`${BASE_PATH}/${workspaceId}`),
};