Files
EpicNext-Cms/src/app/admin/logs/commands/page.tsx
T

50 lines
1.2 KiB
TypeScript

import { fetchAdminList } from "@/lib/admin-list";
import { PERMS } from "@/lib/permissions";
import { CommandsTable } from "./commands-table";
export default async function CommandLogsPage({
params: paramsPromise,
searchParams,
}: {
params: Promise<{ locale: string }>;
searchParams: Promise<Record<string, string>>;
}) {
const result = await fetchAdminList(
{
permission: PERMS.LOGS_VIEW,
model: "commandLog",
searchFields: ["command", "params", "user.username"],
defaultPerPage: 50,
include: { user: { select: { username: true } } },
mapRow: (l) => ({
id: l.id,
username: l.user.username,
command: l.command,
params: l.params,
timestamp: l.timestamp,
}),
},
paramsPromise,
searchParams,
);
return (
<div className="space-y-6">
<div>
<h1 className="text-3xl font-bold tracking-tight">Command Logs</h1>
<p className="text-muted-foreground">View in-game command usage</p>
</div>
<CommandsTable
data={{
rows: result.rows,
total: result.total,
page: result.page,
perPage: result.perPage,
lastPage: result.lastPage,
}}
/>
</div>
);
}