| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- """
- Template schemas for request/response validation.
- Defines Pydantic models for template management and XML validation.
- """
- from pydantic import BaseModel, Field
- from typing import Optional, List
- from datetime import datetime
- class TemplateCategory(BaseModel):
- """模板类别"""
- id: str = Field(..., description="类别ID")
- name: str = Field(..., description="类别名称")
- description: str = Field(..., description="类别描述")
- icon: Optional[str] = Field(None, description="类别图标")
- class TemplateResponse(BaseModel):
- """模板响应"""
- id: str = Field(..., description="模板ID")
- name: str = Field(..., description="模板名称")
- category: str = Field(..., description="模板类别")
- description: str = Field(..., description="模板描述")
- config: str = Field(..., description="XML 配置")
- preview_image: Optional[str] = Field(None, description="预览图片URL")
- tags: List[str] = Field(default_factory=list, description="标签列表")
- class TemplateListResponse(BaseModel):
- """模板列表响应"""
- templates: List[TemplateResponse] = Field(..., description="模板列表")
- total: int = Field(..., description="总数")
- class TemplateCategoryListResponse(BaseModel):
- """模板类别列表响应"""
- categories: List[TemplateCategory] = Field(..., description="类别列表")
- class ConfigValidationRequest(BaseModel):
- """配置验证请求"""
- config: str = Field(..., min_length=1, description="XML 配置字符串")
- class ValidationError(BaseModel):
- """验证错误"""
- line: int = Field(..., description="错误行号")
- column: int = Field(..., description="错误列号")
- message: str = Field(..., description="错误信息")
- class ConfigValidationResponse(BaseModel):
- """配置验证响应"""
- valid: bool = Field(..., description="是否有效")
- errors: List[ValidationError] = Field(default_factory=list, description="错误列表")
|