templates2.Landing.Nuxt/server/api/admin/stats.get.ts
w4c-templates b41099ee06
Some checks failed
CI / quality (push) Has been cancelled
chore(template): publish Landing.Nuxt
2026-10-11 23:24:06 +03:00

17 lines
610 B
TypeScript

import { db } from '../../utils/db';
import { requireAdmin } from '../../utils/auth';
export default defineEventHandler(async (event) => {
await requireAdmin(event);
const [totalUsers, activeSubs, recent] = await Promise.all([
db.user.count(),
db.subscription.count({ where: { status: 'active' } }),
db.auditLog.findMany({ orderBy: { createdAt: 'desc' }, take: 5, include: { actor: true } }),
]);
return {
totalUsers,
activeSubs,
recent: recent.map((e) => ({ id: e.id, action: e.action, target: e.target, actor: e.actor?.email ?? 'system', createdAt: e.createdAt })),
};
});