const Joi = require('joi'); // 用户验证模式 const userSchema = Joi.object({ username: Joi.string().required().min(3).max(30), password: Joi.string().required().min(6), }); // 分类验证模式 const categorySchema = Joi.object({ name: Joi.string().required().min(1).max(30), color: Joi.string().pattern(new RegExp('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$')), }); // 提示词验证模式 const promptSchema = Joi.object({ title: Joi.string().required().min(1).max(100), content: Joi.string().required(), tags: Joi.array().items(Joi.string()), }); // 提示词组验证模式 const promptGroupSchema = Joi.object({ name: Joi.string().required().min(1).max(100), description: Joi.string().allow('', null), category: Joi.string().pattern(new RegExp('^[0-9a-fA-F]{24}$')), }); // DSL文件验证模式 const dslFileSchema = Joi.object({ name: Joi.string().required(), fileData: Joi.string().required(), mimeType: Joi.string(), }); module.exports = { userSchema, categorySchema, promptSchema, promptGroupSchema, dslFileSchema, };