30 lines
752 B
Python
30 lines
752 B
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 AttentionUpdateRequest(BaseModel):
|
|
status: str = Field(pattern="^(pending|processing|resolved|ignored)$")
|
|
note: str | None = Field(default=None, max_length=2000)
|