"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.dadosPessoaisChangeIdentificacaoExtends = exports.dadosPessoaisChangeIdentificacaoSchema = exports.dadosPessoaisChangeFotoExtends = exports.dadosPessoaisChangeFotoSchema = exports.dadosPessoaisEditSchema = void 0;
const zod_1 = require("zod");
const zod_to_openapi_1 = require("@asteasolutions/zod-to-openapi");
const validation_1 = require("../../util/validation");
(0, zod_to_openapi_1.extendZodWithOpenApi)(zod_1.z);
exports.dadosPessoaisEditSchema = zod_1.z.object({
    dadosPessoaisId: (0, validation_1.requiredNumber)('dadosPessoaisId'),
    nome: zod_1.z.string().trim().optional(),
    genero: zod_1.z.string().trim().optional(),
    dataNascimento: zod_1.z.string().trim().optional(),
    estadoCivil: zod_1.z.string().trim().optional(),
    provincia: zod_1.z.string().trim().optional(),
    municipio: zod_1.z.string().trim().optional(),
    bairro: zod_1.z.string().trim().optional(),
    rua: zod_1.z.string().trim().optional(),
    nacionalidade: zod_1.z.string().trim().optional(),
    tel1: zod_1.z.string().trim().optional(),
    tel2: zod_1.z.string().trim().optional(),
    email: zod_1.z.string().trim().optional(),
    tipoIdentificao: zod_1.z.string().trim().optional(),
    numeroBI: zod_1.z.string().trim().optional(),
    nif: zod_1.z.string().trim().optional(),
    userId: (0, validation_1.requiredNumber)('userId'),
});
exports.dadosPessoaisChangeFotoSchema = zod_1.z.object({
    dadosPessoaisId: (0, validation_1.requiredNumber)('dadosPessoaisId'),
    userId: zod_1.z.string().trim().optional(),
});
exports.dadosPessoaisChangeFotoExtends = exports.dadosPessoaisChangeFotoSchema.extend({
    foto: (0, validation_1.fileSchema)('foto')
});
exports.dadosPessoaisChangeIdentificacaoSchema = zod_1.z.object({
    dadosPessoaisId: (0, validation_1.requiredNumber)('dadosPessoaisId'),
    userId: zod_1.z.string().trim().optional(),
});
exports.dadosPessoaisChangeIdentificacaoExtends = exports.dadosPessoaisChangeIdentificacaoSchema.extend({
    identificacao: (0, validation_1.fileSchema)('identificacao'),
    foto: (0, validation_1.fileSchema)('foto')
});
