Source code for aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_deny

"""mediate-deny message used to notify mediation client of a denied mediation request."""

from typing import Sequence

from marshmallow import fields

from .....messaging.agent_message import AgentMessage, AgentMessageSchema
from ..message_types import MEDIATE_DENY, PROTOCOL_PACKAGE

HANDLER_CLASS = (
    f"{PROTOCOL_PACKAGE}.handlers.mediation_deny_handler.MediationDenyHandler"
)


[docs]class MediationDeny(AgentMessage): """Class representing a mediation deny message."""
[docs] class Meta: """Metadata for a mediation deny.""" handler_class = HANDLER_CLASS message_type = MEDIATE_DENY schema_class = "MediationDenySchema"
def __init__( self, *, mediator_terms: Sequence[str] = None, recipient_terms: Sequence[str] = None, **kwargs, ): """ Initialize mediation deny object. Args: mediator_terms: Terms that were agreed by the recipient recipient_terms: Terms that recipient wants to mediator to agree to """ super(MediationDeny, self).__init__(**kwargs) self.mediator_terms = list(mediator_terms) if mediator_terms else [] self.recipient_terms = list(recipient_terms) if recipient_terms else []
[docs]class MediationDenySchema(AgentMessageSchema): """Mediation grant schema class."""
[docs] class Meta: """Mediation deny schema metadata.""" model_class = MediationDeny
mediator_terms = fields.List( fields.Str(description="Terms for mediator to agree"), required=False, ) recipient_terms = fields.List( fields.Str(description="Terms for recipient to agree"), required=False, )