fix logic in handler
All checks were successful
Build and Publish / build-release (push) Successful in 1m43s
All checks were successful
Build and Publish / build-release (push) Successful in 1m43s
This commit is contained in:
@@ -17,35 +17,33 @@ defmodule WorkloadService.Handlers.TaskCompletedHandler do
|
|||||||
def handle(%TaskCompleted{} = event, _metadata) do
|
def handle(%TaskCompleted{} = event, _metadata) do
|
||||||
aggregate_module =
|
aggregate_module =
|
||||||
case event.id.type do
|
case event.id.type do
|
||||||
"quote" -> QuoteTask
|
"quote" -> {:ok, QuoteTask}
|
||||||
# "solicitation" -> SolicitationTask
|
# "solicitation" -> SolicitationTask
|
||||||
_ -> nil
|
_ -> {:error, "aggregate module not found for event type #{event.id}"}
|
||||||
end
|
end
|
||||||
|
|
||||||
if aggregate_module do
|
case aggregate_module do
|
||||||
case Aggregate.aggregate_state(
|
{:error, reason} ->
|
||||||
WorkloadService.CommandedApp,
|
{:error, reason}
|
||||||
aggregate_module,
|
|
||||||
event.id
|
|
||||||
) do
|
|
||||||
nil ->
|
|
||||||
Logger.warning("TaskCompletedHandler: aggregate not found for #{event.id}")
|
|
||||||
|
|
||||||
state ->
|
{:ok, module} ->
|
||||||
MessageBus.publish(
|
case Aggregate.aggregate_state(
|
||||||
"workload_service.events.quote_task_completed",
|
WorkloadService.CommandedApp,
|
||||||
"quote_task.completed",
|
aggregate_module,
|
||||||
state
|
event.id
|
||||||
)
|
) do
|
||||||
|
nil ->
|
||||||
|
Logger.warning("TaskCompletedHandler: aggregate not found for #{event.id}")
|
||||||
|
|
||||||
Logger.info("TaskCompletedHandler: published for #{event.id}")
|
state ->
|
||||||
end
|
MessageBus.publish(
|
||||||
|
"workload_service.events.quote_task_completed",
|
||||||
|
"quote_task.completed",
|
||||||
|
state
|
||||||
|
)
|
||||||
|
|
||||||
|
Logger.info("TaskCompletedHandler: published for #{event.id}")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
:ok
|
|
||||||
rescue
|
|
||||||
e ->
|
|
||||||
Logger.error("TaskCompletedHandler: failed to process - #{inspect(e)}")
|
|
||||||
:ok
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user