50 lines
943 B
Python
50 lines
943 B
Python
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]
|