Files
ai-image/app/routers/api_gallery.py
T

35 lines
943 B
Python

"""画廊 API。"""
from __future__ import annotations
from fastapi import APIRouter, HTTPException
from ..services import gallery as svc
from ..providers import ProviderError
router = APIRouter(prefix="/api/galleries", tags=["gallery"])
@router.get("")
def list_galleries():
return svc.list_galleries()
@router.get("/{profile_name}")
def list_gallery(profile_name: str):
try:
return svc.list_gallery(profile_name)
except ProviderError as exc:
raise HTTPException(status_code=exc.status, detail=exc.message)
@router.delete("/{profile_name}/{filename}")
def delete_gallery_item(profile_name: str, filename: str):
try:
svc.delete_gallery_item(profile_name, filename)
except FileNotFoundError as exc:
raise HTTPException(status_code=404, detail=str(exc))
except ProviderError as exc:
raise HTTPException(status_code=exc.status, detail=exc.message)
return {"ok": True}