Commit c6248e99 by Oleksandr Barabash

hotfix on IDs

parent dd601efc
...@@ -98,12 +98,15 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler): ...@@ -98,12 +98,15 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler):
""" Turn Context callback. Kinda awful syntax, I know """ """ Turn Context callback. Kinda awful syntax, I know """
# TODO(s1z): Add exception handler # TODO(s1z): Add exception handler
# (like conversation not found etc...) # (like conversation not found etc...)
try:
card = CardHelper.create_notification_card(notification) card = CardHelper.create_notification_card(notification)
attachments = [CardFactory.adaptive_card(card)] attachments = [CardFactory.adaptive_card(card)]
message = Activity(type=ActivityTypes.message, message = Activity(type=ActivityTypes.message,
attachments=attachments) attachments=attachments)
await turn_context.send_activity(message) await turn_context.send_activity(message)
future.set_result(notification.id) future.set_result(notification.id)
except Exception as e:
future.set_exception(e)
await self.adapter.continue_conversation(reference, callback, await self.adapter.continue_conversation(reference, callback,
self.settings.app_id) self.settings.app_id)
......
...@@ -182,8 +182,13 @@ class CosmosClient: ...@@ -182,8 +182,13 @@ class CosmosClient:
) )
tries = 0 tries = 0
max_tries = max(kwargs.pop("max_tries", 3), 1) max_tries = max(kwargs.pop("max_tries", 3), 1)
while tries < max_tries:
item_id = body.get("id", None)
if item_id is None:
body.update(dict(id=uuid.uuid4().__str__())) body.update(dict(id=uuid.uuid4().__str__()))
while tries < max_tries:
try: try:
return await self.execute_blocking(bl) return await self.execute_blocking(bl)
except exceptions.CosmosHttpResponseError as e: except exceptions.CosmosHttpResponseError as e:
...@@ -308,9 +313,8 @@ class CosmosClient: ...@@ -308,9 +313,8 @@ class CosmosClient:
notification_id: str) -> None: notification_id: str) -> None:
""" Save initiation """ """ Save initiation """
container = await self.get_initiation_container() container = await self.get_initiation_container()
timestamp = timestamp_factory()
initiation = Initiation(initiator=initiator, initiation = Initiation(initiator=initiator,
timestamp=timestamp, timestamp=timestamp_factory(),
notification_id=notification_id) notification_id=notification_id)
data = Initiation.get_schema().dump(initiation) data = Initiation.get_schema().dump(initiation)
await self.create_item(container, body=data) await self.create_item(container, body=data)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment