import { AdminNav } from "@/components/admin/admin-nav"; import { Card } from "@/components/ui/card"; import { requireAdmin } from "@/lib/auth/current-user"; import { prisma } from "@/lib/db"; export default async function AdminLogsPage() { await requireAdmin(); const [audits, credits, ingestJobs, exportJobs, sessions] = await Promise.all([ prisma.adminAuditLog.findMany({ orderBy: { createdAt: "desc" }, take: 100 }), prisma.creditTransaction.findMany({ include: { user: { select: { email: true } }, actor: { select: { email: true } } }, orderBy: { createdAt: "desc" }, take: 100 }), prisma.ingestJob.findMany({ orderBy: { createdAt: "desc" }, take: 50 }), prisma.exportJob.findMany({ include: { user: { select: { email: true } } }, orderBy: { createdAt: "desc" }, take: 50 }), prisma.authSession.findMany({ include: { user: { select: { email: true } } }, orderBy: { createdAt: "desc" }, take: 50 }) ]); return (
Admin audit, kredi hareketleri, veri işleri ve oturum kayıtları.
{log.summary}
Audit kaydı yok.
}| Kullanıcı | Tür | Miktar | Bakiye | Neden | Tarih |
|---|---|---|---|---|---|
| {tx.user.email} | {tx.type} | = 0 ? "font-bold text-emerald-600" : "font-bold text-rose-600"}>{tx.amount > 0 ? "+" : ""}{tx.amount} | {tx.balanceAfter} | {tx.reason} | {tx.createdAt.toLocaleString("tr-TR")} |