优化“知识库模块“--基本完善
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from typing import Literal, Optional
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
@@ -14,6 +14,7 @@ class CategoryCreate(BaseModel):
|
||||
|
||||
|
||||
class CategoryUpdate(BaseModel):
|
||||
study_id: Optional[uuid.UUID] = None
|
||||
name: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
sort_order: Optional[int] = None
|
||||
@@ -37,21 +38,58 @@ class FaqCreate(BaseModel):
|
||||
study_id: Optional[uuid.UUID] = None
|
||||
category_id: uuid.UUID
|
||||
question: str
|
||||
answer: str
|
||||
keywords: Optional[str] = None
|
||||
answer: Optional[str] = None
|
||||
|
||||
|
||||
class FaqUpdate(BaseModel):
|
||||
question: Optional[str] = None
|
||||
answer: Optional[str] = None
|
||||
keywords: Optional[str] = None
|
||||
is_active: Optional[bool] = None
|
||||
|
||||
|
||||
class FaqStatusUpdate(BaseModel):
|
||||
status: Literal["PENDING", "PROCESSING", "RESOLVED"]
|
||||
|
||||
|
||||
class FaqBestReplyUpdate(BaseModel):
|
||||
best_reply_id: Optional[uuid.UUID] = None
|
||||
|
||||
|
||||
class FaqReplyCreate(BaseModel):
|
||||
content: str
|
||||
quote_reply_id: Optional[uuid.UUID] = None
|
||||
|
||||
|
||||
class FaqReplyQuote(BaseModel):
|
||||
id: uuid.UUID
|
||||
content: str
|
||||
created_by: uuid.UUID
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class FaqReplyRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
faq_id: uuid.UUID
|
||||
study_id: Optional[uuid.UUID]
|
||||
content: str
|
||||
created_by: uuid.UUID
|
||||
created_at: datetime
|
||||
quote_reply_id: Optional[uuid.UUID] = None
|
||||
quote: Optional[FaqReplyQuote] = None
|
||||
is_deleted: bool = False
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class FaqRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
study_id: Optional[uuid.UUID]
|
||||
category_id: uuid.UUID
|
||||
best_reply_id: Optional[uuid.UUID] = None
|
||||
status: Literal["PENDING", "PROCESSING", "RESOLVED"] = "PENDING"
|
||||
resolved_by_confirm: bool = False
|
||||
question: str
|
||||
answer: str
|
||||
keywords: Optional[str]
|
||||
|
||||
Reference in New Issue
Block a user