API Reference ash_events v#0.5.1
View SourceModules
Behaviour for generating advisory lock keys when inserting events for a given Ash-changeset. Must return a signed 64-bit integer, or two signed 32-bit integers in a list.
Default implementation of the AshEvents.AdvisoryLockKeyGenerator behaviour.
Handles the attribute-strategy for multitenancy, if the tenant value used is an
integer or uuid. For other scenarios, users must implemeent a custom implementation
and declare it in their event-log resource configuration.
Behaviour for clearing records from the event log.
Wrapper for create actions that enables event tracking.
Wrapper for destroy actions that enables event tracking.
Extension to use on the Ash.Resource that will persist events.
Action module used by the event log resource to replay events.
Introspection helpers for AshEvents.EventLog
Adds a field (not relationship) on the event log resource that will be used to persist the actor primary key.
Verifies that persist_actor_primary_key entries reference valid Ash resources.
Verifies that advisory lock configuration is valid.
Verifies that the clear_records_for_replay configuration is valid.
Verifies that cloak_vault configuration is valid.
Verifies that when multiple persist_actor_primary_key options are defined, they all have allow_nil? set to true.
Verifies that public_fields configuration contains valid attribute names.
Verifies that record_id_type configuration is valid.
Verifies that replay_overrides configuration is valid.
Defines the events section for a resource.
Helper functions used by the action wrappers.
@moduledoc "Introspection helpers for AshEvents.Events"
Specialized wrapper for validations that preserves custom messages during event tracking.
Verifies that action-related configuration is valid.
Verifies that the event_log configuration is valid.
Verifies that replay_non_input_attribute_changes configuration is valid.
Verifies that timestamp configuration is valid.
Wrapper for update actions that enables event tracking.
Mix Tasks
Installs AshEvents into a project. Should be called with mix igniter.install ash_events