63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
"""CRM 客户公海池规则 Pydantic Schemas"""
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class PoolRuleListBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
page: int = Field(default=1, ge=1)
|
|
pageSize: int = Field(default=10, ge=1, le=100)
|
|
poolName: Optional[str] = Field(default=None)
|
|
ruleType: Optional[str] = Field(default=None)
|
|
status: Optional[str] = Field(default=None)
|
|
|
|
|
|
class PoolRuleDetailBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
id: str = Field(...)
|
|
|
|
|
|
class PoolRuleAddBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
poolName: str = Field(..., min_length=1)
|
|
ruleType: str = Field(..., min_length=1)
|
|
timeoutDays: int = Field(..., ge=1)
|
|
protectDays: int = Field(default=0, ge=0)
|
|
status: Optional[str] = Field(default="enable")
|
|
sort: Optional[int] = Field(default=0)
|
|
remark: Optional[str] = Field(default=None)
|
|
|
|
|
|
class PoolRuleUpdateBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
id: str = Field(...)
|
|
poolName: Optional[str] = Field(default=None)
|
|
ruleType: Optional[str] = Field(default=None)
|
|
timeoutDays: Optional[int] = Field(default=None, ge=1)
|
|
protectDays: Optional[int] = Field(default=None, ge=0)
|
|
status: Optional[str] = Field(default=None)
|
|
sort: Optional[int] = Field(default=None)
|
|
remark: Optional[str] = Field(default=None)
|
|
|
|
|
|
class PoolRuleDeleteBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
ids: list[str] = Field(..., min_length=1)
|
|
|
|
|
|
class PoolRuleUpdateStatusBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
id: str = Field(...)
|
|
status: str = Field(...)
|
|
|
|
|
|
class PoolRuleExecuteBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|