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."""
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,
)