Download apps/api/src/services/analytics-service.ts from safetrack/edtech: direct link, hf CLI and curl.
- Browser
- Download file 930 Bytes
-
https://huggingface.co/spaces/safetrack/edtech/resolve/main/apps/api/src/services/analytics-service.ts
- Command line
-
hf download hf://spaces/safetrack/edtech/apps/api/src/services/analytics-service.ts
-
curl -L -o analytics-service.ts https://huggingface.co/spaces/safetrack/edtech/resolve/main/apps/api/src/services/analytics-service.ts
930 Bytes
| import { prisma } from './prisma'; | |
| export class AnalyticsService { | |
| static async getDashboardStats(organizationId: string) { | |
| const [totalUsers, activeEnrollments, completedEnrollments, totalTracks, totalRevenue] = await Promise.all([ | |
| prisma.user.count({ where: { organizationId, deletedAt: null } }), | |
| prisma.enrollment.count({ where: { status: 'ACTIVE', organizationId, deletedAt: null } }), | |
| prisma.enrollment.count({ where: { status: 'COMPLETED', organizationId, deletedAt: null } }), | |
| prisma.track.count({ where: { organizationId } }), | |
| prisma.payment.aggregate({ where: { status: 'COMPLETED', organizationId }, _sum: { amount: true } }), | |
| ]); | |
| return { | |
| totalUsers, | |
| activeEnrollments, | |
| completedEnrollments, | |
| totalTracks, | |
| totalRevenue: totalRevenue._sum.amount || 0 | |
| }; | |
| } | |
| } | |