bearer
Some checks are pending
Deploy Admin Panel / Deploy Admin Panel (push) Waiting to run
Deploy Admin Panel / Admin Panel Verification (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions

This commit is contained in:
Dmitry 2025-12-12 00:09:23 +03:00
parent d9f23d9e2d
commit 0485a35269
4 changed files with 20 additions and 20 deletions

View file

@ -1,4 +1,4 @@
import { apiClient } from './client' import { adminApiClient } from './client'
export interface DashboardStats { export interface DashboardStats {
users: number users: number
@ -37,19 +37,19 @@ export interface DashboardData {
export const analyticsApi = { export const analyticsApi = {
// Get dashboard analytics // Get dashboard analytics
getDashboard: async (): Promise<DashboardData> => { getDashboard: async (): Promise<DashboardData> => {
const response = await apiClient.get('/api/v2/admin/analytics/dashboard') const response = await adminApiClient.get('/api/v2/admin/analytics/dashboard')
return response.data return response.data
}, },
// Get user registration chart data // Get user registration chart data
getUsersChart: async (): Promise<{ data: ChartDataPoint[]; period: string }> => { getUsersChart: async (): Promise<{ data: ChartDataPoint[]; period: string }> => {
const response = await apiClient.get('/api/v2/admin/analytics/users/chart') const response = await adminApiClient.get('/api/v2/admin/analytics/users/chart')
return response.data return response.data
}, },
// Get revenue chart data // Get revenue chart data
getRevenueChart: async (): Promise<{ data: ChartDataPoint[]; period: string; currency: string }> => { getRevenueChart: async (): Promise<{ data: ChartDataPoint[]; period: string; currency: string }> => {
const response = await apiClient.get('/api/v2/admin/analytics/revenue/chart') const response = await adminApiClient.get('/api/v2/admin/analytics/revenue/chart')
return response.data return response.data
}, },
} }

View file

@ -1,4 +1,4 @@
import { apiClient } from './client' import { adminApiClient } from './client'
import type { GameCardDto, PaginatedResponse } from '@/types/models' import type { GameCardDto, PaginatedResponse } from '@/types/models'
export const cardsApi = { export const cardsApi = {
@ -8,7 +8,7 @@ export const cardsApi = {
limit?: number limit?: number
search?: string search?: string
}): Promise<PaginatedResponse<GameCardDto>> => { }): Promise<PaginatedResponse<GameCardDto>> => {
const response = await apiClient.get('/api/v2/admin/cards', { const response = await adminApiClient.get('/api/v2/admin/cards', {
params: { params: {
page: params?.page || 1, page: params?.page || 1,
limit: params?.limit || 20, limit: params?.limit || 20,
@ -20,19 +20,19 @@ export const cardsApi = {
// Get a specific card by ID // Get a specific card by ID
getCard: async (cardId: number): Promise<GameCardDto> => { getCard: async (cardId: number): Promise<GameCardDto> => {
const response = await apiClient.get(`/api/v2/admin/cards/${cardId}`) const response = await adminApiClient.get(`/api/v2/admin/cards/${cardId}`)
return response.data return response.data
}, },
// Create or update a card // Create or update a card
upsertCard: async (card: GameCardDto): Promise<{ success: boolean; card: GameCardDto }> => { upsertCard: async (card: GameCardDto): Promise<{ success: boolean; card: GameCardDto }> => {
const response = await apiClient.post('/api/v2/admin/cards', card) const response = await adminApiClient.post('/api/v2/admin/cards', card)
return response.data return response.data
}, },
// Delete a card by ID // Delete a card by ID
deleteCard: async (cardId: number): Promise<{ success: boolean; message: string }> => { deleteCard: async (cardId: number): Promise<{ success: boolean; message: string }> => {
const response = await apiClient.delete(`/api/v2/admin/cards/${cardId}`) const response = await adminApiClient.delete(`/api/v2/admin/cards/${cardId}`)
return response.data return response.data
}, },
} }

View file

@ -1,4 +1,4 @@
import { apiClient } from './client' import { adminApiClient } from './client'
import type { EditCardPackDto, CardPackPreviewDto, PaginatedResponse } from '@/types/models' import type { EditCardPackDto, CardPackPreviewDto, PaginatedResponse } from '@/types/models'
export const packsApi = { export const packsApi = {
@ -9,7 +9,7 @@ export const packsApi = {
search?: string search?: string
showDisabled?: boolean showDisabled?: boolean
}): Promise<PaginatedResponse<CardPackPreviewDto>> => { }): Promise<PaginatedResponse<CardPackPreviewDto>> => {
const response = await apiClient.get('/api/v2/admin/packs', { const response = await adminApiClient.get('/api/v2/admin/packs', {
params: { params: {
page: params?.page || 1, page: params?.page || 1,
limit: params?.limit || 20, limit: params?.limit || 20,
@ -22,19 +22,19 @@ export const packsApi = {
// Get pack details by ID for editing // Get pack details by ID for editing
getPack: async (packId: string): Promise<EditCardPackDto> => { getPack: async (packId: string): Promise<EditCardPackDto> => {
const response = await apiClient.get(`/api/v2/admin/packs/${packId}`) const response = await adminApiClient.get(`/api/v2/admin/packs/${packId}`)
return response.data return response.data
}, },
// Create or update pack // Create or update pack
upsertPack: async (pack: EditCardPackDto): Promise<{ success: boolean; pack: EditCardPackDto }> => { upsertPack: async (pack: EditCardPackDto): Promise<{ success: boolean; pack: EditCardPackDto }> => {
const response = await apiClient.post('/api/v2/admin/packs', pack) const response = await adminApiClient.post('/api/v2/admin/packs', pack)
return response.data return response.data
}, },
// Delete pack // Delete pack
deletePack: async (packId: string): Promise<{ success: boolean; message: string }> => { deletePack: async (packId: string): Promise<{ success: boolean; message: string }> => {
const response = await apiClient.delete(`/api/v2/admin/packs/${packId}`) const response = await adminApiClient.delete(`/api/v2/admin/packs/${packId}`)
return response.data return response.data
}, },
} }

View file

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