minos.aggregate.models.diffs.aggregates module

class minos.aggregate.models.diffs.aggregates.AggregateDiff(*args, **kwargs)[source]

Bases: minos.common.model.declarative.DeclarativeModel

Aggregate Diff class.

__init__(*args, **kwargs)

Class constructor.

Parameters

kwargs – Named arguments to be set as model attributes.

action: Action
property avro_bytes: bytes

Generate bytes representation of the current instance.

Return type

bytes

Returns

A bytes object.

property avro_data: dict[str, typing.Any]

Compute the avro data of the model.

Return type

dict[str, typing.Any]

Returns

A dictionary object.

avro_schema
property avro_str: str

Generate bytes representation of the current instance.

Return type

str

Returns

A bytes object.

classname = 'minos.aggregate.models.diffs.aggregates.AggregateDiff'
created_at: datetime
classmethod decode_data(decoder, target, type_, **kwargs)

Decode data with the given decoder.

Parameters
  • decoder (minos.common.model.serializers.abc.DataDecoder) – The decoder instance.

  • target (typing.Any) – The data to be decoded.

  • type – The data type.

  • kwargs – Additional named arguments.

Return type

typing.Any

Returns

A decoded instance.

classmethod decode_schema(decoder, target, **kwargs)

Decode schema with the given encoder.

Parameters
  • decoder (minos.common.model.serializers.abc.SchemaDecoder) – The decoder instance.

  • target (typing.Any) – The schema to be decoded.

  • kwargs – Additional named arguments.

Return type

typing.Any

Returns

The decoded schema as a type.

decompose()[source]

Decompose AggregateDiff Fields into AggregateDiff with once Field.

Return type

list[minos.aggregate.models.diffs.aggregates.AggregateDiff]

Returns

An list of``AggregateDiff`` instances.

encode_data(encoder, target, **kwargs)

Encode data with the given encoder.

Parameters
  • encoder (minos.common.model.serializers.abc.DataEncoder) – The encoder instance.

  • target (typing.Any) – An optional pre-encoded data.

  • kwargs – Additional named arguments.

Return type

typing.Any

Returns

The encoded data of the instance.

classmethod encode_schema(encoder, target, **kwargs)

Encode schema with the given encoder.

Parameters
  • encoder (minos.common.model.serializers.abc.SchemaEncoder) – The encoder instance.

  • target (typing.Any) – An optional pre-encoded schema.

  • kwargs – Additional named arguments.

Return type

typing.Any

Returns

The encoded schema of the instance.

property fields: dict[str, minos.common.model.fields.Field]

Fields getter

Return type

dict[str, minos.common.model.fields.Field]

fields_diff: FieldDiffContainer
classmethod from_aggregate(aggregate, action=Action.CREATE)[source]

Build an AggregateDiff from an Aggregate (considering all fields as differences).

Parameters
Return type

minos.aggregate.models.diffs.aggregates.AggregateDiff

Returns

An AggregateDiff instance.

classmethod from_avro(schema, data)

Build a new instance from the avro schema and data.

Parameters
  • schema (typing.Any) – The avro schema of the model.

  • data (typing.Any) – The avro data of the model.

Return type

~T

Returns

A new DynamicModel instance.

classmethod from_avro_bytes(raw, batch_mode=False, **kwargs)

Build a single instance or a sequence of instances from bytes

Parameters
  • raw (bytes) – A bytes representation of the model.

  • batch_mode (bool) – If True the data is processed as a list of models, otherwise the data is processed as a

single model. :param kwargs: Additional named arguments. :rtype: typing.Union[~T, list[~T]] :return: A single instance or a sequence of instances.

classmethod from_avro_str(raw, **kwargs)

Build a single instance or a sequence of instances from bytes

Parameters

raw (str) – A str representation of the model.

Return type

typing.Union[~T, list[~T]]

Returns

A single instance or a sequence of instances.

classmethod from_deleted_aggregate(aggregate, action=Action.DELETE)[source]

Build an AggregateDiff from an Aggregate (considering all fields as differences).

Parameters
Return type

minos.aggregate.models.diffs.aggregates.AggregateDiff

Returns

An AggregateDiff instance.

classmethod from_difference(a, b, action=Action.UPDATE)[source]

Build an AggregateDiff instance from the difference of two aggregates.

Parameters
Return type

minos.aggregate.models.diffs.aggregates.AggregateDiff

Returns

An AggregateDiff instance.

classmethod from_model_type(model_type, *args, **kwargs)

Build a DeclarativeModel from a ModelType.

Parameters
  • model_type (minos.common.model.types.model_types.ModelType) – ModelType object containing the model structure.

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Return type

~T

Returns

A new DeclarativeModel instance.

classmethod from_typed_dict(typed_dict, *args, **kwargs)

Build a Model from a TypeDict and data.

Parameters
  • typed_dict (typing.TypedDict) – TypeDict object containing the DTO’s structure

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Return type

~T

Returns

A new DataTransferObject instance.

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
get_all(return_diff=False)[source]

Get all field diffs with given name.

Parameters

return_diff (bool) – If True the result is returned as field diff instances, otherwise the result is returned as value instances.

Return type

dict[str, typing.Union[minos.aggregate.models.diffs.fields.FieldDiff, typing.Any, list[minos.aggregate.models.diffs.fields.FieldDiff], list[typing.Any]]]

Returns

A list of FieldDiff instances.

get_one(name, return_diff=False)[source]

Get first field diff with given name.

Parameters
  • name (str) – The name of the field diff.

  • return_diff (bool) – If True the result is returned as field diff instances, otherwise the result is returned as value instances.

Return type

typing.Union[minos.aggregate.models.diffs.fields.FieldDiff, typing.Any, list[minos.aggregate.models.diffs.fields.FieldDiff], list[typing.Any]]

Returns

A FieldDiff instance.

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
name: str
property simplified_name: str

Get the Aggregate’s simplified name.

Return type

str

Returns

An string value.

classmethod to_avro_bytes(models)

Create a bytes representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Return type

bytes

Returns

A bytes object.

classmethod to_avro_str(models)

Build the avro string representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Return type

str

Returns

A bytes object.

type_hints
type_hints_parameters = ()
uuid: UUID
values() an object providing a view on D's values
version: int