| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- from fastapi import APIRouter, Depends, HTTPException, Request, UploadFile, File
- from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
- from typing import Optional, List
- from datetime import datetime, timezone
- from pydantic import BaseModel, Field
- from typing import Optional, Any, Union
- class BatchEnterRequest(BaseModel):
- ids: list[Union[int, str]]
- table_type: Optional[str] = None
- kb_method: Optional[str] = None
- chunk_size: Optional[int] = Field(500, description="切分长度")
- separator: Optional[str] = Field("。", description="切分符号")
- class BatchDeleteRequest(BaseModel):
- ids: list[Union[int, str]]
- table_type: Optional[str] = None
- class ConvertRequest(BaseModel):
- id: Union[int, str]
- table_type: Optional[str] = None
- class DocumentAdd(BaseModel):
- title: str
- note: Optional[str] = None
- primary_category_id: Optional[Any] = None
- secondary_category_id: Optional[Any] = None
- year: Optional[int] = None
- table_type: Optional[str] = "standard"
- # 新增编辑需要的字段
- id: Optional[str] = None
- # 扩展字段 (子表特有属性)
- standard_no: Optional[str] = None
- issuing_authority: Optional[str] = None
- release_date: Optional[str] = None
- document_type: Optional[str] = None
- professional_field: Optional[str] = None
- validity: Optional[str] = None
- project_name: Optional[str] = None
- project_section: Optional[str] = None
- compilation_basis: Optional[str] = None
- plan_summary: Optional[str] = None
- plan_category: Optional[str] = None
- level_1_classification: Optional[str] = "施工方案"
- level_2_classification: Optional[str] = None
- level_3_classification: Optional[str] = None
- level_4_classification: Optional[str] = None
- # 更多基础信息字段
- english_name: Optional[str] = None
- implementation_date: Optional[str] = None
- drafting_unit: Optional[str] = None
- approving_department: Optional[str] = None
- engineering_phase: Optional[str] = None
- participating_units: Optional[str] = None
- reference_basis: Optional[str] = None
- source_url: Optional[str] = None
- effective_start_date: Optional[str] = None
- effective_end_date: Optional[str] = None
- # 文件相关字段
- file_url: Optional[str] = None
- json_url: Optional[str] = None
- file_extension: Optional[str] = None
- kb_id: str
-
- class DocumentListRequest(BaseModel):
- page: int = 1
- size: int = 50
- keyword: Optional[str] = None
- table_type: Optional[str] = None
- whether_to_enter: Optional[int] = None
- class UploadUrlRequest(BaseModel):
- filename: str
- content_type: str
- prefix: Optional[str] = None
- class UploadUrlResponse(BaseModel):
- upload_url: str
- file_url: str
- object_name: str
|