From f857a5f9007ceed961df54c2e689c607e04c51a2 Mon Sep 17 00:00:00 2001 From: HaimKortovich Date: Tue, 21 Apr 2026 12:15:51 -0500 Subject: [PATCH] fix logic in handler --- .../handlers/task_completed_handler.ex | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/lib/workload_service/handlers/task_completed_handler.ex b/lib/workload_service/handlers/task_completed_handler.ex index 84fb2aa..666edf0 100644 --- a/lib/workload_service/handlers/task_completed_handler.ex +++ b/lib/workload_service/handlers/task_completed_handler.ex @@ -17,35 +17,33 @@ defmodule WorkloadService.Handlers.TaskCompletedHandler do def handle(%TaskCompleted{} = event, _metadata) do aggregate_module = case event.id.type do - "quote" -> QuoteTask + "quote" -> {:ok, QuoteTask} # "solicitation" -> SolicitationTask - _ -> nil + _ -> {:error, "aggregate module not found for event type #{event.id}"} end - if aggregate_module do - case Aggregate.aggregate_state( - WorkloadService.CommandedApp, - aggregate_module, - event.id - ) do - nil -> - Logger.warning("TaskCompletedHandler: aggregate not found for #{event.id}") + case aggregate_module do + {:error, reason} -> + {:error, reason} - state -> - MessageBus.publish( - "workload_service.events.quote_task_completed", - "quote_task.completed", - state - ) + {:ok, module} -> + case Aggregate.aggregate_state( + WorkloadService.CommandedApp, + aggregate_module, + event.id + ) do + nil -> + Logger.warning("TaskCompletedHandler: aggregate not found for #{event.id}") - Logger.info("TaskCompletedHandler: published for #{event.id}") - end + state -> + MessageBus.publish( + "workload_service.events.quote_task_completed", + "quote_task.completed", + state + ) + + Logger.info("TaskCompletedHandler: published for #{event.id}") + end end - - :ok - rescue - e -> - Logger.error("TaskCompletedHandler: failed to process - #{inspect(e)}") - :ok end end