kind of a mess lol but file caching and front end
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user