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
- 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 anAggregate
(considering all fields as differences).- Parameters
aggregate (
minos.aggregate.models.aggregates.Aggregate
) – AnAggregate
instance.action (
minos.aggregate.models.actions.Action
) – The action to that generates the aggregate difference.
- Return type
- 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
) – Abytes
representation of the model.batch_mode (
bool
) – IfTrue
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
) – Astr
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 anAggregate
(considering all fields as differences).- Parameters
aggregate (
minos.aggregate.models.aggregates.Aggregate
) – AnAggregate
instance.action (
minos.aggregate.models.actions.Action
) – The action to that generates the aggregate difference.
- Return type
- Returns
An
AggregateDiff
instance.
- classmethod from_difference(a, b, action=Action.UPDATE)[source]¶
Build an
AggregateDiff
instance from the difference of two aggregates.- Parameters
a (
minos.aggregate.models.aggregates.Aggregate
) – OneAggregate
instance.b (
minos.aggregate.models.aggregates.Aggregate
) – AnotherAggregate
instance.action (
minos.aggregate.models.actions.Action
) – The action to that generates the aggregate difference.
- Return type
- Returns
An
AggregateDiff
instance.
- classmethod from_model_type(model_type, *args, **kwargs)¶
Build a
DeclarativeModel
from aModelType
.- 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 aTypeDict
anddata
.- Parameters
typed_dict (
typing.TypedDict
) –TypeDict
object containing the DTO’s structureargs – 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
) – IfTrue
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
) – IfTrue
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¶