// ============================================================================ // 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>(BASE_PATH, { params }), /** * Create new workspace */ create: (data: WorkspaceCreateRequest) => api.post(BASE_PATH, data), /** * Update workspace */ update: (workspaceId: string, data: WorkspaceUpdateRequest) => api.patch(`${BASE_PATH}/${workspaceId}`, data), /** * Delete workspace */ delete: (workspaceId: string) => api.delete(`${BASE_PATH}/${workspaceId}`), /** * Upload workspace avatar */ uploadAvatar: (workspaceId: string, file: File) => { const formData = new FormData(); formData.append("file", file); return api.post(`${BASE_PATH}/${workspaceId}/avatar`, formData); }, /** * Delete workspace avatar */ deleteAvatar: (workspaceId: string) => api.delete(`${BASE_PATH}/${workspaceId}/avatar`), };