From ebbea84a4c2c7dbcaebb06c7bd7fef3e7eff003e Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 8 Oct 2025 10:47:18 +0200 Subject: [PATCH] Fixed acknowledgments --- src/alpine_bits_python/alpine_bits_helpers.py | 7 +------ src/alpine_bits_python/alpinebits_server.py | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/alpine_bits_python/alpine_bits_helpers.py b/src/alpine_bits_python/alpine_bits_helpers.py index 0d82cf9..6d367f6 100644 --- a/src/alpine_bits_python/alpine_bits_helpers.py +++ b/src/alpine_bits_python/alpine_bits_helpers.py @@ -658,12 +658,7 @@ def _process_single_reservation( else: raise ValueError("Unsupported message type: %s", message_type.value) - unique_id_str = reservation.unique_id - - # TODO MAGIC shortening - if len(unique_id_str) > 32: - # strip to first 35 chars - unique_id_str = unique_id_str[:32] + unique_id_str = reservation.md5_unique_id # UniqueID unique_id = UniqueId(type_value=UniqueIdType2.VALUE_14, id=unique_id_str) diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index 7642492..bb3b4a0 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -21,12 +21,19 @@ from xsdata.formats.dataclass.serializers.config import SerializerConfig from xsdata_pydantic.bindings import XmlParser, XmlSerializer from alpine_bits_python.alpine_bits_helpers import ( - create_res_notif_push_message, create_res_retrieve_response) + create_res_notif_push_message, + create_res_retrieve_response, +) from .db import AckedRequest, Customer, Reservation -from .generated.alpinebits import (OtaNotifReportRq, OtaNotifReportRs, - OtaPingRq, OtaPingRs, OtaReadRq, - WarningStatus) +from .generated.alpinebits import ( + OtaNotifReportRq, + OtaNotifReportRs, + OtaPingRq, + OtaPingRs, + OtaReadRq, + WarningStatus, +) # Configure logging logging.basicConfig(level=logging.INFO) @@ -518,7 +525,7 @@ class ReadAction(AlpineBitsAction): select(Reservation.id) .join( AckedRequest, - Reservation.unique_id.like(str(AckedRequest.unique_id) + "%"), + Reservation.md5_unique_id == AckedRequest.unique_id, ) .filter(AckedRequest.client_id == client_info.client_id) )