Skip to content

Cleaning up deserialization, models #469

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Dec 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,28 +61,34 @@ async def on_invoke_activity(self, turn_context: TurnContext):

if turn_context.activity.name == "fileConsent/invoke":
return await self.on_teams_file_consent(
turn_context, FileConsentCardResponse(**turn_context.activity.value)
turn_context,
FileConsentCardResponse().deserialize(turn_context.activity.value),
)

if turn_context.activity.name == "actionableMessage/executeAction":
await self.on_teams_o365_connector_card_action(
turn_context,
O365ConnectorCardActionQuery(**turn_context.activity.value),
O365ConnectorCardActionQuery().deserialize(
turn_context.activity.value
),
)
return self._create_invoke_response()

if turn_context.activity.name == "composeExtension/queryLink":
return self._create_invoke_response(
await self.on_teams_app_based_link_query(
turn_context, AppBasedLinkQuery(**turn_context.activity.value)
turn_context,
AppBasedLinkQuery().deserialize(turn_context.activity.value),
)
)

if turn_context.activity.name == "composeExtension/query":
return self._create_invoke_response(
await self.on_teams_messaging_extension_query(
turn_context,
MessagingExtensionQuery(**turn_context.activity.value),
MessagingExtensionQuery().deserialize(
turn_context.activity.value
),
)
)

Expand Down Expand Up @@ -113,7 +119,9 @@ async def on_invoke_activity(self, turn_context: TurnContext):
return self._create_invoke_response(
await self.on_teams_messaging_extension_configuration_query_settings_url(
turn_context,
MessagingExtensionQuery(**turn_context.activity.value),
MessagingExtensionQuery().deserialize(
turn_context.activity.value
),
)
)

Expand All @@ -132,14 +140,16 @@ async def on_invoke_activity(self, turn_context: TurnContext):
if turn_context.activity.name == "task/fetch":
return self._create_invoke_response(
await self.on_teams_task_module_fetch(
turn_context, TaskModuleRequest(**turn_context.activity.value)
turn_context,
TaskModuleRequest().deserialize(turn_context.activity.value),
)
)

if turn_context.activity.name == "task/submit":
return self._create_invoke_response(
await self.on_teams_task_module_submit(
turn_context, TaskModuleRequest(**turn_context.activity.value)
turn_context,
TaskModuleRequest().deserialize(turn_context.activity.value),
)
)

Expand Down Expand Up @@ -280,7 +290,9 @@ async def on_teams_task_module_submit( # pylint: disable=unused-argument
async def on_conversation_update_activity(self, turn_context: TurnContext):

if turn_context.activity.channel_id == Channels.ms_teams:
channel_data = TeamsChannelData(**turn_context.activity.channel_data)
channel_data = TeamsChannelData().deserialize(
turn_context.activity.channel_data
)
if turn_context.activity.members_added:
return await self.on_teams_members_added_dispatch_activity(
turn_context.activity.members_added, channel_data.team, turn_context
Expand All @@ -296,7 +308,7 @@ async def on_conversation_update_activity(self, turn_context: TurnContext):
if channel_data:
if channel_data.event_type == "channelCreated":
return await self.on_teams_channel_created_activity(
ChannelInfo(**channel_data.channel),
ChannelInfo().deserialize(channel_data.channel),
channel_data.team,
turn_context,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,7 @@ async def test_on_app_based_link_query(self):

async def test_on_teams_messaging_extension_bot_message_preview_edit_activity(self):
# Arrange

activity = Activity(
type=ActivityTypes.invoke,
name="composeExtension/submitAction",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
# --------------------------------------------------------------------------

from msrest.serialization import Model
from botbuilder.schema import Activity


class AppBasedLinkQuery(Model):
Expand Down Expand Up @@ -1575,7 +1576,7 @@ def __init__(self, **kwargs):
super(TeamsChannelData, self).__init__(**kwargs)
self.channel = kwargs.get("channel", None)
# doing camel case here since that's how the data comes in
self.event_type = kwargs.get("eventType", None)
self.event_type = kwargs.get("event_type", None)
self.team = kwargs.get("team", None)
self.notification = kwargs.get("notification", None)
self.tenant = kwargs.get("tenant", None)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# --------------------------------------------------------------------------

from msrest.serialization import Model
from botbuilder.schema import Attachment, ChannelAccount
from botbuilder.schema import Activity, Attachment, ChannelAccount


class TaskModuleRequest(Model):
Expand Down Expand Up @@ -646,7 +646,7 @@ class MessagingExtensionAction(TaskModuleRequest):
~botframework.connector.teams.models.enum
:param bot_activity_preview:
:type bot_activity_preview:
list[~botframework.connector.teams.models.Activity]
list[~botframework.schema.models.Activity]
:param message_payload: Message content sent as part of the command
request.
:type message_payload:
Expand Down