8f307aecba
- GET /api/document-types: returns {id, name, code} from
leaudit_document_types, with optional ?ids=1,2,3 filter
- GET /api/documents/list: added userId, dateFrom, dateTo
query params for filtering by uploading user and date range
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
"""文档服务接口。"""
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from fastapi_modules.fastapi_leaudit.domian.vo.documentVo import DocumentListPageVO, DocumentTypeItemVO, DocumentUploadVO
|
|
|
|
|
|
class IDocumentService(ABC):
|
|
"""文档服务接口。"""
|
|
|
|
@abstractmethod
|
|
async def Upload(
|
|
self,
|
|
FileName: str,
|
|
FileContent: bytes,
|
|
ContentType: str | None,
|
|
TypeId: int | None = None,
|
|
TypeCode: str | None = None,
|
|
Region: str = "default",
|
|
FileRole: str = "primary",
|
|
CreatedBy: int | None = None,
|
|
AutoRun: bool = False,
|
|
Speed: str = "normal",
|
|
) -> DocumentUploadVO:
|
|
"""上传文档并建立 LeAudit document/file 记录。"""
|
|
...
|
|
|
|
@abstractmethod
|
|
async def ListDocuments(
|
|
self,
|
|
Page: int = 1,
|
|
PageSize: int = 20,
|
|
Keyword: str | None = None,
|
|
TypeCode: str | None = None,
|
|
Region: str | None = None,
|
|
ProcessingStatus: str | None = None,
|
|
ResultStatus: str | None = None,
|
|
UserId: int | None = None,
|
|
DateFrom: str | None = None,
|
|
DateTo: str | None = None,
|
|
) -> DocumentListPageVO:
|
|
"""获取文档列表(仅最新版本,附历史版本摘要)。"""
|
|
...
|
|
|
|
@abstractmethod
|
|
async def ListDocumentTypes(self, Ids: list[int] | None = None) -> list[DocumentTypeItemVO]:
|
|
"""获取文档类型列表。"""
|
|
...
|