Skip to main content

lib/domain/shared/common/value/command.ex

defmodule EcsElixirCore.Domain.Shared.Common.Value.Command do
  @moduledoc """
  Command object that travels from the entry point to the use case.
  """

  alias EcsElixirCore.Domain.Model.EcsMiddleware.Model.EcsPayload
  alias EcsElixirCore.Domain.Shared.Common.Value.ContextData

  @enforce_keys [:payload, :context]
  defstruct [:payload, :context]

  @type t :: %__MODULE__{
          payload: EcsPayload.t(),
          context: ContextData.t()
        }
end