from typing import List from pydantic import BaseModel, constr RoleIDRegex = constr(regex=r"^ROLE\d{2}$") PtypeRegex = constr(regex="p") class CreateRolePolicyReqBody(BaseModel): module: str = "模块" ptype: PtypeRegex sub: str = "sub 角色" obj: str = "obj 资源" act: str = "act 操作" class Config: use_enum_values = True class RoleAccessPolicyResBody(BaseModel): ptype: PtypeRegex sub: str = "sub 角色" obj: str = "obj 资源" act: str = "act 操作" class Config: use_enum_values = True class RolePolicyResBody(BaseModel): id: str module: str = "模块" ptype: PtypeRegex sub: str = "sub 角色" obj: str = "obj 资源" act: str = "act 操作" class Config: use_enum_values = True class CreateReqBody(BaseModel): name: str class RoleFullResBody(BaseModel): id: str name: str raps: List[RolePolicyResBody]