Files
QuestionProject/ai_knowledge_base_v2/apps/backend/app/schemas/knowledge.py

42 lines
1.2 KiB
Python

from __future__ import annotations
from pydantic import BaseModel, Field
class KnowledgeSyncRequest(BaseModel):
mode: str = Field(default="review", pattern="^(review|replace)$")
class KnowledgeReviewRequest(BaseModel):
action: str = Field(pattern="^(approve|reject)$")
reason: str | None = Field(default=None, max_length=1000)
class KnowledgePublishRequest(BaseModel):
keepOpen: bool = False
class KnowledgeStatusRequest(BaseModel):
open: bool
class KnowledgeLifecycleRequest(BaseModel):
status: str = Field(pattern="^(active|archived)$")
class KnowledgeMetadataUpdateRequest(BaseModel):
name: str = Field(min_length=1, max_length=100)
knowledgeType: str = Field(pattern="^(course|qa|general)$")
reviewMode: str = Field(pattern="^(manual|automatic)$")
class KnowledgeBatchMetadataUpdateRequest(BaseModel):
knowledgeIds: list[int] = Field(min_length=1, max_length=500)
knowledgeType: str | None = Field(default=None, pattern="^(course|qa|general)$")
reviewMode: str | None = Field(default=None, pattern="^(manual|automatic)$")
class AttentionUpdateRequest(BaseModel):
status: str = Field(pattern="^(pending|processing|resolved|ignored)$")
note: str | None = Field(default=None, max_length=2000)