consume commands correctly
All checks were successful
Build and Publish / build-release (push) Successful in 1m27s

This commit is contained in:
2026-04-27 14:14:19 -05:00
parent 2a8f2ffc2d
commit 5a98549a24
2 changed files with 72 additions and 4 deletions

View File

@@ -4,7 +4,7 @@ defmodule PolicyService.Consumers.QuoteTaskConsumer do
require Logger
alias PolicyService.CommandedApp
alias PolicyService.Commands.{CarPolicy, FirePolicy}
alias PolicyService.Commands.{CarPolicy, LifePolicy, FireStructurePolicy, FireContentsPolicy}
alias PolicyService.Aggregates.PolicyId
@exchange "workload_service.events.quote_task_completed"
@@ -88,8 +88,46 @@ defmodule PolicyService.Consumers.QuoteTaskConsumer do
)
}
"fire" ->
%FirePolicy.RecordProviderQuote{
"life" ->
%LifePolicy.RecordProviderQuote{
id: PolicyId.new(org_id, policy_type, app_id),
recorded_by: recorded_by || "system",
provider_id: provider_id,
quote_id: quote_id,
valid_until: parse_date(valid_until),
plans:
Enum.map(
plans || [],
&%{
plan_id: &1["plan_id"],
name: &1["name"],
premium: &1["premium"],
coverage_details: &1["coverage_details"]
}
)
}
"fire_structure" ->
%FireStructurePolicy.RecordProviderQuote{
id: PolicyId.new(org_id, policy_type, app_id),
recorded_by: recorded_by || "system",
provider_id: provider_id,
quote_id: quote_id,
valid_until: parse_date(valid_until),
plans:
Enum.map(
plans || [],
&%{
plan_id: &1["plan_id"],
name: &1["name"],
premium: &1["premium"],
coverage_details: &1["coverage_details"]
}
)
}
"fire_contents" ->
%FireContentsPolicy.RecordProviderQuote{
id: PolicyId.new(org_id, policy_type, app_id),
recorded_by: recorded_by || "system",
provider_id: provider_id,

View File

@@ -3,7 +3,7 @@ defmodule PolicyService.Consumers.SolicitationTaskConsumer do
require Logger
alias PolicyService.CommandedApp
alias PolicyService.Commands.CarPolicy
alias PolicyService.Commands.{CarPolicy, LifePolicy, FireStructurePolicy, FireContentsPolicy}
alias PolicyService.Aggregates.PolicyId
@exchange "workload_service.events.solicitation_task_completed"
@@ -72,6 +72,36 @@ defmodule PolicyService.Consumers.SolicitationTaskConsumer do
issued_at:
Map.get(submission, "issued_at") || DateTime.utc_now() |> DateTime.to_iso8601()
}
"life" ->
%LifePolicy.RecordPolicyIssued{
id: PolicyId.new(org_id, policy_type, app_id),
provider_policy_number: Map.get(submission, "provider_policy_number"),
effective_date: Map.get(submission, "effective_date"),
expiry_date: Map.get(submission, "expiry_date"),
issued_at:
Map.get(submission, "issued_at") || DateTime.utc_now() |> DateTime.to_iso8601()
}
"fire_structure" ->
%FireStructurePolicy.RecordPolicyIssued{
id: PolicyId.new(org_id, policy_type, app_id),
provider_policy_number: Map.get(submission, "provider_policy_number"),
effective_date: Map.get(submission, "effective_date"),
expiry_date: Map.get(submission, "expiry_date"),
issued_at:
Map.get(submission, "issued_at") || DateTime.utc_now() |> DateTime.to_iso8601()
}
"fire_contents" ->
%FireContentsPolicy.RecordPolicyIssued{
id: PolicyId.new(org_id, policy_type, app_id),
provider_policy_number: Map.get(submission, "provider_policy_number"),
effective_date: Map.get(submission, "effective_date"),
expiry_date: Map.get(submission, "expiry_date"),
issued_at:
Map.get(submission, "issued_at") || DateTime.utc_now() |> DateTime.to_iso8601()
}
end
case CommandedApp.dispatch(cmd, consistency: :strong) do