from fastapi import APIRouter, HTTPException

from ...models.image import Image
from ...services.image_service import get_image, get_all_images
from ...schemas.image import ImageListResponse, ImageUpdate

router = APIRouter()


@router.get("/", response_model=ImageListResponse)
async def list_images():
    images = await get_all_images()
    return ImageListResponse(
        total=len(images),
        images=images
    )


@router.get("/{image_id}", response_model=ImageUpdate)
async def get_image_details(image_id: str):
    image = await get_image(image_id)
    if image:
        return image
    raise HTTPException(status_code=404, detail="Image not found")
