| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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<GetEvaluationsResponse> => {
- 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<GetEvaluationsResponse>(url)
- },
- detail: async (evaluationId: number | string) => {
- const res = await http.get<GetEvaluationDetailResponse>(
- `${BASE_URL}/${evaluationId}`
- )
- return res?.data?.evaluation
- },
- store: async (evaluationId: number | string, payload: CreateEvaluation) => {
- const res = await http.post<ApiResponse<void>>(
- `${BASE_URL}/${evaluationId}/store`,
- payload
- )
- return res?.data
- },
- items: async () => {
- const res = await http.get<GetEvaluationItems>(BASE_ITEMS__URL)
- return res?.items
- },
- retry: async (evaluationId: number | string) => {
- const res = await http.post<ApiResponse<void>>(
- `${BASE_URL}/${evaluationId}/retry`
- )
- return res?.data
- },
- }
|