| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from pydantic import BaseModel
- from typing import Optional, Any
- from datetime import datetime
- class OperationLogItem(BaseModel):
- id: int
- admin_id: int
- admin_username: Optional[str] = None
- operation_type: str
- module: str
- target_id: Optional[str] = None
- detail: Optional[Any] = None
- ip_address: Optional[str] = None
- created_at: datetime
-
- class Config:
- from_attributes = True
- class LoginLogItem(BaseModel):
- id: int
- user_id: str
- username: Optional[str] = None
- user_type: str
- login_result: str
- fail_reason: Optional[str] = None
- ip_address: Optional[str] = None
- user_agent: Optional[str] = None
- created_at: datetime
-
- class Config:
- from_attributes = True
- class APILogItem(BaseModel):
- id: int
- user_id: Optional[str] = None
- username: Optional[str] = None
- api_path: str
- request_method: str
- request_params: Optional[Any] = None
- response_status: Optional[int] = None
- response_time: Optional[int] = None
- created_at: datetime
-
- class Config:
- from_attributes = True
- class LogListResponse(BaseModel):
- code: int = 0
- message: str = "success"
- data: dict # {items: [], total: int, page: int, size: int}
- class LogExportResponse(BaseModel):
- code: int = 0
- message: str = "success"
- data: dict # {download_url: str}
|