from pydantic import BaseModel
from datetime import datetime
from typing import Optional, Any, Dict, List
from app.models.security import ActionStatus

class PendingActionResponse(BaseModel):
    id: int
    requester_id: int
    action_type: str
    payload: Dict[str, Any]
    reason: str
    status: ActionStatus
    created_at: datetime
    expires_at: datetime

    class Config:
        from_attributes = True

class ActionApproveRequest(BaseModel):
    # Itt akár extra jelszót vagy MFA tokent is kérhetnénk a jövőben
    comment: Optional[str] = None

class SecurityStatusResponse(BaseModel):
    total_pending: int
    critical_logs_last_24h: int
    emergency_locks_active: int