implemented

This commit is contained in:
counterweight 2025-12-20 23:06:05 +01:00
parent a31bd8246c
commit d3638e2e69
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
18 changed files with 1643 additions and 120 deletions

View file

@ -6,35 +6,17 @@ import { api } from "../api";
import { sharedStyles } from "../styles/shared";
import { Header } from "../components/Header";
import { useRequireAuth } from "../hooks/useRequireAuth";
import { components } from "../generated/api";
interface CounterRecord {
id: number;
user_email: string;
value_before: number;
value_after: number;
created_at: string;
}
interface SumRecord {
id: number;
user_email: string;
a: number;
b: number;
result: number;
created_at: string;
}
interface PaginatedResponse<T> {
records: T[];
total: number;
page: number;
per_page: number;
total_pages: number;
}
// Use generated types from OpenAPI schema
type CounterRecord = components["schemas"]["CounterRecordResponse"];
type SumRecord = components["schemas"]["SumRecordResponse"];
type PaginatedCounterRecords = components["schemas"]["PaginatedResponse_CounterRecordResponse_"];
type PaginatedSumRecords = components["schemas"]["PaginatedResponse_SumRecordResponse_"];
export default function AuditPage() {
const [counterData, setCounterData] = useState<PaginatedResponse<CounterRecord> | null>(null);
const [sumData, setSumData] = useState<PaginatedResponse<SumRecord> | null>(null);
const [counterData, setCounterData] = useState<PaginatedCounterRecords | null>(null);
const [sumData, setSumData] = useState<PaginatedSumRecords | null>(null);
const [counterError, setCounterError] = useState<string | null>(null);
const [sumError, setSumError] = useState<string | null>(null);
const [counterPage, setCounterPage] = useState(1);
@ -47,7 +29,7 @@ export default function AuditPage() {
const fetchCounterRecords = useCallback(async (page: number) => {
setCounterError(null);
try {
const data = await api.get<PaginatedResponse<CounterRecord>>(
const data = await api.get<PaginatedCounterRecords>(
`/api/audit/counter?page=${page}&per_page=10`
);
setCounterData(data);
@ -60,7 +42,7 @@ export default function AuditPage() {
const fetchSumRecords = useCallback(async (page: number) => {
setSumError(null);
try {
const data = await api.get<PaginatedResponse<SumRecord>>(
const data = await api.get<PaginatedSumRecords>(
`/api/audit/sum?page=${page}&per_page=10`
);
setSumData(data);