"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DuplicateResolveDto = exports.DuplicateResolveGroupDto = exports.DuplicateResponseDto = void 0;
const openapi = require("@nestjs/swagger");
const nestjs_zod_1 = require("nestjs-zod");
const asset_response_dto_1 = require("./asset-response.dto");
const zod_1 = __importDefault(require("zod"));
const DuplicateResponseSchema = zod_1.default
    .object({
    duplicateId: zod_1.default.uuidv4().describe('Duplicate group ID'),
    assets: zod_1.default.array(asset_response_dto_1.AssetResponseSchema).describe('Duplicate assets'),
    suggestedKeepAssetIds: zod_1.default.array(zod_1.default.uuidv4()).describe('Suggested asset IDs to keep based on file size and EXIF data'),
})
    .meta({ id: 'DuplicateResponseDto' });
const DuplicateResolveGroupSchema = zod_1.default
    .object({
    duplicateId: zod_1.default.uuidv4(),
    keepAssetIds: zod_1.default.array(zod_1.default.uuidv4()).describe('Asset IDs to keep'),
    trashAssetIds: zod_1.default.array(zod_1.default.uuidv4()).describe('Asset IDs to trash or delete'),
})
    .meta({ id: 'DuplicateResolveGroupDto' });
const DuplicateResolveSchema = zod_1.default
    .object({
    groups: zod_1.default.array(DuplicateResolveGroupSchema).min(1).describe('List of duplicate groups to resolve'),
})
    .meta({ id: 'DuplicateResolveDto' });
class DuplicateResponseDto extends (0, nestjs_zod_1.createZodDto)(DuplicateResponseSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.DuplicateResponseDto = DuplicateResponseDto;
class DuplicateResolveGroupDto extends (0, nestjs_zod_1.createZodDto)(DuplicateResolveGroupSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.DuplicateResolveGroupDto = DuplicateResolveGroupDto;
class DuplicateResolveDto extends (0, nestjs_zod_1.createZodDto)(DuplicateResolveSchema) {
    static _OPENAPI_METADATA_FACTORY() {
        return {};
    }
}
exports.DuplicateResolveDto = DuplicateResolveDto;
//# sourceMappingURL=duplicate.dto.js.map