from sqlalchemy.orm import Session from services.data import DataService from services.upload import UploadService from services.box import BoxService from services.tcgplayer import TCGPlayerService from services.pricing import PricingService from fastapi import Depends from db.database import get_db ## Upload def get_upload_service(db: Session = Depends(get_db)) -> UploadService: """Dependency injection for UploadService""" return UploadService(db) ## box def get_box_service(db: Session = Depends(get_db)) -> BoxService: """Dependency injection for BoxService""" return BoxService(db) ## Pricing def get_pricing_service(db: Session = Depends(get_db)) -> PricingService: """Dependency injection for PricingService""" return PricingService(db) ## tcgplayer def get_tcgplayer_service( db: Session = Depends(get_db), pricing_service: PricingService = Depends(get_pricing_service) ) -> TCGPlayerService: """Dependency injection for TCGPlayerService""" return TCGPlayerService(db, pricing_service) ## Data def get_data_service( db: Session = Depends(get_db), tcgplayer_service: TCGPlayerService = Depends(get_tcgplayer_service) ) -> DataService: """Dependency injection for DataService""" return DataService(db, tcgplayer_service)