53 lines
1.1 KiB
Elixir
53 lines
1.1 KiB
Elixir
defmodule WorkloadService.Commands.SolicitationTask do
|
|
@moduledoc """
|
|
Solicitation task commands.
|
|
"""
|
|
|
|
defmodule CreateTask do
|
|
@moduledoc """
|
|
Command to create a new solicitation task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id, :application_id, :provider_id, :provider_name, :task_info, :attachments]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
|
|
defmodule SubmitResponse do
|
|
@moduledoc """
|
|
Command to submit response for a solicitation task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id, :submission, :attachments]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
|
|
defmodule ApproveSubmission do
|
|
@moduledoc """
|
|
Command to approve submission for a solicitation task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
|
|
defmodule CompleteTask do
|
|
@moduledoc """
|
|
Command to complete a solicitation task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id, :completed_by]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
end |