import type { Task, TaskWrite } from './dto/task' import type { HydraCollection } from '~/utils/api' import { extractHydraMembers } from '~/utils/api' export function useTaskService() { const api = useApi() async function getByProject(projectId: number): Promise { const data = await api.get>('/tasks', { project: `/api/projects/${projectId}`, }) return extractHydraMembers(data) } async function create(payload: TaskWrite): Promise { return api.post('/tasks', payload as Record, { toastSuccessKey: 'tasks.created', }) } async function update(id: number, payload: Partial): Promise { return api.patch(`/tasks/${id}`, payload as Record, { toastSuccessKey: 'tasks.updated', }) } async function remove(id: number): Promise { await api.delete(`/tasks/${id}`, {}, { toastSuccessKey: 'tasks.deleted', }) } return { getByProject, create, update, remove } }