import http from '@/core/api/http' import type { AdminDetailResponse, AdminPayload, AdminsListResponse, } from '@/types/admins.types' import type { ApiResponse, PaginationParams } from '@/types/common.types' const BASE_URL = '/admin/admins' export const adminsService = { list: async (params?: PaginationParams) => { 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)) const query = searchParams.toString() const url = query ? `${BASE_URL}?${query}` : BASE_URL return http.get(url) }, detail: async (adminId: number | string) => { const response = await http.get( `${BASE_URL}/${adminId}` ) return response.data.admin }, create: async (payload: AdminPayload) => { return http.post, AdminPayload>(BASE_URL, payload) }, update: async (adminId: number | string, payload: AdminPayload) => { return http.put, AdminPayload>( `${BASE_URL}/${adminId}`, payload ) }, delete: async (adminId: number | string) => { return http.delete(`${BASE_URL}/${adminId}`) }, }