"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventoDto = void 0;
const etiqueta_dto_1 = require("../../etiqueta/dto/etiqueta.dto");
const zod_nestjs_1 = require("@anatine/zod-nestjs");
const zod_1 = require("zod");
const eventoSchemaBase = zod_1.z.object({
    id: zod_1.z.string().uuid({ message: 'El ID debe ser un UUID' }),
    name: zod_1.z.string().min(1, 'El nombre es requerido'),
    date: zod_1.z.string().min(1, 'La fecha es requerida'),
    location: zod_1.z.string().min(1, 'La ubicación es requerida'),
    etiquetaAsistioId: etiqueta_dto_1.etiquetaSchema.shape.id,
    etiquetaAsistio: etiqueta_dto_1.etiquetaSchema,
    etiquetaConfirmoId: etiqueta_dto_1.etiquetaSchema.shape.id,
    etiquetaConfirmo: etiqueta_dto_1.etiquetaSchema,
    eventoPadreId: zod_1.z.string().uuid().optional(),
    created_at: zod_1.z.string().datetime(),
    updated_at: zod_1.z.string().datetime(),
});
const eventoSchema = eventoSchemaBase.extend({
    eventoPadre: zod_1.z.lazy(() => eventoSchema),
    subEventos: zod_1.z.array(zod_1.z.lazy(() => eventoSchemaBase)),
});
class EventoDto extends (0, zod_nestjs_1.createZodDto)(eventoSchema) {
}
exports.EventoDto = EventoDto;
//# sourceMappingURL=evento.dto.js.map