# ash_events v0.6.0 - Table of Contents The extension for tracking changes to your resources via a centralized event log, with replay functionality. ## GUIDES - [Home](readme.md) - DSLs - [AshEvents.EventLog](dsl-ashevents-eventlog.md) - [AshEvents.Events](dsl-ashevents-events.md) - About AshEvents - [Change Log](changelog.md) ## Modules - [AshEvents.AdvisoryLockKeyGenerator](AshEvents.AdvisoryLockKeyGenerator.md): 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. - [AshEvents.AdvisoryLockKeyGenerator.Default](AshEvents.AdvisoryLockKeyGenerator.Default.md): 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. - [AshEvents.ClearRecordsForReplay](AshEvents.ClearRecordsForReplay.md): Behaviour for clearing records from the event log. - [AshEvents.CreateActionWrapper](AshEvents.CreateActionWrapper.md): Wrapper for create actions that enables event tracking. - [AshEvents.DestroyActionWrapper](AshEvents.DestroyActionWrapper.md): Wrapper for destroy actions that enables event tracking. - [AshEvents.EventLog](AshEvents.EventLog.md): Extension to use on the Ash.Resource that will persist events. - [AshEvents.EventLog.Actions.Replay](AshEvents.EventLog.Actions.Replay.md): Action module used by the event log resource to replay events. - [AshEvents.EventLog.Info](AshEvents.EventLog.Info.md): Introspection helpers for `AshEvents.EventLog` - [AshEvents.EventLog.PersistActorPrimaryKey](AshEvents.EventLog.PersistActorPrimaryKey.md): Adds a field (not relationship) on the event log resource that will be used to persist the actor primary key. - [AshEvents.EventLog.Verifiers.VerifyActorResources](AshEvents.EventLog.Verifiers.VerifyActorResources.md): Verifies that persist_actor_primary_key entries reference valid Ash resources. - [AshEvents.EventLog.Verifiers.VerifyAdvisoryLockConfig](AshEvents.EventLog.Verifiers.VerifyAdvisoryLockConfig.md): Verifies that advisory lock configuration is valid. - [AshEvents.EventLog.Verifiers.VerifyClearRecordsForReplay](AshEvents.EventLog.Verifiers.VerifyClearRecordsForReplay.md): Verifies that the clear_records_for_replay configuration is valid. - [AshEvents.EventLog.Verifiers.VerifyCloakVault](AshEvents.EventLog.Verifiers.VerifyCloakVault.md): Verifies that cloak_vault configuration is valid. - [AshEvents.EventLog.Verifiers.VerifyPersistActorPrimaryKey](AshEvents.EventLog.Verifiers.VerifyPersistActorPrimaryKey.md): Verifies that when multiple persist_actor_primary_key options are defined, they all have allow_nil? set to true. - [AshEvents.EventLog.Verifiers.VerifyPublicAttributes](AshEvents.EventLog.Verifiers.VerifyPublicAttributes.md): Verifies that public_fields configuration contains valid attribute names. - [AshEvents.EventLog.Verifiers.VerifyRecordIdType](AshEvents.EventLog.Verifiers.VerifyRecordIdType.md): Verifies that record_id_type configuration is valid. - [AshEvents.EventLog.Verifiers.VerifyReplayOverrides](AshEvents.EventLog.Verifiers.VerifyReplayOverrides.md): Verifies that replay_overrides configuration is valid. - [AshEvents.Events](AshEvents.Events.md): Defines the events section for a resource. - [AshEvents.Events.ActionWrapperHelpers](AshEvents.Events.ActionWrapperHelpers.md): Helper functions used by the action wrappers. - [AshEvents.Events.Changes.ApplyChangedAttributes](AshEvents.Events.Changes.ApplyChangedAttributes.md): A change that runs LAST during replay to apply changed_attributes. - [AshEvents.Events.Changes.ApplyReplayPrimaryKey](AshEvents.Events.Changes.ApplyReplayPrimaryKey.md): A change that runs FIRST during replay to set the primary key. - [AshEvents.Events.Info](AshEvents.Events.Info.md): @moduledoc "Introspection helpers for `AshEvents.Events`" - [AshEvents.Events.ReplayValidationWrapper](AshEvents.Events.ReplayValidationWrapper.md): Specialized wrapper for validations that preserves custom messages during event tracking. - [AshEvents.Events.Verifiers.VerifyActions](AshEvents.Events.Verifiers.VerifyActions.md): Verifies that action-related configuration is valid. - [AshEvents.Events.Verifiers.VerifyEventLog](AshEvents.Events.Verifiers.VerifyEventLog.md): Verifies that the event_log configuration is valid. - [AshEvents.Events.Verifiers.VerifyReplayNonInputAttributeChanges](AshEvents.Events.Verifiers.VerifyReplayNonInputAttributeChanges.md): Verifies that replay_non_input_attribute_changes configuration is valid. - [AshEvents.Events.Verifiers.VerifyTimestamps](AshEvents.Events.Verifiers.VerifyTimestamps.md): Verifies that timestamp configuration is valid. - [AshEvents.UpdateActionWrapper](AshEvents.UpdateActionWrapper.md): Wrapper for update actions that enables event tracking. ## Mix Tasks - [mix ash_events.install](Mix.Tasks.AshEvents.Install.md): Installs AshEvents into a project. Should be called with `mix igniter.install ash_events`