40 lines
1.9 KiB
Python
40 lines
1.9 KiB
Python
|
|
from pydantic import BaseModel, Field
|
|||
|
|
from typing import Optional, List
|
|||
|
|
|
|||
|
|
|
|||
|
|
class TestPermissionPageQueryModel(BaseModel):
|
|||
|
|
"""测试权限配置分页查询模型"""
|
|||
|
|
page_num: int = Field(1, ge=1, description='页码')
|
|||
|
|
page_size: int = Field(10, ge=1, le=100, description='每页数量')
|
|||
|
|
user_id: Optional[int] = Field(None, description='用户ID')
|
|||
|
|
test_category_id: Optional[int] = Field(None, description='测试类别ID')
|
|||
|
|
permission_type: Optional[str] = Field(None, description='权限类型')
|
|||
|
|
|
|||
|
|
|
|||
|
|
class AddTestPermissionModel(BaseModel):
|
|||
|
|
"""新增测试权限配置模型"""
|
|||
|
|
user_id: int = Field(..., description='用户ID')
|
|||
|
|
eut_type_id: Optional[int] = Field(None, description='产品类型ID')
|
|||
|
|
test_category_id: Optional[int] = Field(None, description='测试类别ID')
|
|||
|
|
permission_type: str = Field('TESTER', description='权限类型')
|
|||
|
|
can_claim: bool = Field(True, description='是否可领取')
|
|||
|
|
max_concurrent: int = Field(5, ge=1, le=20, description='最大并行数')
|
|||
|
|
priority_weight: int = Field(1, ge=1, le=10, description='优先级权重')
|
|||
|
|
|
|||
|
|
|
|||
|
|
class EditTestPermissionModel(BaseModel):
|
|||
|
|
"""编辑测试权限配置模型"""
|
|||
|
|
id: int = Field(..., description='权限ID')
|
|||
|
|
user_id: int = Field(..., description='用户ID')
|
|||
|
|
eut_type_id: Optional[int] = Field(None, description='产品类型ID')
|
|||
|
|
test_category_id: Optional[int] = Field(None, description='测试类别ID')
|
|||
|
|
permission_type: str = Field('TESTER', description='权限类型')
|
|||
|
|
can_claim: bool = Field(True, description='是否可领取')
|
|||
|
|
max_concurrent: int = Field(5, ge=1, le=20, description='最大并行数')
|
|||
|
|
priority_weight: int = Field(1, ge=1, le=10, description='优先级权重')
|
|||
|
|
|
|||
|
|
|
|||
|
|
class DeleteTestPermissionModel(BaseModel):
|
|||
|
|
"""删除测试权限配置模型"""
|
|||
|
|
ids: str = Field(..., description='权限ID列表,逗号分隔')
|