46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
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)
|
|
|