Skip to content
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 @@ -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
Expand All @@ -17,6 +18,7 @@
"MessagingExtensionAction",
"MessagingExtensionActionResponse",
"MessagingExtensionAttachment",
"MessagingExtensionAttachmentLayout",
"MessagingExtensionParameter",
"MessagingExtensionQuery",
"MessagingExtensionQueryOptions",
Expand Down
Original file line number Diff line number Diff line change
@@ -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"
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Expand Down
26 changes: 19 additions & 7 deletions tests/message-extensions/src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@
card_attachment,
)
from microsoft.teams.api.models import (
AttachmentLayout,
CardAction,
CardActionType,
CardTaskModuleTaskInfo,
MessagingExtensionActionInvokeResponse,
MessagingExtensionAttachment,
MessagingExtensionAttachmentLayout,
MessagingExtensionInvokeResponse,
MessagingExtensionResult,
MessagingExtensionResultType,
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -200,15 +208,19 @@ 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)

selected_option = state
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)
Expand Down
Loading