diff --git a/lib/customer_service/events.ex b/lib/customer_service/events.ex index 2a26294..2687d22 100644 --- a/lib/customer_service/events.ex +++ b/lib/customer_service/events.ex @@ -9,12 +9,31 @@ defmodule CustomerService.Events do defmacro __using__(_opts) do quote do defimpl Commanded.Serialization.JsonDecoder do - def decode(%{id: %CustomerId{} = id} = event) do - %{event | id: id} + def decode( + %{ + id: %{ + org_id: org_id, + customer_type: customer_type, + customer_id: customer_id + } + } = event + ) do + %{ + event + | id: CustomerService.Aggregates.CustomerId.new(org_id, customer_type, customer_id) + } end - def decode(%{id: %LeadId{} = id} = event) do - %{event | id: id} + def decode( + %{ + id: %{ + org_id: org_id, + type: "lead", + lead_id: lead_id + } + } = event + ) do + %{event | id: CustomerService.Aggregates.LeadId.new(org_id, lead_id)} end def decode(event), do: event