Ben Smith

Results 42 issues of Ben Smith

The author aggregate doesn't really need to know the username. Since it can be changed by the user aggregate we don't want to have to synchronise the value between two...

The `Conduit.Support.Middleware.Uniqueness` middleware should use the `after_failure/1` callback to release the claimed unique value when the command fails.

An aggregate usually follows a lifecycle where it transitions between a finite set of states in response to received commands. Instead of manually adding a `state` field and verifying the...

proposal

Event handlers receive events one at a time for processing. Returning `:ok` indicates successful handling, the event is acknowledged, then the next event can be received. ```elixir defmodule ExampleHandler do...

proposal

To help onboard new users it would be useful to describe the main building blocks required to start using Commanded and configure an event store. - `Commanded.Application` - explain what...

documentation

Add support for including the aggregate's expected version when dispatching a command. If the aggregate's version: * equals the expected version then the command will be executed; * is greater...

enhancement
proposal

Allow an aggregate to optionally return a list of one or more side side effects in addition to any events. These effects would be run once the events have be...

enhancement
proposal

Allow an event handler to have a dependency upon one or more other handlers. This would ensure that any prerequisite event handlers have successfully processed an event before the dependent...

proposal

Extend the existing process manager `interested?/1` and `handle/2` callback functions to allow access to metadata by optionally supporting `interested?/2` and `handle/3` functions. These new functions would be passed the event...

enhancement
proposal

Commanded uses the `elixir_uuid` library and `UUID.uuid4()` to create version 4 randomly generated UUIDs. This uses pseudo-random bytes generated by the `crypto` module. These UUIDs are used for dispatched command...

enhancement
proposal