diff --git a/src/c3nav/mesh/api.py b/src/c3nav/mesh/api.py index dfd65fab..a7f985da 100644 --- a/src/c3nav/mesh/api.py +++ b/src/c3nav/mesh/api.py @@ -105,7 +105,7 @@ def firmware_by_id(request, firmware_id: int): def firmware_build_image(request, firmware_id: int, variant: str): try: build = FirmwareBuild.objects.get(version_id=firmware_id, variant=variant) - return build.firmware_image.model_dump() + return build.firmware_image.model_dump(mode="json") except FirmwareVersion.DoesNotExist: raise API404("Firmware or firmware build not found") diff --git a/src/c3nav/mesh/consumers.py b/src/c3nav/mesh/consumers.py index 7c6c0785..172a4cf9 100644 --- a/src/c3nav/mesh/consumers.py +++ b/src/c3nav/mesh/consumers.py @@ -364,7 +364,7 @@ class MeshConsumer(AsyncWebsocketConsumer): """ async def log_received_message(self, src_node: MeshNode, msg: messages.MeshMessage): - as_json = msg.model_dump() + as_json = msg.model_dump(mode="json") await self.channel_layer.group_send("mesh_msg_received", { "type": "mesh.msg_received", "timestamp": timezone.now().strftime("%d.%m.%y %H:%M:%S.%f"), diff --git a/src/c3nav/mesh/messages.py b/src/c3nav/mesh/messages.py index a54f8cdd..36fd9d9b 100644 --- a/src/c3nav/mesh/messages.py +++ b/src/c3nav/mesh/messages.py @@ -350,7 +350,7 @@ class MeshMessage(BaseModel): "type": "mesh.send", "sender": sender, "exclude_uplink_address": exclude_uplink_address, - "msg": self.model_dump(), + "msg": self.model_dump(mode="json"), } if self.dst in (MESH_CHILDREN_ADDRESS, MESH_BROADCAST_ADDRESS): diff --git a/src/c3nav/routing/api/positioning.py b/src/c3nav/routing/api/positioning.py index bb0ad6d8..1179de9c 100644 --- a/src/c3nav/routing/api/positioning.py +++ b/src/c3nav/routing/api/positioning.py @@ -82,7 +82,7 @@ def locate_test(request): None ) return { - "ranges": msg.parsed.model_dump()["ranges"], + "ranges": msg.parsed.model_dump(mode="json")["ranges"], "datetime": msg.datetime, "location": location.serialize(simple_geometry=True) if location else None }