import type { Address, AddressWrite } from './dto/address' import type { HydraCollection } from '~/utils/api' import { extractHydraMembers } from '~/utils/api' type Owner = { client?: string, prospect?: string } export function useAddressService() { const api = useApi() async function getByOwner(owner: Owner): Promise { const data = await api.get>('/addresses', owner as Record) return extractHydraMembers(data) } async function create(payload: AddressWrite): Promise
{ return api.post
('/addresses', payload as Record, { toastSuccessKey: 'directory.addresses.saved', }) } async function update(id: number, payload: Partial): Promise
{ return api.patch
(`/addresses/${id}`, payload as Record, { toastSuccessKey: 'directory.addresses.saved', }) } async function remove(id: number): Promise { await api.delete(`/addresses/${id}`, {}, { toastSuccessKey: 'directory.addresses.deleted' }) } return { getByOwner, create, update, remove } }