Current section
Files
Jump to
Current section
Files
lib/commanded/scheduler/schedule/schedule_triggered.ex
defmodule Commanded.Scheduler.ScheduleTriggered do
@moduledoc false
alias Commanded.Scheduler.{Convert, ScheduleTriggered}
@type t :: %__MODULE__{
schedule_uuid: String.t(),
name: String.t(),
command: struct(),
command_type: String.t()
}
@derive Jason.Encoder
defstruct [
:schedule_uuid,
:name,
:command,
:command_type
]
defimpl Commanded.Serialization.JsonDecoder do
def decode(%ScheduleTriggered{} = triggered) do
%ScheduleTriggered{command: command, command_type: command_type} = triggered
%ScheduleTriggered{
triggered
| command: Convert.to_struct(command_type, command)
}
end
end
end