import type { Prospect, ProspectStatus, ProspectWrite } from './dto/prospect' import type { HydraCollection } from '~/utils/api' import { extractHydraMembers } from '~/utils/api' export function useProspectService() { const api = useApi() async function getAll(status?: ProspectStatus): Promise { const query: Record = {} if (status) query.status = status const data = await api.get>('/prospects', query) return extractHydraMembers(data) } async function getById(id: number): Promise { return api.get(`/prospects/${id}`) } async function create(payload: ProspectWrite): Promise { return api.post('/prospects', payload as Record, { toastSuccessKey: 'prospects.created', }) } async function update(id: number, payload: Partial): Promise { return api.patch(`/prospects/${id}`, payload as Record, { toastSuccessKey: 'prospects.updated', }) } async function remove(id: number): Promise { await api.delete(`/prospects/${id}`, {}, { toastSuccessKey: 'prospects.deleted', }) } async function convert(id: number): Promise { return api.post(`/prospects/${id}/convert`, {}, { toastSuccessKey: 'prospects.converted', }) } return { getAll, getById, create, update, remove, convert } }