dashboard-nanobot/backend/api/image_router.py

32 lines
941 B
Python
Raw Normal View History

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