UNPKG

@tmlmobilidade/types

Version:
25 lines (24 loc) 1.05 kB
/* * */ import { DocumentSchema } from '../_common/document.js'; import { ProcessingStatusSchema } from '../_common/status.js'; import { UnixTimeStampSchema } from '../_common/unix-timestamp.js'; import { SamAnalysisSchema } from './sam-analysis.js'; import { z } from 'zod'; /* * */ export const SamSchema = DocumentSchema .omit({ is_locked: true }) .extend({ _id: z.number(), agency_id: z.string(), analysis: z.array(SamAnalysisSchema).default([]), latest_apex_version: z.string().nullable(), remarks: z.string().nullable().default(null), seen_first_at: UnixTimeStampSchema.nullable(), seen_last_at: UnixTimeStampSchema.nullable(), system_status: ProcessingStatusSchema.default('waiting'), transactions_expected: z.number().nullable(), transactions_found: z.number().nullable(), transactions_missing: z.number().nullable(), }); export const CreateSamSchema = SamSchema.omit({ created_at: true, updated_at: true }); export const UpdateSamSchema = CreateSamSchema.omit({ created_by: true }).partial();