UNPKG

@tmlmobilidade/types

Version:
19 lines (18 loc) 756 B
/* * */ import { DocumentSchema } from '@tmlmobilidade/go-types-shared'; import { ApprovalStatusSchema } from '@tmlmobilidade/go-types-shared'; import { z } from 'zod'; /* * */ // // Define constants for enum values for better maintainability export const ScopeSchema = z.enum(['stop', 'lines']); // Define schemas using constants export const ProposedChangeSchema = DocumentSchema.extend({ curr_value: z.any(), field: z.string(), related_id: z.string(), scope: ScopeSchema, status: ApprovalStatusSchema, }); export const CreateProposedChangeSchema = ProposedChangeSchema.omit({ _id: true, created_at: true, updated_at: true }); export const UpdateProposedChangeSchema = CreateProposedChangeSchema.omit({ created_by: true }).partial();