# app/modules/cms/routes/api/admin_images.py
"""
Admin image management endpoints.

Provides:
- Storage statistics (delegates to MediaService)
"""

import logging

from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session

from app.api.deps import get_current_admin_api
from app.core.database import get_db
from app.modules.cms.schemas.image import ImageStorageStats
from app.modules.cms.services.media_service import media_service
from app.modules.tenancy.schemas.auth import UserContext

admin_images_router = APIRouter(prefix="/images")
logger = logging.getLogger(__name__)


@admin_images_router.get("/stats", response_model=ImageStorageStats)
async def get_storage_stats(
    current_admin: UserContext = Depends(get_current_admin_api),
    db: Session = Depends(get_db),
):
    """Get image storage statistics.

    Returns:
        Storage metrics including file counts, sizes, and directory info
    """
    stats = media_service.get_storage_stats(db)
    return ImageStorageStats(**stats)
