Module mydata_did.patched_protocols.present_proof.v1_0.messages.presentation
A (proof) presentation content message.
Expand source code
"""A (proof) presentation content message."""
from typing import Sequence
from marshmallow import EXCLUDE, fields
from aries_cloudagent.messaging.agent_message import AgentMessage, AgentMessageSchema
from aries_cloudagent.messaging.decorators.attach_decorator import (
AttachDecorator,
AttachDecoratorSchema,
)
from ..message_types import PRESENTATION, PROTOCOL_PACKAGE
HANDLER_CLASS = f"{PROTOCOL_PACKAGE}.handlers.presentation_handler.PresentationHandler"
class Presentation(AgentMessage):
"""Class representing a (proof) presentation."""
class Meta:
"""Presentation metadata."""
handler_class = HANDLER_CLASS
schema_class = "PresentationSchema"
message_type = PRESENTATION
def __init__(
self,
_id: str = None,
*,
comment: str = None,
presentations_attach: Sequence[AttachDecorator] = None,
**kwargs,
):
"""
Initialize presentation object.
Args:
presentations_attach: attachments
comment: optional comment
"""
super().__init__(_id=_id, **kwargs)
self.comment = comment
self.presentations_attach = (
list(presentations_attach) if presentations_attach else []
)
def indy_proof(self, index: int = 0):
"""
Retrieve and decode indy proof from attachment.
Args:
index: ordinal in attachment list to decode and return
(typically, list has length 1)
"""
return self.presentations_attach[index].indy_dict
class PresentationSchema(AgentMessageSchema):
"""(Proof) presentation schema."""
class Meta:
"""Presentation schema metadata."""
model_class = Presentation
unknown = EXCLUDE
comment = fields.Str(
description="Human-readable comment", required=False, allow_none=True
)
presentations_attach = fields.Nested(
AttachDecoratorSchema, required=True, many=True, data_key="presentations~attach"
)
Classes
class Presentation (*, comment: str = None, presentations_attach: Sequence[aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator] = None, **kwargs)
-
Class representing a (proof) presentation.
Initialize presentation object.
Args
presentations_attach
- attachments
comment
- optional comment
Expand source code
class Presentation(AgentMessage): """Class representing a (proof) presentation.""" class Meta: """Presentation metadata.""" handler_class = HANDLER_CLASS schema_class = "PresentationSchema" message_type = PRESENTATION def __init__( self, _id: str = None, *, comment: str = None, presentations_attach: Sequence[AttachDecorator] = None, **kwargs, ): """ Initialize presentation object. Args: presentations_attach: attachments comment: optional comment """ super().__init__(_id=_id, **kwargs) self.comment = comment self.presentations_attach = ( list(presentations_attach) if presentations_attach else [] ) def indy_proof(self, index: int = 0): """ Retrieve and decode indy proof from attachment. Args: index: ordinal in attachment list to decode and return (typically, list has length 1) """ return self.presentations_attach[index].indy_dict
Ancestors
- aries_cloudagent.messaging.agent_message.AgentMessage
- aries_cloudagent.messaging.models.base.BaseModel
- abc.ABC
Class variables
var Meta
-
Presentation metadata.
Methods
def indy_proof(self, index: int = 0)
-
Retrieve and decode indy proof from attachment.
Args
index
- ordinal in attachment list to decode and return (typically, list has length 1)
Expand source code
def indy_proof(self, index: int = 0): """ Retrieve and decode indy proof from attachment. Args: index: ordinal in attachment list to decode and return (typically, list has length 1) """ return self.presentations_attach[index].indy_dict
class PresentationSchema (*args, **kwargs)
-
(Proof) presentation schema.
Initialize an instance of AgentMessageSchema.
Raises
TypeError
- If Meta.model_class has not been set
Expand source code
class PresentationSchema(AgentMessageSchema): """(Proof) presentation schema.""" class Meta: """Presentation schema metadata.""" model_class = Presentation unknown = EXCLUDE comment = fields.Str( description="Human-readable comment", required=False, allow_none=True ) presentations_attach = fields.Nested( AttachDecoratorSchema, required=True, many=True, data_key="presentations~attach" )
Ancestors
- aries_cloudagent.messaging.agent_message.AgentMessageSchema
- aries_cloudagent.messaging.models.base.BaseModelSchema
- marshmallow.schema.Schema
- marshmallow.base.SchemaABC
Class variables
var Meta
-
Presentation schema metadata.
var opts