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

56 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-01-06 20:12:36 +00:00
import { adminApiClient } from './client'
export interface DashboardStats {
users: number
cards: number
packs: number
enabledPacks: number
payments: number
}
export interface RecentUser {
id: number
name?: string
email?: string
createdAt?: string
}
export interface TopPack {
id: number
title: string
cards: number
enabled: boolean
}
export interface ChartDataPoint {
date: string
registrations?: number
revenue?: number
}
export interface DashboardData {
stats: DashboardStats
recentUsers: RecentUser[]
topPacks: TopPack[]
}
export const analyticsApi = {
// Get dashboard analytics
getDashboard: async (): Promise<DashboardData> => {
const response = await adminApiClient.get('/api/v2/admin/analytics/dashboard')
return response.data
},
// Get user registration chart data
getUsersChart: async (): Promise<{ data: ChartDataPoint[]; period: string }> => {
const response = await adminApiClient.get('/api/v2/admin/analytics/users/chart')
return response.data
},
// Get revenue chart data
getRevenueChart: async (): Promise<{ data: ChartDataPoint[]; period: string; currency: string }> => {
const response = await adminApiClient.get('/api/v2/admin/analytics/revenue/chart')
return response.data
},
}