| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- from typing import Optional, List, Any, Dict
- from datetime import datetime
- from pydantic import BaseModel
- from enum import Enum
- class ActionType(str, Enum):
- MANUAL_ADD = "MANUAL_ADD"
- DELETE = "DELETE"
- UPDATE = "UPDATE"
- IMPORT = "IMPORT"
- DISABLE = "DISABLE"
- ENABLE = "ENABLE"
- RESET_PASSWORD = "RESET_PASSWORD"
- CHANGE_ROLE = "CHANGE_ROLE"
- TRANSFER = "TRANSFER"
- VIEW_SECRET = "VIEW_SECRET"
- REGENERATE_SECRET = "REGENERATE_SECRET"
- SYNC_M2M = "SYNC_M2M"
- SYNC = "SYNC"
- ORG_CREATE = "ORG_CREATE"
- ORG_UPDATE = "ORG_UPDATE"
- class OperationLogBase(BaseModel):
- app_id: Optional[int] = None
- action_type: ActionType
- target_mobile: Optional[str] = None
- ip_address: Optional[str] = None
- details: Optional[Dict[str, Any]] = None
- class OperationLogCreate(OperationLogBase):
- operator_id: int
- target_user_id: Optional[int] = None
- class OperationLogResponse(OperationLogBase):
- id: int
- operator_id: int
- operator_mobile: Optional[str] = None # Enriched
- target_user_id: Optional[int] = None
- created_at: datetime
- class Config:
- from_attributes = True
- class OperationLogList(BaseModel):
- total: int
- items: List[OperationLogResponse]
|