import { adminApiClient } from './client' import type { UserDto, PaginatedResponse } from '@/types/models' export const usersApi = { // Get all users with pagination getUsers: async (params?: { page?: number limit?: number search?: string }): Promise> => { const response = await adminApiClient.get('/api/admin/users', { params: { page: params?.page || 1, limit: params?.limit || 20, search: params?.search || undefined, }, }) // Transform backend response (users) to frontend format (items) const backendData = response.data return { items: backendData.users || [], total: backendData.total || 0, page: backendData.page || 1, limit: backendData.limit || 20, totalPages: backendData.totalPages || 1, } }, // Get single user by ID getUser: async (userId: string): Promise => { const response = await adminApiClient.get(`/api/admin/users/${userId}`) return response.data }, // Update user updateUser: async (userId: string, user: Partial): Promise => { const response = await adminApiClient.patch(`/api/admin/users/${userId}`, user) return response.data }, // Delete user deleteUser: async (userId: string): Promise<{ message: string }> => { const response = await adminApiClient.delete(`/api/admin/users/${userId}`) return response.data }, }