eggacheb's picture
Upload 97 files
21db53c verified
from app.Services.lifespan_service import LifespanService
from app.Services.storage.base import BaseStorage
from app.Services.storage.disabled_storage import DisabledStorage
from app.Services.storage.local_storage import LocalStorage
from app.Services.storage.s3_compatible_storage import S3Storage
from app.config import config, StorageMode
class StorageService(LifespanService):
def __init__(self):
self.active_storage = None
match config.storage.method:
case StorageMode.LOCAL:
self.active_storage = LocalStorage()
case StorageMode.S3:
self.active_storage = S3Storage()
case StorageMode.DISABLED:
self.active_storage = DisabledStorage()
case _:
raise NotImplementedError(f"Storage method {config.storage.method} not implemented. "
f"Available methods: local, s3")
async def on_load(self):
await self.active_storage.on_load()
async def on_exit(self):
await self.active_storage.on_exit()