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