48 lines
852 B
Python
48 lines
852 B
Python
from enum import Enum
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel, constr
|
|
|
|
RoleIDRegex = constr(regex=r"^ROLE\d{2}$")
|
|
|
|
|
|
class PtypeEnum(Enum):
|
|
enum1 = "p"
|
|
enum2 = "g"
|
|
enum3 = "g2"
|
|
|
|
|
|
class CreateRolePolicyReqBody(BaseModel):
|
|
module: str = "模块"
|
|
pname: str = "功能"
|
|
ptype: PtypeEnum
|
|
v0: str = "sub 角色"
|
|
v1: str = "obj 资源"
|
|
v2: str = "act 操作"
|
|
|
|
class Config:
|
|
use_enum_values = True
|
|
|
|
|
|
class RolePolicyResBody(BaseModel):
|
|
id: str
|
|
module: str = "模块"
|
|
pname: str = "功能"
|
|
ptype: PtypeEnum
|
|
v0: str = "sub 角色"
|
|
v1: str = "obj 资源"
|
|
v2: str = "act 操作"
|
|
|
|
class Config:
|
|
use_enum_values = True
|
|
|
|
|
|
class CreateReqBody(BaseModel):
|
|
name: str
|
|
|
|
|
|
class RoleFullResBody(BaseModel):
|
|
id: str
|
|
name: str
|
|
raps: List[RolePolicyResBody]
|