"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PartnerResponseDto = exports.PartnerSearchDto = exports.PartnerUpdateDto = exports.PartnerCreateDto = void 0;
const openapi = require("@nestjs/swagger");
const nestjs_zod_1 = require("nestjs-zod");
const user_dto_1 = require("./user.dto");
const partner_repository_1 = require("../repositories/partner.repository");
const zod_1 = __importDefault(require("zod"));
const PartnerDirectionSchema = zod_1.default.enum(partner_repository_1.PartnerDirection).describe('Partner direction').meta({ id: 'PartnerDirection' });
const PartnerCreateSchema = zod_1.default
    .object({
    sharedWithId: zod_1.default.uuidv4().describe('User ID to share with'),
})
    .meta({ id: 'PartnerCreateDto' });
const PartnerUpdateSchema = zod_1.default
    .object({
    inTimeline: zod_1.default.boolean().describe('Show partner assets in timeline'),
})
    .meta({ id: 'PartnerUpdateDto' });
const PartnerSearchSchema = zod_1.default
    .object({
    direction: PartnerDirectionSchema,
})
    .meta({ id: 'PartnerSearchDto' });
const PartnerResponseSchema = user_dto_1.UserResponseSchema.extend({
    inTimeline: zod_1.default.boolean().optional().describe('Show in timeline'),
})
    .describe('Partner response')
    .meta({ id: 'PartnerResponseDto' });
class PartnerCreateDto extends (0, nestjs_zod_1.createZodDto)(PartnerCreateSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.PartnerCreateDto = PartnerCreateDto;
class PartnerUpdateDto extends (0, nestjs_zod_1.createZodDto)(PartnerUpdateSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.PartnerUpdateDto = PartnerUpdateDto;
class PartnerSearchDto extends (0, nestjs_zod_1.createZodDto)(PartnerSearchSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.PartnerSearchDto = PartnerSearchDto;
class PartnerResponseDto extends (0, nestjs_zod_1.createZodDto)(PartnerResponseSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.PartnerResponseDto = PartnerResponseDto;
//# sourceMappingURL=partner.dto.js.map