UNPKG

alepha

Version:

Easy-to-use modern TypeScript framework for building many kind of applications.

24 lines (21 loc) 1.09 kB
import type { Static } from "alepha"; import { z } from "alepha"; import { pageQuerySchema } from "alepha/orm"; import { auditSeveritySchema } from "../entities/audits.ts"; /** * Query schema for searching and filtering audit logs. */ export const auditQuerySchema = pageQuerySchema.extend({ type: z.text({ description: "Filter by audit type" }).optional(), action: z.text({ description: "Filter by action" }).optional(), severity: auditSeveritySchema.optional(), userId: z.uuid().describe("Filter by user ID").optional(), userRealm: z.text({ description: "Filter by user realm" }).optional(), resourceType: z.text({ description: "Filter by resource type" }).optional(), resourceId: z.text({ description: "Filter by resource ID" }).optional(), success: z.boolean().describe("Filter by success status").optional(), from: z.datetime().describe("Start date filter").optional(), to: z.datetime().describe("End date filter").optional(), search: z.text({ description: "Search in description" }).optional(), }); export type AuditQuery = Static<typeof auditQuerySchema>;