"""Schemas for encryption key API.""" from datetime import datetime from typing import List, Optional from pydantic import BaseModel class EncryptionKeyResponse(BaseModel): """Response schema for encryption key (without actual key data).""" id: str algorithm: str is_active: bool created_at: datetime rotated_at: Optional[datetime] = None class Config: from_attributes = True class EncryptionKeyListResponse(BaseModel): """Response schema for list of encryption keys.""" keys: List[EncryptionKeyResponse] total: int class EncryptionKeyCreateResponse(BaseModel): """Response schema after creating a new encryption key.""" id: str algorithm: str is_active: bool created_at: datetime message: str class EncryptionKeyRotateResponse(BaseModel): """Response schema after key rotation.""" new_key_id: str old_key_id: Optional[str] message: str class EncryptionStatusResponse(BaseModel): """Response schema for encryption status.""" encryption_available: bool active_key_id: Optional[str] total_keys: int message: str