distributed 4.4.0

CQRS/ES framework for Rust using Plain Old Rust Structs — append-only events, replay, snapshots, outbox, service bus, and pluggable infrastructure
Documentation
1
{"arms":[{"arm_id":"purged","operations":[{"fields":[],"invalidations":[],"key":[{"expression":{"kind":"body_path","path":["key"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":0},{"expression":{"kind":"body_path","path":["incarnation"],"value_type":{"type":"u64"}},"name":"incarnation","ordinal":1}],"kind":"delete","operation_id":"delete-todo","relationship_effects":[{"kind":"unlink","ordinal":0,"relationship":{"relationship":"todos","source_model":"Owners","target_model":"Todos"},"source_key":[{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"name":"owner_id","ordinal":0}],"target_key":[{"expression":{"kind":"body_path","path":["key"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":0}]}],"staging_ordinal":0,"target":{"model":"Todos","storage":"todos"}}],"selector":{"body_codec":"distributed-json","body_codec_version":1,"body_fingerprint":"sha256:3333333333333333333333333333333333333333333333333333333333333333","body_kind":"deletion","body_schema":"urn:distributed:test:projection-body:v1","body_type_name":"TodoDeleted","body_version":1,"event_name":"todo.purged","event_version":1,"occurrence_version":1}},{"arm_id":"reassigned","operations":[{"fields":[{"assignment":{"expression":{"kind":"constant","value":{"type":"u64","value":"18446744073709551615"}},"kind":"set"},"name":"position","ordinal":0},{"assignment":{"expression":{"kind":"constant","value":{"type":"i64","value":"-9223372036854775808"}},"kind":"set"},"name":"signed_min","ordinal":1}],"invalidations":[{"kind":"model","model":"TodoSearch"}],"key":[{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"name":"owner_id","ordinal":0},{"expression":{"kind":"body_path","path":["todo_id"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":1}],"kind":"insert_related","operation_id":"insert-owner-todo","relationship_effects":[{"kind":"link","ordinal":0,"relationship":{"relationship":"todos","source_model":"Owners","target_model":"Todos"},"source_key":[{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"name":"owner_id","ordinal":0}],"target_key":[{"expression":{"kind":"body_path","path":["todo_id"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":0}]}],"staging_ordinal":0,"target":{"model":"OwnerTodos","storage":"owner_todos"}}],"selector":{"body_codec":"distributed-json","body_codec_version":1,"body_fingerprint":"sha256:4444444444444444444444444444444444444444444444444444444444444444","body_kind":"state","body_schema":"urn:distributed:test:projection-body:v1","body_type_name":"TodoState","body_version":1,"event_name":"todo.reassigned","event_version":1,"occurrence_version":1}},{"arm_id":"renamed","operations":[{"fields":[{"assignment":{"expression":{"kind":"body_path","path":["title"],"value_type":{"type":"string"}},"kind":"set"},"name":"title","ordinal":0},{"assignment":{"kind":"unset"},"name":"legacy_title","ordinal":1}],"invalidations":[],"key":[{"expression":{"kind":"body_path","path":["todo_id"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":0}],"kind":"patch","operation_id":"patch-title","relationship_effects":[],"staging_ordinal":0,"target":{"model":"Todos","storage":"todos"}}],"selector":{"body_codec":"distributed-json","body_codec_version":1,"body_fingerprint":"sha256:2222222222222222222222222222222222222222222222222222222222222222","body_kind":"event","body_schema":"urn:distributed:test:projection-body:v1","body_type_name":"TodoRenamed","body_version":1,"event_name":"todo.renamed","event_version":1,"occurrence_version":1}},{"arm_id":"state","operations":[{"fields":[{"assignment":{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"kind":"set"},"name":"owner_id","ordinal":0},{"assignment":{"expression":{"kind":"body_path","path":["title"],"value_type":{"type":"string"}},"kind":"set"},"name":"title","ordinal":1},{"assignment":{"expression":{"kind":"constant","value":{"type":"string","value":"Résumé 🚀"}},"kind":"set"},"name":"label","ordinal":2},{"assignment":{"expression":{"kind":"body_path","path":["status"],"value_type":{"type":"string"}},"kind":"set"},"name":"status","ordinal":3},{"assignment":{"expression":{"kind":"body_path","path":["priority"],"value_type":{"type":"i64"}},"kind":"set"},"name":"priority","ordinal":4}],"invalidations":[{"kind":"model","model":"TodoSearch"}],"key":[{"expression":{"kind":"body_path","path":["todo_id"],"value_type":{"type":"string"}},"name":"todo_id","ordinal":0}],"kind":"upsert","operation_id":"upsert-todo","relationship_effects":[],"staging_ordinal":0,"target":{"model":"Todos","storage":"todos"}},{"fields":[{"assignment":{"expression":{"kind":"body_path","path":["owner_count"],"value_type":{"type":"u64"}},"kind":"set"},"name":"count","ordinal":0}],"invalidations":[{"kind":"relationship","relationship":"todos","source_model":"Owners","target_model":"Todos"}],"key":[{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"name":"owner_id","ordinal":0}],"kind":"upsert_related","operation_id":"upsert-owner-count","relationship_effects":[{"kind":"invalidate","ordinal":0,"relationship":{"relationship":"todos","source_model":"Owners","target_model":"Todos"},"source_key":[{"expression":{"kind":"body_path","path":["owner_id"],"value_type":{"type":"string"}},"name":"owner_id","ordinal":0}],"target_key":[]}],"staging_ordinal":1,"target":{"model":"OwnerTodoCounts","storage":"owner_todo_counts"}}],"selector":{"body_codec":"distributed-json","body_codec_version":1,"body_fingerprint":"sha256:1111111111111111111111111111111111111111111111111111111111111111","body_kind":"state","body_schema":"urn:distributed:test:projection-body:v1","body_type_name":"TodoState","body_version":1,"event_name":"todo.state-published","event_version":1,"occurrence_version":1}}],"ir_version":1,"limits":{"expression_value_levels":64,"key_bytes":4096,"operations_per_occurrence":128,"partition_bytes":4096,"path_segments":32},"name":"todos","operation_semantics_version":1,"partition":{"expression":{"field":"aggregate_id","kind":"envelope"},"kind":"expression"},"version":1}