2026-02-25 08:38:46 -06:00
|
|
|
import type { Project, ProjectWorkspace } from "@paperclip/shared";
|
2026-02-16 13:32:04 -06:00
|
|
|
import { api } from "./client";
|
|
|
|
|
|
|
|
|
|
export const projectsApi = {
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
list: (companyId: string) => api.get<Project[]>(`/companies/${companyId}/projects`),
|
2026-02-16 13:32:04 -06:00
|
|
|
get: (id: string) => api.get<Project>(`/projects/${id}`),
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
create: (companyId: string, data: Record<string, unknown>) =>
|
|
|
|
|
api.post<Project>(`/companies/${companyId}/projects`, data),
|
|
|
|
|
update: (id: string, data: Record<string, unknown>) => api.patch<Project>(`/projects/${id}`, data),
|
2026-02-25 08:38:46 -06:00
|
|
|
listWorkspaces: (projectId: string) =>
|
|
|
|
|
api.get<ProjectWorkspace[]>(`/projects/${projectId}/workspaces`),
|
|
|
|
|
createWorkspace: (projectId: string, data: Record<string, unknown>) =>
|
|
|
|
|
api.post<ProjectWorkspace>(`/projects/${projectId}/workspaces`, data),
|
|
|
|
|
updateWorkspace: (projectId: string, workspaceId: string, data: Record<string, unknown>) =>
|
|
|
|
|
api.patch<ProjectWorkspace>(`/projects/${projectId}/workspaces/${workspaceId}`, data),
|
|
|
|
|
removeWorkspace: (projectId: string, workspaceId: string) =>
|
|
|
|
|
api.delete<ProjectWorkspace>(`/projects/${projectId}/workspaces/${workspaceId}`),
|
2026-02-16 13:32:04 -06:00
|
|
|
remove: (id: string) => api.delete<Project>(`/projects/${id}`),
|
|
|
|
|
};
|