feat: Expose API endpoint for retrieving history thumbnails

This commit is contained in:
Simon Cordt
2025-09-24 10:54:12 +02:00
parent f66040e0fc
commit 1ee0f5dcd7
+12
View File
@@ -363,6 +363,7 @@ class PersistentQueueManager:
app.add_routes([
web.get('/api/pqueue', self._api_get_pqueue),
web.get('/api/pqueue/history', self._api_get_history),
web.get('/api/pqueue/history/thumb/{history_id:\\d+}', self._api_get_history_thumb),
web.get('/api/pqueue/preview', self._api_preview_image),
web.post('/api/pqueue/pause', self._api_pause),
web.post('/api/pqueue/resume', self._api_resume),
@@ -373,6 +374,17 @@ class PersistentQueueManager:
except Exception as e:
logging.debug(f"PersistentQueue add routes failed: {e}")
async def _api_get_history_thumb(self, request: web.Request) -> web.Response:
try:
history_id = int(request.match_info.get('history_id', '0'))
idx = int(request.rel_url.query.get('idx', '0'))
row = self.db.get_history_thumbnail(history_id, idx)
if not row:
return web.Response(status=404)
return web.Response(body=row['data'], content_type=row.get('mime') or 'image/webp')
except Exception:
return web.Response(status=500)
async def _api_preview_image(self, request: web.Request) -> web.Response:
try:
filename = request.rel_url.query.get('filename')