53 lines
1.1 KiB
Elixir
53 lines
1.1 KiB
Elixir
defmodule WorkloadService.Commands.QuoteTask do
|
|
@moduledoc """
|
|
Quote task commands.
|
|
"""
|
|
|
|
defmodule CreateTask do
|
|
@moduledoc """
|
|
Command to create a new quote 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 quote 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 quote task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
|
|
defmodule CompleteTask do
|
|
@moduledoc """
|
|
Command to complete a quote task.
|
|
"""
|
|
@derive Jason.Encoder
|
|
defstruct [:id, :completed_by]
|
|
|
|
def new(attrs) do
|
|
struct(__MODULE__, attrs)
|
|
end
|
|
end
|
|
end |