nex_basse/backend/app/schemas/permission.py

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