diff --git a/chain_service/dependencies/__init__.py b/chain_service/dependencies/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/chain_service/dependencies/chain.py b/chain_service/dependencies/chain.py new file mode 100644 index 0000000..13a0a72 --- /dev/null +++ b/chain_service/dependencies/chain.py @@ -0,0 +1,12 @@ +from .database import get_database +from chain_service.database.database import Database + +from fastapi import Depends +from typing import Annotated +from chain_service.repositories.chain import ChainRepository + + +def get_chain_repository( + database: Annotated[Database, Depends(get_database)] +) -> ChainRepository: + return ChainRepository(database=database) diff --git a/chain_service/dependencies/database.py b/chain_service/dependencies/database.py new file mode 100644 index 0000000..49044b7 --- /dev/null +++ b/chain_service/dependencies/database.py @@ -0,0 +1,10 @@ +from chain_service.settings import Settings +from chain_service.database.database import Database + + +def get_database() -> Database: + settings = Settings() + + return Database( + database_url=settings.database_url, database_name=settings.database_name + )