from pydantic import BaseModel from typing import Optional from datetime import datetime class Permission(BaseModel): id: int module: str action: str description: Optional[str] class PermissionGroup(BaseModel): id: int name: str description: Optional[str] is_superuser: bool created_at: datetime class PermissionGroupCreate(BaseModel): name: str description: Optional[str] = None is_superuser: bool = False class GroupPermissionAssign(BaseModel): permission_ids: list[int] class UserGroupAssign(BaseModel): user_id: int group_id: int