import { adminApiClient } from './client' import type { UserDto, PaginatedResponse, PaymentDto } from '@/types/models' export const usersApi = { // Get all users with pagination getUsers: async (params?: { page?: number limit?: number ids?: string[] }): Promise> => { const response = await adminApiClient.get('/api/v2/admin/users', { params: { page: params?.page || 1, limit: params?.limit || 20, ids: params?.ids?.join(','), }, }) return response.data }, // Get user IDs list getUserIds: async (): Promise => { const response = await adminApiClient.get('/api/v2/admin/users/ids') return response.data.ids }, // Get user purchases getUserPurchases: async (userId: string): Promise => { const response = await adminApiClient.get(`/api/v2/admin/users/${userId}/purchases`) return response.data.payments }, // Create or update user upsertUser: async (user: UserDto): Promise<{ result: boolean }> => { const response = await adminApiClient.post('/api/v2/admin/users', user) return response.data }, // Delete user deleteUser: async (userId: string): Promise<{ result: boolean }> => { const response = await adminApiClient.delete(`/api/v2/admin/users/${userId}`) return response.data }, }