32 lines
941 B
Python
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)
|