approval/app/schemas/feishu_external.py

44 lines
1003 B
Python

from __future__ import annotations
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
class FeishuExternalQueryFilter(BaseModel):
key: str
value: Any
class FeishuExternalQueryRequest(BaseModel):
keyword: Optional[str] = ""
page: int = 1
page_size: int = Field(default=20, alias="pageSize")
key: Optional[str] = None
user_id: Optional[str] = None
employee_id: Optional[str] = None
token: Optional[str] = None
linkage_params: Dict[str, Any] = {}
page_token: Optional[str] = None
query: Optional[str] = None
locale: Optional[str] = None
filters: List[FeishuExternalQueryFilter] = []
raw: Dict[str, Any] = {}
class Config:
extra = "allow"
class FeishuExternalItem(BaseModel):
id: str
label: str
value: str
extra: Dict[str, Any] = {}
class FeishuExternalQueryResponse(BaseModel):
code: int = 0
msg: str = "ok"
total: int = 0
data: List[FeishuExternalItem] = []