UNPKG

@syngrisi/syngrisi

Version:
62 lines (54 loc) 1.69 kB
import { z } from 'zod'; import { commonValidations } from './utils'; const LogGetSchema = z.object({ _id: commonValidations.id, level: z.string().min(1).openapi({ description: 'Log level', example: 'info' }), message: z.string().min(1).openapi({ description: 'Log message', example: 'User logged in' }), timestamp: commonValidations.date.openapi({ description: 'Timestamp of the log entry', example: '2024-05-26T10:49:19.896Z' }), meta: z.object({}).optional().openapi({ description: 'Additional metadata for the log entry', example: { userId: '66519e582c2c701cc438ce59' } }), id: commonValidations.id, }); const LogCreateSchema = z.object({ level: z.string().min(1).openapi({ description: 'Log level', example: 'info' }).optional(), message: z.string().min(1).openapi({ description: 'Log message', example: 'User logged in' }).optional(), meta: z.object({}).optional().openapi({ description: 'Additional metadata for the log entry', example: { userId: '66519e582c2c701cc438ce59' } }), }); const LogCreateRespSchema = commonValidations.success; const LogDistinctSchema = z.object({ field: z.string().min(1).openapi({ description: 'Field name for distinct query', example: 'level' }), }); const LogDistinctResponseSchema = z.array(z.string()).openapi({ description: 'Array of distinct log levels', example: ["debug", "error", "info", "warn"] }); export { LogGetSchema, LogCreateSchema, LogDistinctSchema, LogDistinctResponseSchema, LogCreateRespSchema };