52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
from pydantic import BaseModel
|
|
from typing import Any
|
|
|
|
|
|
class PermissionOut(BaseModel):
|
|
perm_id: int
|
|
parent_id: int | None
|
|
name: str
|
|
code: str
|
|
perm_type: str
|
|
level: int
|
|
path: str | None = None
|
|
component: str | None = None
|
|
icon: str | None = None
|
|
sort_order: int
|
|
is_visible: bool
|
|
status: int
|
|
meta: dict[str, Any] | None = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class PermissionCreate(BaseModel):
|
|
parent_id: int | None = None
|
|
name: str
|
|
code: str
|
|
perm_type: str
|
|
level: int
|
|
path: str | None = None
|
|
icon: str | None = None
|
|
sort_order: int = 0
|
|
is_visible: bool = True
|
|
status: int = 1
|
|
description: str | None = None
|
|
meta: dict[str, Any] | None = None
|
|
|
|
|
|
class PermissionUpdate(BaseModel):
|
|
parent_id: int | None = None
|
|
name: str | None = None
|
|
code: str | None = None
|
|
perm_type: str | None = None
|
|
level: int | None = None
|
|
path: str | None = None
|
|
icon: str | None = None
|
|
sort_order: int | None = None
|
|
is_visible: bool | None = None
|
|
status: int | None = None
|
|
description: str | None = None
|
|
meta: dict[str, Any] | None = None
|