dashboard-nanobot/backend/api/image_router.py

32 lines
941 B
Python

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)