"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FindAllWithTagsResponseDto = exports.findAllWithTagsResponseSchema = 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");
const tag_dto_1 = require("../../tag/dto/tag.dto");
const zod_1 = __importDefault(require("zod"));
exports.findAllWithTagsResponseSchema = zod_1.default.object({
    groups: zod_1.default.array(tag_group_dto_1.tagGroupSchema
        .pick({
        id: true,
        name: true,
        isExclusive: true,
        color: true,
    })
        .merge(zod_1.default.object({
        tags: zod_1.default.array(tag_dto_1.tagSchema.merge(zod_1.default.object({
            _count: zod_1.default.object({
                profiles: zod_1.default.number(),
            }),
        }))),
        _count: zod_1.default.object({
            tags: zod_1.default.number(),
        }),
    }))),
});
class FindAllWithTagsResponseDto extends (0, create_zod_dto_without_date_1.createZodDtoWithoutDate)(exports.findAllWithTagsResponseSchema) {
}
exports.FindAllWithTagsResponseDto = FindAllWithTagsResponseDto;
//# sourceMappingURL=find-all-with-tags.dto.js.map