24 lines
1.1 KiB
JavaScript
24 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.addCommentSchema = exports.bulkUnlockSchema = exports.bulkLockSchema = exports.listPublicMediaSchema = void 0;
|
|
const zod_1 = require("zod");
|
|
/**
|
|
* Validation schemas for public media endpoints
|
|
*/
|
|
exports.listPublicMediaSchema = zod_1.z.object({
|
|
limit: zod_1.z.coerce.number().int().positive().max(100).default(24),
|
|
offset: zod_1.z.coerce.number().int().min(0).default(0),
|
|
sort: zod_1.z.enum(['recent', 'popular', 'most_viewed']).default('recent'),
|
|
search: zod_1.z.string().optional(),
|
|
category: zod_1.z.enum(['videos', 'curated', 'compilations', 'playback', 'highlights']).optional(),
|
|
});
|
|
exports.bulkLockSchema = zod_1.z.object({
|
|
ids: zod_1.z.array(zod_1.z.number().int().positive()).min(1).max(100),
|
|
});
|
|
exports.bulkUnlockSchema = zod_1.z.object({
|
|
ids: zod_1.z.array(zod_1.z.number().int().positive()).min(1).max(100),
|
|
});
|
|
exports.addCommentSchema = zod_1.z.object({
|
|
content: zod_1.z.string().min(1).max(2000),
|
|
});
|
|
//# sourceMappingURL=public-media.schemas.js.map
|