sto-k-odnomu/admin/src/api/users.ts

45 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-01-06 20:12:36 +00:00
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<PaginatedResponse<UserDto>> => {
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<string[]> => {
const response = await adminApiClient.get('/api/v2/admin/users/ids')
return response.data.ids
},
// Get user purchases
getUserPurchases: async (userId: string): Promise<PaymentDto[]> => {
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
},
}