diff --git a/app/api/v1/marketplace.py b/app/api/v1/marketplace.py index d5b582ae..32f273fa 100644 --- a/app/api/v1/marketplace.py +++ b/app/api/v1/marketplace.py @@ -8,7 +8,7 @@ from app.tasks.background_tasks import process_marketplace_import from middleware.decorators import rate_limit from models.api_models import MarketplaceImportJobResponse, MarketplaceImportRequest from models.database_models import User -from app.services.marketplace_service import MarketplaceService +from app.services.marketplace_service import marketplace_service import logging router = APIRouter() @@ -30,7 +30,7 @@ async def import_products_from_marketplace( f"Starting marketplace import: {request.marketplace} -> {request.shop_code} by user {current_user.username}") # Create import job through service - import_job = MarketplaceService.create_import_job(db, request, current_user) + import_job = marketplace_service.create_import_job(db, request, current_user) # Process in background background_tasks.add_task( @@ -68,8 +68,8 @@ def get_marketplace_import_status( ): """Get status of marketplace import job (Protected)""" try: - job = MarketplaceService.get_import_job_by_id(db, job_id, current_user) - return MarketplaceService.convert_to_response_model(job) + job = marketplace_service.get_import_job_by_id(db, job_id, current_user) + return marketplace_service.convert_to_response_model(job) except ValueError as e: raise HTTPException(status_code=404, detail=str(e)) @@ -91,7 +91,7 @@ def get_marketplace_import_jobs( ): """Get marketplace import jobs with filtering (Protected)""" try: - jobs = MarketplaceService.get_import_jobs( + jobs = marketplace_service.get_import_jobs( db=db, user=current_user, marketplace=marketplace, @@ -100,7 +100,7 @@ def get_marketplace_import_jobs( limit=limit ) - return [MarketplaceService.convert_to_response_model(job) for job in jobs] + return [marketplace_service.convert_to_response_model(job) for job in jobs] except Exception as e: logger.error(f"Error getting import jobs: {str(e)}") @@ -114,7 +114,7 @@ def get_marketplace_import_stats( ): """Get statistics about marketplace import jobs (Protected)""" try: - stats = MarketplaceService.get_job_stats(db, current_user) + stats = marketplace_service.get_job_stats(db, current_user) return stats except Exception as e: @@ -130,8 +130,8 @@ def cancel_marketplace_import_job( ): """Cancel a pending or running marketplace import job (Protected)""" try: - job = MarketplaceService.cancel_import_job(db, job_id, current_user) - return MarketplaceService.convert_to_response_model(job) + job = marketplace_service.cancel_import_job(db, job_id, current_user) + return marketplace_service.convert_to_response_model(job) except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) @@ -150,7 +150,7 @@ def delete_marketplace_import_job( ): """Delete a completed marketplace import job (Protected)""" try: - MarketplaceService.delete_import_job(db, job_id, current_user) + marketplace_service.delete_import_job(db, job_id, current_user) return {"message": "Marketplace import job deleted successfully"} except ValueError as e: diff --git a/app/api/v1/stock.py b/app/api/v1/stock.py index 483b7e74..9b6e3b28 100644 --- a/app/api/v1/stock.py +++ b/app/api/v1/stock.py @@ -9,7 +9,7 @@ from middleware.decorators import rate_limit from models.api_models import (MarketplaceImportJobResponse, MarketplaceImportRequest, StockResponse, StockSummaryResponse, StockCreate, StockAdd, StockUpdate) from models.database_models import User, MarketplaceImportJob, Shop -from app.services.stock_service import StockService +from app.services.stock_service import stock_service import logging router = APIRouter() @@ -26,7 +26,7 @@ def set_stock( ): """Set exact stock quantity for a GTIN at a specific location (replaces existing quantity)""" try: - result = StockService.set_stock(db, stock) + result = stock_service.set_stock(db, stock) return result except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) @@ -43,7 +43,7 @@ def add_stock( ): """Add quantity to existing stock for a GTIN at a specific location (adds to existing quantity)""" try: - result = StockService.add_stock(db, stock) + result = stock_service.add_stock(db, stock) return result except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) @@ -60,7 +60,7 @@ def remove_stock( ): """Remove quantity from existing stock for a GTIN at a specific location""" try: - result = StockService.remove_stock(db, stock) + result = stock_service.remove_stock(db, stock) return result except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) @@ -77,7 +77,7 @@ def get_stock_by_gtin( ): """Get all stock locations and total quantity for a specific GTIN""" try: - result = StockService.get_stock_by_gtin(db, gtin) + result = stock_service.get_stock_by_gtin(db, gtin) return result except ValueError as e: raise HTTPException(status_code=404, detail=str(e)) @@ -94,7 +94,7 @@ def get_total_stock( ): """Get total quantity in stock for a specific GTIN""" try: - result = StockService.get_total_stock(db, gtin) + result = stock_service.get_total_stock(db, gtin) return result except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) @@ -114,7 +114,7 @@ def get_all_stock( ): """Get all stock entries with optional filtering""" try: - result = StockService.get_all_stock( + result = stock_service.get_all_stock( db=db, skip=skip, limit=limit, @@ -136,7 +136,7 @@ def update_stock( ): """Update stock quantity for a specific stock entry""" try: - result = StockService.update_stock(db, stock_id, stock_update) + result = stock_service.update_stock(db, stock_id, stock_update) return result except ValueError as e: raise HTTPException(status_code=404, detail=str(e)) @@ -153,7 +153,7 @@ def delete_stock( ): """Delete a stock entry""" try: - StockService.delete_stock(db, stock_id) + stock_service.delete_stock(db, stock_id) return {"message": "Stock entry deleted successfully"} except ValueError as e: raise HTTPException(status_code=404, detail=str(e)) diff --git a/app/services/marketplace_service.py b/app/services/marketplace_service.py index 0a790b73..d9d72666 100644 --- a/app/services/marketplace_service.py +++ b/app/services/marketplace_service.py @@ -39,7 +39,8 @@ class MarketplaceService: status="pending", source_url=request.url, marketplace=request.marketplace, - shop_code=request.shop_code, + shop_id=shop.id, # Foreign key to shops table + shop_name=shop.shop_name, # Use shop.shop_name (the display name) user_id=user.id, created_at=datetime.utcnow() ) @@ -49,7 +50,7 @@ class MarketplaceService: db.refresh(import_job) logger.info( - f"Created marketplace import job {import_job.id}: {request.marketplace} -> {request.shop_code} by user {user.username}") + f"Created marketplace import job {import_job.id}: {request.marketplace} -> {shop.shop_name} (shop_code: {shop.shop_code}) by user {user.username}") return import_job