import http from '@/core/api/http' import type { ApiResponse, PaginationParams } from '@/types/common.types' import type { CreateEvaluation, GetEvaluationDetailResponse, GetEvaluationItems, GetEvaluationsResponse, } from '@/types/evaluations.types' const BASE_URL = '/admin/evaluations' const BASE_ITEMS__URL = '/admin/items' export const evaluationsService = { list: async (params?: PaginationParams): Promise => { const searchParams = new URLSearchParams() if (params?.page) searchParams.set('page', String(params.page)) if (params?.per_page) searchParams.set('per_page', String(params.per_page)) if (params?.status) searchParams.set('status', params.status) const query = searchParams.toString() const url = query ? `${BASE_URL}?${query}` : BASE_URL return http.get(url) }, detail: async (evaluationId: number | string) => { const res = await http.get( `${BASE_URL}/${evaluationId}` ) return res?.data?.evaluation }, store: async (evaluationId: number | string, payload: CreateEvaluation) => { const res = await http.post>( `${BASE_URL}/${evaluationId}/store`, payload ) return res?.data }, items: async () => { const res = await http.get(BASE_ITEMS__URL) return res?.items }, retry: async (evaluationId: number | string) => { const res = await http.post>( `${BASE_URL}/${evaluationId}/retry` ) return res?.data }, }