Files
backend-python/template/{{ part_dir }}/src/{% if use_dishka %}dependencies{% endif %}/providers/{% if dynamic_config %}config.py{% endif %}.jinja
T

22 lines
574 B
Django/Jinja

{% if database == 'postgres' -%}
from dishka import Provider, Scope, provide
from utils.db.repositories import ConfigRepository
class ConfigProvider(Provider):
config_repository = provide(ConfigRepository, scope=Scope.APP)
{%- else -%}
from collections.abc import AsyncGenerator
from dishka import Provider, Scope, provide
from utils.db.models import DynamicConfig
class ConfigProvider(Provider):
@provide(scope=Scope.REQUEST)
async def provide_config(self) -> AsyncGenerator[DynamicConfig]:
yield await DynamicConfig.get_or_create()
{%- endif %}