"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CuentaDto = exports.cuentaSchema = void 0;
const etiqueta_dto_1 = require("../../etiqueta/dto/etiqueta.dto");
const grupo_etiqueta_dto_1 = require("../../grupo-etiqueta/dto/grupo-etiqueta.dto");
const zod_nestjs_1 = require("@anatine/zod-nestjs");
const zod_1 = require("zod");
exports.cuentaSchema = zod_1.z.object({
    id: zod_1.z
        .string({
        required_error: 'El id es requerido',
    })
        .uuid({
        message: 'El id debe ser un UUID',
    }),
    username: zod_1.z.string({
        required_error: 'El nombre de usuario es requerido',
    }),
    password: zod_1.z
        .string({
        required_error: 'La contraseña es requerida',
    })
        .min(6, 'La contraseña debe tener al menos 6 caracteres'),
    isAdmin: zod_1.z.boolean().default(false),
    created_at: zod_1.z.string().datetime(),
    updated_at: zod_1.z.string().datetime(),
    filtroBase: zod_1.z.object({
        etiquetas: etiqueta_dto_1.etiquetaSchema
            .pick({
            id: true,
            name: true,
        })
            .merge(zod_1.z.object({
            grupo: grupo_etiqueta_dto_1.grupoEtiquetaSchema.pick({
                id: true,
                color: true,
                isExclusive: true,
            }),
        })),
        active: zod_1.z.boolean(),
    }),
    filtroBaseActivo: zod_1.z.boolean().default(false),
    fcmToken: zod_1.z.array(zod_1.z.string()).default([]),
});
class CuentaDto extends (0, zod_nestjs_1.createZodDto)(exports.cuentaSchema) {
}
exports.CuentaDto = CuentaDto;
//# sourceMappingURL=cuenta.dto.js.map