feat: restore source parity and harden agent runtime
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
电子签章Schema定义
|
||||
"""
|
||||
from datetime import datetime
|
||||
from typing import Optional, List
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
|
||||
|
||||
class ElectronicSealBase(BaseModel):
|
||||
"""电子签章基础Schema"""
|
||||
name: str = Field(..., min_length=1, max_length=100, description="签章名称")
|
||||
seal_type: str = Field(..., description="类型: company/department/personal/contract/finance")
|
||||
description: Optional[str] = Field(default="", description="描述")
|
||||
|
||||
seal_image_id: str = Field(..., description="签章图片文件ID")
|
||||
|
||||
owner_type: str = Field(default="all", description="所有者类型: all/dept/role/user")
|
||||
owner_ids: Optional[List[str]] = Field(default=None, description="所有者ID列表")
|
||||
|
||||
scope: str = Field(default="all", description="使用范围: all/specific")
|
||||
allowed_template_ids: Optional[List[str]] = Field(default=None, description="允许使用的模板ID列表")
|
||||
|
||||
width: int = Field(default=120, ge=20, le=500, description="宽度(像素)")
|
||||
height: int = Field(default=120, ge=20, le=500, description="高度(像素)")
|
||||
|
||||
|
||||
class ElectronicSealCreate(ElectronicSealBase):
|
||||
"""创建电子签章"""
|
||||
pass
|
||||
|
||||
|
||||
class ElectronicSealUpdate(BaseModel):
|
||||
"""更新电子签章"""
|
||||
name: Optional[str] = Field(default=None, max_length=100, description="签章名称")
|
||||
description: Optional[str] = Field(default=None, description="描述")
|
||||
|
||||
seal_image_id: Optional[str] = Field(default=None, description="签章图片文件ID")
|
||||
|
||||
owner_type: Optional[str] = Field(default=None, description="所有者类型")
|
||||
owner_ids: Optional[List[str]] = Field(default=None, description="所有者ID列表")
|
||||
|
||||
scope: Optional[str] = Field(default=None, description="使用范围")
|
||||
allowed_template_ids: Optional[List[str]] = Field(default=None, description="允许使用的模板ID列表")
|
||||
|
||||
width: Optional[int] = Field(default=None, description="宽度")
|
||||
height: Optional[int] = Field(default=None, description="高度")
|
||||
|
||||
status: Optional[str] = Field(default=None, description="状态")
|
||||
|
||||
|
||||
class ElectronicSealOut(ElectronicSealBase):
|
||||
"""电子签章输出"""
|
||||
id: str
|
||||
status: str = "active"
|
||||
seal_image_url: Optional[str] = None
|
||||
sys_create_datetime: Optional[datetime] = None
|
||||
sys_update_datetime: Optional[datetime] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class SealUsageLogOut(BaseModel):
|
||||
"""签章使用记录输出"""
|
||||
id: str
|
||||
seal_id: str
|
||||
seal_name: Optional[str] = None
|
||||
document_id: str
|
||||
document_name: Optional[str] = None
|
||||
user_id: str
|
||||
user_name: Optional[str] = None
|
||||
position_x: int = 0
|
||||
position_y: int = 0
|
||||
page_number: int = 1
|
||||
sys_create_datetime: Optional[datetime] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user