47 lines
1008 B
Python
47 lines
1008 B
Python
from pydantic import BaseModel, Field
|
|
|
|
|
|
class RoleCreate(BaseModel):
|
|
code: str = Field(min_length=1, max_length=60)
|
|
name: str = Field(min_length=1, max_length=80)
|
|
description: str | None = None
|
|
permission_codes: list[str] = []
|
|
|
|
|
|
class RoleUpdate(BaseModel):
|
|
name: str | None = None
|
|
description: str | None = None
|
|
permission_codes: list[str] | None = None
|
|
|
|
|
|
class RoleResponse(BaseModel):
|
|
id: int
|
|
code: str
|
|
name: str
|
|
description: str | None
|
|
user_count: int
|
|
permission_codes: list[str]
|
|
|
|
|
|
class PermissionCreate(BaseModel):
|
|
code: str = Field(min_length=1, max_length=120)
|
|
name: str = Field(min_length=1, max_length=120)
|
|
module: str = Field(min_length=1, max_length=60)
|
|
|
|
|
|
class PermissionUpdate(BaseModel):
|
|
name: str | None = None
|
|
module: str | None = None
|
|
|
|
|
|
class PermissionResponse(BaseModel):
|
|
id: int
|
|
code: str
|
|
name: str
|
|
module: str
|
|
|
|
|
|
class PermissionGroup(BaseModel):
|
|
module: str
|
|
items: list[PermissionResponse]
|