@tmlmobilidade/types
Version:
34 lines (33 loc) • 1.43 kB
JavaScript
/* * */
import { FileExportBaseSchema } from './base.js';
import { SamAnalysisSchema } from '../sams/sam-analysis.js';
import { SystemStatusSchema, UnixTimestampSchema } from '@tmlmobilidade/go-types-shared';
import { z } from 'zod';
/* * */
/* ANALYSIS SCHEMA */
/* * */
export const FlatSamsAnalysisExportAnalysisSchema = SamAnalysisSchema.extend({
_id: z.number().optional().nullable(),
agency_id: z.string().optional().nullable(),
});
/* PROPERTIES SCHEMA */
/* * */
export const SamsAnalysisExportPropertiesSchema = z.object({
properties: z.object({
_id: z.array(z.number()).optional().nullable(),
agency_ids: z.array(z.string()).optional().nullable(),
apex_versions: z.array(z.string()).optional().nullable(),
end_time: UnixTimestampSchema.optional().nullable(),
favorites_only: z.boolean().optional().nullable(),
sam_ids: z.array(z.number()).optional().nullable(),
search: z.string().optional().nullable(),
seen_first_at: UnixTimestampSchema.optional().nullable(),
seen_last_at: UnixTimestampSchema.optional().nullable(),
start_time: UnixTimestampSchema.optional().nullable(),
statuses: z.array(SystemStatusSchema).optional().nullable(),
}),
type: z.literal('sams_analysis'),
});
/* CREATE SCHEMA */
/* * */
export const SamsAnalysisExportSchema = FileExportBaseSchema.extend(SamsAnalysisExportPropertiesSchema.shape);