Files
ColaFlow-Web/lib/api/projects.ts
2025-11-03 00:04:07 +01:00

30 lines
882 B
TypeScript

import { api } from './client';
import type { Project, CreateProjectDto, UpdateProjectDto } from '@/types/project';
import type { KanbanBoard } from '@/types/kanban';
export const projectsApi = {
getAll: async (page = 1, pageSize = 20): Promise<Project[]> => {
return api.get(`/projects?page=${page}&pageSize=${pageSize}`);
},
getById: async (id: string): Promise<Project> => {
return api.get(`/projects/${id}`);
},
create: async (data: CreateProjectDto): Promise<Project> => {
return api.post('/projects', data);
},
update: async (id: string, data: UpdateProjectDto): Promise<Project> => {
return api.put(`/projects/${id}`, data);
},
delete: async (id: string): Promise<void> => {
return api.delete(`/projects/${id}`);
},
getKanban: async (id: string): Promise<KanbanBoard> => {
return api.get(`/projects/${id}/kanban`);
},
};