aries_cloudagent.messaging.models package¶
Common code for messaging models.
Submodules¶
aries_cloudagent.messaging.models.base module¶
Base classes for Models and Schemas.
-
class
aries_cloudagent.messaging.models.base.BaseModel[source]¶ Bases:
abc.ABCBase model that provides convenience methods.
-
Schema¶ Accessor for the model’s schema class.
Returns: The schema class
-
classmethod
deserialize(obj, *, unknown: Optional[str] = None, none2none: bool = False) → Optional[ModelType][source]¶ Convert from JSON representation to a model instance.
Parameters: - obj – The dict to load into a model instance
- unknown – Behaviour for unknown attributes
- none2none – Deserialize None to None
Returns: A model instance for this data
-
classmethod
from_json(json_repr: Union[str, bytes], unknown: Optional[str] = None)[source]¶ Parse a JSON string into a model instance.
Parameters: json_repr – JSON string Returns: A model instance representation of this JSON
-
classmethod
serde(obj: Union[BaseModel, Mapping]) → Optional[aries_cloudagent.messaging.models.base.SerDe][source]¶ Return serialized, deserialized representations of input object.
-
serialize(*, as_string: bool = False, unknown: Optional[str] = None) → Union[str, dict][source]¶ Create a JSON-compatible dict representation of the model instance.
Parameters: as_string – Return a string of JSON instead of a dict Returns: A dict representation of this model, or a JSON string if as_string is True
-
-
exception
aries_cloudagent.messaging.models.base.BaseModelError(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.core.error.BaseErrorBase exception class for base model errors.
-
class
aries_cloudagent.messaging.models.base.BaseModelSchema(*args, **kwargs)[source]¶ Bases:
sphinx.ext.autodoc.importer._MockObjectBaseModel schema.
-
class
Meta[source]¶ Bases:
objectBaseModelSchema metadata.
-
model_class= None¶
-
ordered= True¶
-
skip_values= [None]¶
-
-
Model¶ Accessor for the schema’s model class.
Returns: The model class
-
make_model(data: dict, **kwargs)[source]¶ Return model instance after loading.
Returns: A model instance
-
class
-
class
aries_cloudagent.messaging.models.base.SerDe(ser, de)¶ Bases:
tuple-
de¶ Alias for field number 1
-
ser¶ Alias for field number 0
-
-
aries_cloudagent.messaging.models.base.resolve_class(the_cls, relative_cls: Optional[type] = None) → type[source]¶ Resolve a class.
Parameters: - the_cls – The class to resolve
- relative_cls – Relative class to resolve from
Returns: The resolved class
Raises: ClassNotFoundError– If the class could not be loaded
aries_cloudagent.messaging.models.base_record module¶
Classes for BaseStorage-based record management.
-
class
aries_cloudagent.messaging.models.base_record.BaseExchangeRecord(id: str = None, state: str = None, *, trace: bool = False, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base_record.BaseRecordRepresents a base record with event tracing capability.
-
class
aries_cloudagent.messaging.models.base_record.BaseExchangeSchema(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base_record.BaseRecordSchemaBase schema for exchange records.
-
class
Meta[source]¶ Bases:
objectBaseExchangeSchema metadata.
-
model_class¶ alias of
BaseExchangeRecord
-
-
trace¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.messaging.models.base_record.BaseRecord(id: str = None, state: str = None, *, created_at: Union[str, datetime.datetime] = None, updated_at: Union[str, datetime.datetime] = None, new_with_id: bool = False)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelRepresents a single storage record.
-
DEFAULT_CACHE_TTL= 60¶
-
EVENT_NAMESPACE= 'acapy::record'¶
-
LOG_STATE_FLAG= None¶
-
RECORD_ID_NAME= 'id'¶
-
RECORD_TOPIC= None¶
-
RECORD_TYPE= None¶
-
STATE_DELETED= 'deleted'¶
-
TAG_NAMES= {'state'}¶
-
classmethod
clear_cached_key(session: aries_cloudagent.core.profile.ProfileSession, cache_key: str)[source]¶ Shortcut method to clear a cached key value, if any.
Parameters: - session – The profile session to use
- cache_key – The unique cache identifier
-
delete_record(session: aries_cloudagent.core.profile.ProfileSession)[source]¶ Remove the stored record.
Parameters: session – The profile session to use
-
emit_event(session: aries_cloudagent.core.profile.ProfileSession, payload: Any = None)[source]¶ Emit an event.
Parameters: - session – The profile session to use
- payload – The event payload
-
classmethod
from_storage(record_id: str, record: Mapping[str, Any])[source]¶ Initialize a record from its stored representation.
Parameters: - record_id – The unique record identifier
- record – The stored representation
-
classmethod
get_attributes_by_prefix(prefix: str, walk_mro: bool = True)[source]¶ List all values for attributes with common prefix.
Parameters: - prefix – Common prefix to look for
- walk_mro – Walk MRO to find attributes inherited from superclasses
-
classmethod
get_cached_key(session: aries_cloudagent.core.profile.ProfileSession, cache_key: str)[source]¶ Shortcut method to fetch a cached key value.
Parameters: - session – The profile session to use
- cache_key – The unique cache identifier
-
classmethod
log_state(msg: str, params: dict = None, settings: aries_cloudagent.config.base.BaseSettings = None, override: bool = False)[source]¶ Print a message with increased visibility (for testing).
-
post_save(session: aries_cloudagent.core.profile.ProfileSession, new_record: bool, last_state: Optional[str], event: bool = None)[source]¶ Perform post-save actions.
Parameters: - session – The profile session to use
- new_record – Flag indicating if the record was just created
- last_state – The previous state value
- event – Flag to override whether the event is sent
-
classmethod
prefix_tag_filter(tag_filter: dict)[source]¶ Prefix unencrypted tags used in the tag filter.
-
classmethod
query(session: aries_cloudagent.core.profile.ProfileSession, tag_filter: dict = None, *, post_filter_positive: dict = None, post_filter_negative: dict = None, alt: bool = False) → Sequence[RecordType][source]¶ Query stored records.
Parameters: - session – The profile session to use
- tag_filter – An optional dictionary of tag filter clauses
- post_filter_positive – Additional value filters to apply matching positively
- post_filter_negative – Additional value filters to apply matching negatively
- alt – set to match any (positive=True) value or miss all (positive=False) values in post_filter
Accessor to define implementation-specific tags.
-
record_value¶ Accessor to define custom properties for the JSON record value.
-
classmethod
retrieve_by_id(session: aries_cloudagent.core.profile.ProfileSession, record_id: str, *, for_update=False) → RecordType[source]¶ Retrieve a stored record by ID.
Parameters: - session – The profile session to use
- record_id – The ID of the record to find
-
classmethod
retrieve_by_tag_filter(session: aries_cloudagent.core.profile.ProfileSession, tag_filter: dict, post_filter: dict = None, *, for_update=False) → RecordType[source]¶ Retrieve a record by tag filter.
Parameters: - session – The profile session to use
- tag_filter – The filter dictionary to apply
- post_filter – Additional value filters to apply matching positively, with sequence values specifying alternatives to match (hit any)
-
save(session: aries_cloudagent.core.profile.ProfileSession, *, reason: str = None, log_params: Mapping[str, Any] = None, log_override: bool = False, event: bool = None) → str[source]¶ Persist the record to storage.
Parameters: - session – The profile session to use
- reason – A reason to add to the log
- log_params – Additional parameters to log
- override – Override configured logging regimen, print to stderr instead
- event – Flag to override whether the event is sent
-
classmethod
set_cached_key(session: aries_cloudagent.core.profile.ProfileSession, cache_key: str, value: Any, ttl=None)[source]¶ Shortcut method to set a cached key value.
Parameters: - session – The profile session to use
- cache_key – The unique cache identifier
- value – The value to cache
- ttl – The cache ttl
-
storage_record¶ Accessor for a StorageRecord representing this record.
Accessor for the record tags generated for this record.
-
value¶ Accessor for the JSON record value generated for this record.
-
-
class
aries_cloudagent.messaging.models.base_record.BaseRecordSchema(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchemaSchema to allow serialization/deserialization of base records.
-
created_at¶ Used by autodoc_mock_imports.
-
state¶ Used by autodoc_mock_imports.
-
updated_at¶ Used by autodoc_mock_imports.
-
-
aries_cloudagent.messaging.models.base_record.match_post_filter(record: dict, post_filter: dict, positive: bool = True, alt: bool = False) → bool[source]¶ Determine if a record value matches the post-filter.
Parameters: - record – record to check
- post_filter – filter to apply (empty or None filter matches everything)
- positive – whether matching all filter criteria positively or negatively
- alt – set to match any (positive=True) value or miss all (positive=False) values in post_filter
aries_cloudagent.messaging.models.openapi module¶
Base class for OpenAPI artifact schema.