"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateProfileResponseDto = exports.updateProfileResponseSchema = exports.UpdateProfileDto = exports.updateProfileSchema = void 0;
const location_dto_1 = require("../../location/dto/location.dto");
const profile_dto_1 = require("./profile.dto");
const create_zod_dto_without_date_1 = require("../../shared/dto-modification/create-zod-dto-without-date");
const tag_dto_1 = require("../../tag/dto/tag.dto");
const zod_1 = __importDefault(require("zod"));
exports.updateProfileSchema = profile_dto_1.profileSchema
    .pick({
    alternativeNames: true,
    birthDate: true,
    dni: true,
    fullName: true,
    gender: true,
    instagram: true,
    mail: true,
    phoneNumber: true,
    profilePictureUrl: true,
    secondaryPhoneNumber: true,
    isInTrash: true,
    movedToTrashDate: true,
})
    .partial()
    .merge(zod_1.default.object({
    residence: location_dto_1.locationSchema
        .pick({
        city: true,
        country: true,
        latitude: true,
        longitude: true,
        state: true,
    })
        .optional(),
    birth: location_dto_1.locationSchema
        .pick({
        city: true,
        country: true,
        latitude: true,
        longitude: true,
        state: true,
    })
        .optional(),
    tags: zod_1.default.array(tag_dto_1.tagSchema.shape.id).optional(),
}));
class UpdateProfileDto extends (0, create_zod_dto_without_date_1.createZodDtoWithoutDate)(exports.updateProfileSchema) {
}
exports.UpdateProfileDto = UpdateProfileDto;
exports.updateProfileResponseSchema = profile_dto_1.profileSchema;
class UpdateProfileResponseDto extends (0, create_zod_dto_without_date_1.createZodDtoWithoutDate)(exports.updateProfileResponseSchema) {
}
exports.UpdateProfileResponseDto = UpdateProfileResponseDto;
//# sourceMappingURL=update-profile.dto.js.map