import { api } from "./client"; import type { Milestone, MilestoneInput, Project, ProjectInput, ProjectPhase } from "../types"; export const listProjects = async (includeArchived = false) => ( await api.get("/projects", { params: includeArchived ? { include_archived: true } : undefined, }) ).data; export const createProject = async (input: ProjectInput) => (await api.post("/projects", input)).data; export const updateProject = async (id: number, input: Partial) => (await api.patch(`/projects/${id}`, input)).data; export const archiveProject = async (id: number) => (await api.delete(`/projects/${id}`)).data; export const restoreProject = async (id: number) => (await api.post(`/projects/${id}/restore`)).data; export const createMilestone = async (projectId: number, input: MilestoneInput) => (await api.post(`/projects/${projectId}/milestones`, input)).data; export const updateMilestone = async ( projectId: number, milestoneId: number, input: Partial, ) => (await api.patch(`/projects/${projectId}/milestones/${milestoneId}`, input)).data; export const createPhase = async ( projectId: number, input: { name: string; start_date: string; end_date: string; color?: string }, ) => (await api.post(`/projects/${projectId}/phases`, input)).data;