"""Represents a forwarded invitation from another agent."""
from marshmallow import fields
from .....messaging.agent_message import AgentMessage, AgentMessageSchema
from .....protocols.connections.v1_0.messages.connection_invitation import (
ConnectionInvitation,
ConnectionInvitationSchema,
)
from ..message_types import FORWARD_INVITATION, PROTOCOL_PACKAGE
HANDLER_CLASS = (
f"{PROTOCOL_PACKAGE}.handlers.forward_invitation_handler.ForwardInvitationHandler"
)
[docs]class ForwardInvitation(AgentMessage):
"""Class representing an invitation to be forwarded."""
def __init__(
self, *, invitation: ConnectionInvitation = None, message: str = None, **kwargs
):
"""
Initialize invitation object.
Args:
invitation: The connection invitation
message: Comments on the introduction
"""
super().__init__(**kwargs)
self.invitation = invitation
self.message = message
[docs]class ForwardInvitationSchema(AgentMessageSchema):
"""ForwardInvitation request schema class."""
invitation = fields.Nested(ConnectionInvitationSchema(), required=True)
message = fields.Str(
required=False,
allow_none=True,
description="Comments on the introduction",
example="Hello Bob, it's Alice",
)