Packages

Schedule one-off commands for Commanded CQRS/ES applications.

Current section

Files

Jump to
commanded_scheduler lib commanded scheduler schedule schedule_triggered.ex
Raw

lib/commanded/scheduler/schedule/schedule_triggered.ex

defmodule Commanded.Scheduler.ScheduleTriggered do
@moduledoc false
@type t :: %__MODULE__{
schedule_uuid: String.t(),
name: String.t(),
command: struct(),
command_type: String.t()
}
@derive [Poison.Encoder]
defstruct [
:schedule_uuid,
:name,
:command,
:command_type
]
end
alias Commanded.Scheduler.{Convert, ScheduleTriggered}
defimpl Poison.Decoder, for: ScheduleTriggered do
def decode(%ScheduleTriggered{} = triggered, _options) do
%ScheduleTriggered{command: command, command_type: command_type} = triggered
%ScheduleTriggered{
triggered
| command: Convert.to_struct(command_type, command)
}
end
end