Spaces:
Sleeping
Sleeping
| 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, | |
| }; |