agreg-server/app/consumer/src/services/uplink_service.py

19 lines
640 B
Python
Raw Normal View History

import logging
from ports import DeviceRepository, ReadingRepository
from entities import UplinkEvent
log = logging.getLogger(__name__)
class UplinkService:
def __init__(self, devices: DeviceRepository, readings: ReadingRepository):
self._devices = devices
self._readings = readings
def handle(self, event: UplinkEvent) -> None:
device_id = self._devices.get_or_create_device_id(event.dev_eui)
self._readings.insert_reading(device_id, event.pulse_count)
log.info(
"[UP] dev_eui=%s | device_id=%s | pulses=%d",
event.dev_eui, device_id, event.pulse_count
)