agreg-server/server/app/dependencies.py

35 lines
1 KiB
Python
Raw Normal View History

2026-05-10 12:36:38 +02:00
import os
from adapters.postgres import PgDeviceRepository, PgReadingRepository
2026-05-10 12:36:38 +02:00
from adapters.postgres_query import PgReadingQueryRepository
from adapters.mqtt import PahoMqttBroker
from services.uplink_service import UplinkService
2026-05-10 12:36:38 +02:00
from services.consumption_service import ConsumptionService
MQTT_HOST = os.getenv("MQTT_HOST", "mosquitto")
MQTT_PORT = int(os.getenv("MQTT_PORT", 1883))
MQTT_TOPIC = os.getenv("MQTT_TOPIC", "application/+/device/+/event/up")
2026-05-10 12:36:38 +02:00
## Repositories
def get_device_repo() -> PgDeviceRepository:
return PgDeviceRepository()
def get_reading_repo() -> PgReadingRepository:
return PgReadingRepository()
2026-05-10 12:36:38 +02:00
def get_query_repo() -> PgReadingQueryRepository:
return PgReadingQueryRepository()
2026-05-10 12:36:38 +02:00
## Services
def get_uplink_service() -> UplinkService:
return UplinkService(get_device_repo(), get_reading_repo())
2026-05-10 12:36:38 +02:00
def get_consumption_service() -> ConsumptionService:
return ConsumptionService(get_query_repo())
## Adapters
def get_mqtt_broker() -> PahoMqttBroker:
return PahoMqttBroker(MQTT_HOST, MQTT_PORT, MQTT_TOPIC)