2026-05-09 03:04:09 +00:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2026-05-09 04:25:30 +00:00
|
|
|
from typing import Any
|
|
|
|
|
|
2026-05-09 03:04:09 +00:00
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeFolderRead(BaseModel):
|
|
|
|
|
name: str
|
|
|
|
|
count: int
|
|
|
|
|
icon: str = "mdi mdi-folder"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgePreviewStatRead(BaseModel):
|
|
|
|
|
label: str
|
|
|
|
|
value: str
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgePreviewBlockRead(BaseModel):
|
|
|
|
|
heading: str
|
|
|
|
|
lines: list[str] = Field(default_factory=list)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgePreviewPageRead(BaseModel):
|
|
|
|
|
title: str
|
|
|
|
|
subtitle: str
|
|
|
|
|
stats: list[KnowledgePreviewStatRead] = Field(default_factory=list)
|
|
|
|
|
blocks: list[KnowledgePreviewBlockRead] = Field(default_factory=list)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeDocumentRead(BaseModel):
|
|
|
|
|
id: str
|
|
|
|
|
name: str
|
|
|
|
|
folder: str
|
|
|
|
|
tag: str
|
|
|
|
|
time: str
|
|
|
|
|
version: str
|
|
|
|
|
state: str
|
|
|
|
|
stateTone: str
|
|
|
|
|
owner: str
|
|
|
|
|
icon: str
|
|
|
|
|
fileType: str
|
|
|
|
|
fileTypeLabel: str
|
|
|
|
|
summary: str
|
|
|
|
|
mimeType: str
|
|
|
|
|
extension: str
|
|
|
|
|
sizeBytes: int
|
|
|
|
|
canPreview: bool = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeDocumentDetailRead(KnowledgeDocumentRead):
|
|
|
|
|
previewKind: str
|
|
|
|
|
previewPages: list[KnowledgePreviewPageRead] = Field(default_factory=list)
|
|
|
|
|
|
|
|
|
|
|
2026-05-09 04:25:30 +00:00
|
|
|
class KnowledgeOnlyOfficeConfigRead(BaseModel):
|
|
|
|
|
documentServerUrl: str
|
|
|
|
|
config: dict[str, Any] = Field(default_factory=dict)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeOnlyOfficeCallbackRead(BaseModel):
|
|
|
|
|
error: int = 0
|
|
|
|
|
|
|
|
|
|
|
2026-05-09 03:04:09 +00:00
|
|
|
class KnowledgeLibraryRead(BaseModel):
|
|
|
|
|
folders: list[KnowledgeFolderRead] = Field(default_factory=list)
|
|
|
|
|
documents: list[KnowledgeDocumentRead] = Field(default_factory=list)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeActionResponse(BaseModel):
|
|
|
|
|
ok: bool = True
|
|
|
|
|
detail: str
|