OnePiece.Commanded.QueryHandler behaviour (OnePiece.Commanded v0.1.1) View Source

Link to this section Summary

Callbacks

Handle the incoming params and return the result data.

Link to this section Types

Link to this section Callbacks

Specs

handle(params :: any()) :: {:ok, t()} | {:error, error()}

Handle the incoming params and return the result data.

Link to this section Functions

Convert the module into a OnePiece.Commanded.QueryHandler.

Usage

defmodule MyQueryHandler do
  use OnePiece.Commanded.QueryHandler
  import Ecto.Query, only: [from: 2]

  @impl OnePiece.Commanded.QueryHandler
  def handle(params) do
    query = from u in User,
              where: u.age > 18 or is_nil(params.email),
              select: u

    {:ok, Repo.all(query)}
  end
end