from typing import Dict from fastapi import APIRouter, Depends from sqlmodel import Session from core.database import get_session from services.image_service import ( delete_registered_image, list_docker_images_by_repository, list_registered_images, register_image as register_image_record, ) router = APIRouter() @router.get("/api/images") def list_images(session: Session = Depends(get_session)): return list_registered_images(session) @router.delete("/api/images/{tag:path}") def delete_image(tag: str, session: Session = Depends(get_session)): return delete_registered_image(session, tag=tag) @router.get("/api/docker-images") def list_docker_images(repository: str = "nanobot-base"): return list_docker_images_by_repository(repository) @router.post("/api/images/register") def register_image(payload: dict, session: Session = Depends(get_session)): return register_image_record(session, payload)