"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetMeResponseDto = exports.getMeResponseSchema = void 0;
const create_zod_dto_without_date_1 = require("../../shared/dto-modification/create-zod-dto-without-date");
const tag_group_dto_1 = require("../../tag-group/dto/tag-group.dto");
const tag_dto_1 = require("../../tag/dto/tag.dto");
const zod_1 = __importDefault(require("zod"));
const account_dto_1 = require("./account.dto");
exports.getMeResponseSchema = account_dto_1.accountSchema
    .omit({
    password: true,
})
    .merge(zod_1.default.object({
    globalFilter: zod_1.default.array(tag_dto_1.tagSchema
        .pick({
        id: true,
        name: true,
        type: true,
    })
        .merge(zod_1.default.object({
        group: tag_group_dto_1.tagGroupSchema.pick({
            id: true,
            color: true,
            isExclusive: true,
        }),
    }))),
    tags: zod_1.default.array(tag_dto_1.tagSchema),
}));
class GetMeResponseDto extends (0, create_zod_dto_without_date_1.createZodDtoWithoutDate)(exports.getMeResponseSchema) {
}
exports.GetMeResponseDto = GetMeResponseDto;
//# sourceMappingURL=get-me.dto.js.map