refacto: reorganize files to easily add an API service

This commit is contained in:
Alexis Fourmaux 2026-05-09 18:21:45 +02:00
parent 5c480db410
commit 9c883a8eca
22 changed files with 26 additions and 23 deletions

31
server/app/consumer.py Normal file
View file

@ -0,0 +1,31 @@
import logging
import sys
import os
from adapters.postgres import connect, PgDeviceRepository, PgReadingRepository
from adapters.mqtt import PahoMqttBroker
from services.uplink_service import UplinkService
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")
DB_URI = os.getenv("DATABASE_URL", "postgresql://simugaz:simugaz@db/simugaz")
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S",
stream=sys.stdout,
force=True,
)
if __name__ == "__main__":
conn = connect(DB_URI)
broker = PahoMqttBroker(MQTT_HOST, MQTT_PORT, MQTT_TOPIC)
devices = PgDeviceRepository(conn)
readings = PgReadingRepository(conn)
uplink = UplinkService(devices, readings)
broker.start(on_uplink=uplink.handle)