fix : correction des retours de la V0

This commit is contained in:
tristan
2026-03-18 14:47:03 +01:00
parent 995e7de2cc
commit a905c6a1de
64 changed files with 1979 additions and 1640 deletions
+55
View File
@@ -0,0 +1,55 @@
import { useApi } from '~/composables/useApi'
import type { WeightData } from '~/services/dto/weight-data'
export interface WorkflowService<TEntity, TPayload> {
getList: (isValid?: boolean | null) => Promise<TEntity[]>
get: (id: number) => Promise<TEntity>
create: (payload: TPayload) => Promise<TEntity>
update: (id: number, payload: TPayload) => Promise<TEntity>
getWeight: () => Promise<WeightData>
}
export function createWorkflowService<TEntity, TPayload>(
apiResource: string,
toastPrefix: string
): WorkflowService<TEntity, TPayload> {
const getList = async (isValid: boolean | null = null): Promise<TEntity[]> => {
const api = useApi()
const query = isValid !== null ? { isValid } : {}
return api.get<TEntity[]>(apiResource, query, {
toastErrorKey: `errors.${toastPrefix}.list`
})
}
const get = async (id: number): Promise<TEntity> => {
const api = useApi()
return api.get<TEntity>(`${apiResource}/${id}`, {}, {
toastErrorKey: `errors.${toastPrefix}.fetch`
})
}
const create = async (payload: TPayload): Promise<TEntity> => {
const api = useApi()
return api.post<TEntity>(apiResource, payload, {
toastSuccessKey: `success.${toastPrefix}.create`,
toastErrorKey: `errors.${toastPrefix}.create`
})
}
const update = async (id: number, payload: TPayload): Promise<TEntity> => {
const api = useApi()
return api.patch<TEntity>(`${apiResource}/${id}`, payload, {
toastErrorKey: `errors.${toastPrefix}.update`,
toastSuccessKey: `success.${toastPrefix}.update`
})
}
const getWeight = async (): Promise<WeightData> => {
const api = useApi()
return api.get<WeightData>(`${apiResource}/weigh`, {}, {
toastErrorKey: `errors.${toastPrefix}.weigh`
})
}
return { getList, get, create, update, getWeight }
}