"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.carouselDeleteSchema = exports.carouselChangeImageSchema = exports.carouselEditSchema = exports.extendCarouselCreateSchema = exports.carouselCreateSchema = void 0;
// Always use Zod v4 for schema validation
const zod_1 = require("zod");
const zod_to_openapi_1 = require("@asteasolutions/zod-to-openapi");
const validation_1 = require("../../util/validation");
(0, zod_to_openapi_1.extendZodWithOpenApi)(zod_1.z);
// Carousel Zod Schemas
exports.carouselCreateSchema = zod_1.z.object({
    titulo: zod_1.z.string().trim().optional(),
    descricao: zod_1.z.string().trim().optional(),
    userId: (0, validation_1.requiredString)('userId'),
});
exports.extendCarouselCreateSchema = exports.carouselCreateSchema.extend({
    imagem: (0, validation_1.fileSchema)('imagem'),
    imagemSmall: (0, validation_1.fileSchema)('imagemSmall').optional(),
});
exports.carouselEditSchema = zod_1.z.object({
    titulo: zod_1.z.string().trim().optional(),
    descricao: zod_1.z.string().trim().optional(),
    status: zod_1.z.string().trim().optional(),
    carouselId: zod_1.z.string().trim().min(1, 'O campo carouselId é obrigatório'),
    userId: (0, validation_1.requiredNumber)('userId'),
});
exports.carouselChangeImageSchema = zod_1.z.object({
    carouselId: zod_1.z.string().trim().min(1, 'O campo carouselId é obrigatório'),
    userId: (0, validation_1.requiredString)('userId'),
});
exports.carouselDeleteSchema = zod_1.z.object({
    id: (0, validation_1.requiredNumber)('id'),
    userId: (0, validation_1.requiredNumber)('userId'),
});
// Fim Carousel
