'use client'; import { useQuery } from '@tanstack/react-query'; import apiClient from '@/lib/api/client'; import { DataTable } from '@/components/common/data-table'; import { ColumnDef } from '@tanstack/react-table'; import { RefreshCw } from 'lucide-react'; import { format } from 'date-fns'; import { Button } from '@/components/ui/button'; interface NumberingError { id: number; userId?: number; errorMessage: string; stackTrace?: string; createdAt: string; context?: { projectId?: number | string; contractId?: number | string; [key: string]: unknown; }; } const logService = { getNumberingErrors: async () => { const response = await apiClient.get('/document-numbering/logs/errors'); return response.data.data || response.data; }, }; export default function NumberingLogsPage() { const { data: errors = [], isLoading, refetch, } = useQuery({ queryKey: ['numbering-errors'], queryFn: logService.getNumberingErrors, }); const columns: ColumnDef[] = [ { accessorKey: 'createdAt', header: 'Timestamp', cell: ({ row }) => format(new Date(row.original.createdAt), 'dd MMM yyyy, HH:mm:ss'), }, { accessorKey: 'context.projectId', // Accessing nested property header: 'Project ID', cell: ({ row }) => {row.original.context?.projectId || 'N/A'}, }, { accessorKey: 'errorMessage', header: 'Message', cell: ({ row }) => {row.original.errorMessage}, }, { accessorKey: 'stackTrace', header: 'Details', cell: ({ row }) => (
{row.original.stackTrace}
), }, ]; return (

Numbering Logs

Diagnostics for document numbering issues

{isLoading ? (
) : ( )}
); }