Files
sistema_base/apps/web/feactures/training/schemas/statistics.ts
2026-04-16 16:01:45 -04:00

36 lines
1.2 KiB
TypeScript

import { z } from 'zod';
export const statisticsItemSchema = z.object({
name: z
.string()
.nullable()
.transform((val) => val || 'Sin Información'),
value: z.number(),
});
export const trainingStatisticsSchema = z.object({
totalOsps: z.number(),
// totalProducers: z.number(),
totalProducts: z.number(),
statusDistribution: z.array(statisticsItemSchema),
activityDistribution: z.array(statisticsItemSchema),
typeDistribution: z.array(statisticsItemSchema),
stateDistribution: z.array(statisticsItemSchema),
yearDistribution: z.array(statisticsItemSchema),
ecoSectorDistribution: z.array(statisticsItemSchema),
productiveSectorDistribution: z.array(statisticsItemSchema),
centralActivityDistribution: z.array(statisticsItemSchema),
mainActivityDistribution: z.array(statisticsItemSchema),
structureTypeDistribution: z.array(statisticsItemSchema),
isOpenSpaceDistribution: z.array(statisticsItemSchema),
hasTransportDistribution: z.array(statisticsItemSchema),
genderDistribution: z.array(statisticsItemSchema),
});
export type TrainingStatisticsData = z.infer<typeof trainingStatisticsSchema>;
export const trainingStatisticsResponseSchema = z.object({
message: z.string(),
data: trainingStatisticsSchema,
});