API Reference AshCommanded v0.1.0

View Source

Modules

AshCommanded is an extension for the Ash Framework that provides Command Query Responsibility Segregation (CQRS) and Event Sourcing (ES) patterns using the Commanded library.

Represents a command in the Commanded DSL.

Provides utilities for mapping between Commanded commands and Ash actions.

The DSL extension for using Commanded with Ash resources.

Standardized error handling for AshCommanded.

Represents an event in the Commanded DSL.

Represents a general purpose event handler in the Commanded DSL.

Base module for implementing command middleware in AshCommanded.

Protocol defining the behavior for command middleware in AshCommanded.

Processes command middleware for AshCommanded.

Middleware that logs command dispatch and results.

Middleware that validates commands before processing.

Advanced parameter transformation for mapping commands to Ash actions.

Advanced parameter validation for commands.

Represents a projection in the Commanded DSL.

Defines the schema for the application section of the Commanded DSL.

Defines the schema and entities for the commands section of the Commanded DSL.

Defines the schema and entities for the event_handlers section of the Commanded DSL.

Defines the schema and entities for the events section of the Commanded DSL.

Defines the schema and entities for the projections section of the Commanded DSL.

Represents a snapshot of an aggregate's state at a specific point in time.

Adapter to integrate AshCommanded's snapshot functionality with Commanded.

Provides configuration options for Commanded to use AshCommanded's snapshot functionality.

Defines the behavior and default implementation for aggregate snapshot storage.

Transaction support for command execution in AshCommanded.

A base module for Commanded DSL transformers.

A transformer that collects parameter transformation specifications from the DSL.

A transformer that collects parameter validation specifications from the DSL.

Collects transaction options from the DSL and applies them to commands.

Generates an aggregate module based on the commands and events defined in the DSL.

Generates command modules based on the commands defined in the DSL.

Generates a Commanded.Application module based on the configuration in the application section.

Generates a domain-specific router module based on the commands defined in a domain's resources.

Generates event handler modules based on the event_handlers defined in the DSL.

Generates event modules based on the events defined in the DSL.

Generates the main router module that delegates to domain-specific routers.

Generates projection modules based on the projections defined in the DSL.

Generates projector modules based on the projections defined in the DSL.

Verifies that all fields declared in commands exist as attributes in the resource.

Verifies that each command name within a resource is unique.

Verifies that all fields declared in events exist as attributes in the resource.

Verifies that event handlers reference valid actions when using atom-based actions.

Verifies that event handlers only reference valid events defined in the resource.

Verifies that each event name within a resource is unique.

Verifies that projections specify valid Ash actions.

Verifies that projection changes contain valid attribute references.

Verifies that projections reference valid events defined in the resource.