diff --git a/packages/api/src/microsoft/teams/api/models/messaging_extension/__init__.py b/packages/api/src/microsoft/teams/api/models/messaging_extension/__init__.py index a478a446..7a7e1e71 100644 --- a/packages/api/src/microsoft/teams/api/models/messaging_extension/__init__.py +++ b/packages/api/src/microsoft/teams/api/models/messaging_extension/__init__.py @@ -6,6 +6,7 @@ from .messaging_extension_action import MessagingExtensionAction from .messaging_extension_action_response import MessagingExtensionActionResponse from .messaging_extension_attachment import MessagingExtensionAttachment +from .messaging_extension_attachment_layout import MessagingExtensionAttachmentLayout from .messaging_extension_parameter import MessagingExtensionParameter from .messaging_extension_query import MessagingExtensionQuery, MessagingExtensionQueryOptions from .messaging_extension_response import MessagingExtensionResponse @@ -17,6 +18,7 @@ "MessagingExtensionAction", "MessagingExtensionActionResponse", "MessagingExtensionAttachment", + "MessagingExtensionAttachmentLayout", "MessagingExtensionParameter", "MessagingExtensionQuery", "MessagingExtensionQueryOptions", diff --git a/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_attachment_layout.py b/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_attachment_layout.py new file mode 100644 index 00000000..81e09782 --- /dev/null +++ b/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_attachment_layout.py @@ -0,0 +1,13 @@ +""" +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. +""" + +from enum import Enum + + +class MessagingExtensionAttachmentLayout(str, Enum): + """Enum for messaging extension attachment layout types.""" + + LIST = "list" + GRID = "grid" diff --git a/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_result.py b/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_result.py index 990ebe38..bd0e4d6b 100644 --- a/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_result.py +++ b/packages/api/src/microsoft/teams/api/models/messaging_extension/messaging_extension_result.py @@ -8,9 +8,9 @@ from typing import List, Optional from ...models.activity import Activity as ActivityBase -from ..attachment.attachment_layout import AttachmentLayout from ..custom_base_model import CustomBaseModel from .messaging_extension_attachment import MessagingExtensionAttachment +from .messaging_extension_attachment_layout import MessagingExtensionAttachmentLayout from .messaging_extension_result_type import MessagingExtensionResultType from .messaging_extension_suggested_action import MessagingExtensionSuggestedAction @@ -20,7 +20,7 @@ class MessagingExtensionResult(CustomBaseModel): Messaging extension result """ - attachment_layout: Optional[AttachmentLayout] = None + attachment_layout: Optional[MessagingExtensionAttachmentLayout] = None "Hint for how to deal with multiple attachments." type: Optional[MessagingExtensionResultType] = None diff --git a/tests/message-extensions/src/main.py b/tests/message-extensions/src/main.py index 1ae46178..9e570a2f 100644 --- a/tests/message-extensions/src/main.py +++ b/tests/message-extensions/src/main.py @@ -29,12 +29,12 @@ card_attachment, ) from microsoft.teams.api.models import ( - AttachmentLayout, CardAction, CardActionType, CardTaskModuleTaskInfo, MessagingExtensionActionInvokeResponse, MessagingExtensionAttachment, + MessagingExtensionAttachmentLayout, MessagingExtensionInvokeResponse, MessagingExtensionResult, MessagingExtensionResultType, @@ -87,7 +87,9 @@ async def handle_message_ext_query_link(ctx: ActivityContext[MessageExtensionQue ) result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=[attachment] + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=[attachment], ) return MessagingExtensionInvokeResponse(compose_extension=result) @@ -110,7 +112,9 @@ async def handle_message_ext_submit(ctx: ActivityContext[MessageExtensionSubmitA ) result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=[attachment] + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=[attachment], ) return MessagingExtensionActionInvokeResponse(compose_extension=result) @@ -154,7 +158,9 @@ async def handle_message_ext_query(ctx: ActivityContext[MessageExtensionQueryInv attachments.append(attachment) result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=attachments + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=attachments, ) return MessagingExtensionInvokeResponse(compose_extension=result) @@ -168,7 +174,9 @@ async def handle_message_ext_select_item(ctx: ActivityContext[MessageExtensionSe await ctx.send(f"Selected item: {option}") result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=[] + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=[], ) return MessagingExtensionInvokeResponse(compose_extension=result) @@ -200,7 +208,9 @@ async def handle_message_ext_setting(ctx: ActivityContext[MessageExtensionSettin if state == "CancelledByUser": result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=[] + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=[], ) return MessagingExtensionInvokeResponse(compose_extension=result) @@ -208,7 +218,9 @@ async def handle_message_ext_setting(ctx: ActivityContext[MessageExtensionSettin await ctx.send(f"Selected option: {selected_option}") result = MessagingExtensionResult( - type=MessagingExtensionResultType.RESULT, attachment_layout=AttachmentLayout.LIST, attachments=[] + type=MessagingExtensionResultType.RESULT, + attachment_layout=MessagingExtensionAttachmentLayout.LIST, + attachments=[], ) return MessagingExtensionInvokeResponse(compose_extension=result)