71 lines
3.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pageIdSchema = exports.listPageBlocksSchema = exports.updatePageBlockSchema = exports.createPageBlockSchema = exports.listLandingPagesSchema = exports.updateLandingPageSchema = exports.createLandingPageSchema = void 0;
const zod_1 = require("zod");
const editorModeEnum = zod_1.z.enum(['VISUAL', 'CODE']);
const mkdocsExportModeEnum = zod_1.z.enum(['THEMED', 'STANDALONE']);
exports.createLandingPageSchema = zod_1.z.object({
title: zod_1.z.string().min(1, 'Title is required'),
description: zod_1.z.string().optional(),
editorMode: editorModeEnum.optional().default('VISUAL'),
blocks: zod_1.z.any().optional().default({}),
htmlOutput: zod_1.z.string().optional(),
cssOutput: zod_1.z.string().optional(),
mkdocsPath: zod_1.z.string().optional(),
mkdocsExportMode: mkdocsExportModeEnum.optional().default('THEMED'),
mkdocsHideNav: zod_1.z.boolean().optional().default(true),
mkdocsHideToc: zod_1.z.boolean().optional().default(true),
mkdocsSkipExport: zod_1.z.boolean().optional().default(false),
published: zod_1.z.boolean().optional().default(false),
seoTitle: zod_1.z.string().optional(),
seoDescription: zod_1.z.string().optional(),
seoImage: zod_1.z.string().optional(),
});
exports.updateLandingPageSchema = zod_1.z.object({
title: zod_1.z.string().min(1).optional(),
description: zod_1.z.string().nullable().optional(),
editorMode: editorModeEnum.optional(),
blocks: zod_1.z.any().optional(),
htmlOutput: zod_1.z.string().nullable().optional(),
cssOutput: zod_1.z.string().nullable().optional(),
mkdocsPath: zod_1.z.string().nullable().optional(),
mkdocsExportMode: mkdocsExportModeEnum.optional(),
mkdocsHideNav: zod_1.z.boolean().optional(),
mkdocsHideToc: zod_1.z.boolean().optional(),
mkdocsSkipExport: zod_1.z.boolean().optional(),
published: zod_1.z.boolean().optional(),
seoTitle: zod_1.z.string().nullable().optional(),
seoDescription: zod_1.z.string().nullable().optional(),
seoImage: zod_1.z.string().nullable().optional(),
});
exports.listLandingPagesSchema = zod_1.z.object({
page: zod_1.z.coerce.number().int().positive().default(1),
limit: zod_1.z.coerce.number().int().positive().max(100).default(20),
search: zod_1.z.string().optional(),
published: zod_1.z.enum(['true', 'false']).optional(),
});
exports.createPageBlockSchema = zod_1.z.object({
type: zod_1.z.string().min(1, 'Type is required'),
label: zod_1.z.string().min(1, 'Label is required'),
schema: zod_1.z.any().optional().default({}),
defaults: zod_1.z.any().optional().default({}),
thumbnail: zod_1.z.string().optional(),
category: zod_1.z.string().optional(),
sortOrder: zod_1.z.number().int().optional().default(0),
});
exports.updatePageBlockSchema = zod_1.z.object({
type: zod_1.z.string().min(1).optional(),
label: zod_1.z.string().min(1).optional(),
schema: zod_1.z.any().optional(),
defaults: zod_1.z.any().optional(),
thumbnail: zod_1.z.string().nullable().optional(),
category: zod_1.z.string().nullable().optional(),
sortOrder: zod_1.z.number().int().optional(),
});
exports.listPageBlocksSchema = zod_1.z.object({
category: zod_1.z.string().optional(),
});
exports.pageIdSchema = zod_1.z.object({
id: zod_1.z.string().min(1),
});
//# sourceMappingURL=pages.schemas.js.map