| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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<AdminsListResponse>(url)
- },
- detail: async (adminId: number | string) => {
- const response = await http.get<AdminDetailResponse>(
- `${BASE_URL}/${adminId}`
- )
- return response.data.admin
- },
- create: async (payload: AdminPayload) => {
- return http.post<ApiResponse<unknown>, AdminPayload>(BASE_URL, payload)
- },
- update: async (adminId: number | string, payload: AdminPayload) => {
- return http.put<ApiResponse<unknown>, AdminPayload>(
- `${BASE_URL}/${adminId}`,
- payload
- )
- },
- delete: async (adminId: number | string) => {
- return http.delete(`${BASE_URL}/${adminId}`)
- },
- }
|