Skip to content

Commit 40c6c98

Browse files
authored
fix: Combine forward route keys into single MediationRecord per conne… (#84)
* fix: Combine forward route keys into single MediationRecord per connection Signed-off-by: jamshale <jamiehalebc@gmail.com> * chore: Small refactor Signed-off-by: jamshale <jamiehalebc@gmail.com> --------- Signed-off-by: jamshale <jamiehalebc@gmail.com>
1 parent baf978f commit 40c6c98

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

askar_tools/mediator_converter.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -430,13 +430,25 @@ async def convert(self):
430430
)
431431
did_records.append(routing_did_peer)
432432
print("Converting forward routes to MediationRecord...")
433-
mediation_records = []
434-
for entry_did in items.get("forward_route", []):
435-
connection_id = entry_did["value"]["connection_id"]
436-
mediation_record = self._convert_forward_route_to_mediation_record(
437-
entry_did, connection_id
438-
)
439-
mediation_records.append(mediation_record)
433+
mediation_record_map = {}
434+
for entry_route in items.get("forward_route", []):
435+
connection_id = entry_route["value"]["connection_id"]
436+
mediation_record = mediation_record_map.get(connection_id)
437+
if not mediation_record:
438+
mediation_record = self._convert_forward_route_to_mediation_record(
439+
entry_route, connection_id
440+
)
441+
mediation_record_map[connection_id] = mediation_record
442+
else:
443+
mediation_record["value"]["recipientKeys"].append(
444+
entry_route["value"]["recipient_key"]
445+
)
446+
recipient_key = entry_route["value"]["recipient_key"]
447+
mediation_record["tags"][
448+
f"recipientKeys:{recipient_key}"
449+
] = "1"
450+
451+
mediation_records = list(mediation_record_map.values())
440452

441453
print("Converting connection entries to ConnectionRecord...")
442454
connection_records = []

0 commit comments

Comments
 (0)