kind of a mess lol but file caching and front end

This commit is contained in:
2025-04-17 13:28:49 -04:00
parent 21408af48c
commit 8f35cedb4a
45 changed files with 1435 additions and 1316 deletions

View File

@@ -1,6 +1,5 @@
from fastapi import APIRouter, HTTPException, Depends
from app.services.set_label_service import SetLabelService
from app.services.label_printer_service import LabelPrinterService
from app.services.service_manager import ServiceManager
from typing import List, Optional
import asyncio
from app.db.database import get_db
@@ -10,23 +9,28 @@ from pydantic import BaseModel
class SetLabelRequest(BaseModel):
sets: List[str]
# Initialize service manager
service_manager = ServiceManager()
router = APIRouter(prefix="/set-labels")
set_label_service = SetLabelService()
label_printer_service = LabelPrinterService(printer_api_url="http://192.168.1.110:8000")
@router.post("/generate")
async def generate_set_labels(request: SetLabelRequest):
async def generate_set_labels(request: SetLabelRequest, db: Session = Depends(get_db)):
"""
Generate PDF labels for the specified MTG sets.
Args:
request: Request body containing list of set codes to generate labels for
db: Database session
Returns:
Message indicating success or failure
"""
try:
set_pdfs = await set_label_service.generate_labels(request.sets)
set_label_service = service_manager.get_service('set_label')
label_printer_service = service_manager.get_service('label_printer')
set_pdfs = await set_label_service.generate_labels(db, request.sets)
for set_pdf in set_pdfs:
success = await label_printer_service.print_file(set_pdf, label_size="dk1201", label_type="set_label")
if not success:
@@ -46,6 +50,7 @@ async def get_available_sets(db: Session = Depends(get_db)):
List of set codes and their names
"""
try:
set_label_service = service_manager.get_service('set_label')
sets = await set_label_service.get_available_sets(db)
return sets
except Exception as e: