Source code for wxc_sdk.attachment_actions

"""
Attachment actions API
"""
from datetime import datetime
from typing import Optional, Literal

from wxc_sdk.api_child import ApiChild
from wxc_sdk.base import ApiModel
from wxc_sdk.webhook import WebhookEventData

__all__ = ['AttachmentActionsApi', 'AttachmentAction', 'AttachmentActionData']


[docs] class AttachmentAction(ApiModel): #: A unique identifier for the action. id: Optional[str] = None #: The ID of the person who performed the action. person_id: Optional[str] = None #: The ID of the room in which the action was performed. room_id: Optional[str] = None #: the type of action performed. type: Literal['submit'] #: The ID of the message which contains the attachment. message_id: Optional[str] = None #: The attachment action's inputs. inputs: dict #: The date and time the action was created. created: Optional[datetime] = None
[docs] class AttachmentActionData(WebhookEventData): """ Data in a webhook "attachmentActions" event """ resource = 'attachmentActions' id: str type: Literal['submit'] message_id: str person_id: str room_id: str created: datetime
[docs] class AttachmentActionsApi(ApiChild, base='attachment/actions'): """ Users create attachment actions by interacting with message attachments such as clicking on a submit button in a card. """
[docs] def details(self, action_id: str) -> AttachmentAction: """ Shows details for a attachment action, by ID. Specify the attachment action ID in the id URI parameter. :param action_id: A unique identifier for the attachment action. :type action_id: str """ url = self.ep(f'{action_id}') data = super().get(url=url) return AttachmentAction.model_validate(data)