import http from '@/core/api/http' import type { GetUserResponse, GetUserDetailResponse, CreateUserPayload, } from '@/types/users.types' import type { ApiResponse, PaginationParams } from '@/types/common.types' const BASE_URL = '/admin/users' export const usersService = { 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)) const query = searchParams.toString() const url = query ? `${BASE_URL}?${query}` : BASE_URL return http.get(url) }, detail: async (userId: number | string) => { const res = await http.get(`${BASE_URL}/${userId}`) return res?.data?.user }, create: async (payload: CreateUserPayload) => { const res = await http.post>(BASE_URL, payload) return res?.data }, update: async (id: number, payload: CreateUserPayload) => { const res = await http.put>(`${BASE_URL}/${id}`, payload) return res?.data }, delete: async (userId: number | string) => { return http.delete(`${BASE_URL}/${userId}`) }, }