This commit is contained in:
@@ -9,12 +9,31 @@ defmodule CustomerService.Events do
|
|||||||
defmacro __using__(_opts) do
|
defmacro __using__(_opts) do
|
||||||
quote do
|
quote do
|
||||||
defimpl Commanded.Serialization.JsonDecoder do
|
defimpl Commanded.Serialization.JsonDecoder do
|
||||||
def decode(%{id: %CustomerId{} = id} = event) do
|
def decode(
|
||||||
%{event | id: id}
|
%{
|
||||||
|
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
|
end
|
||||||
|
|
||||||
def decode(%{id: %LeadId{} = id} = event) do
|
def decode(
|
||||||
%{event | id: id}
|
%{
|
||||||
|
id: %{
|
||||||
|
org_id: org_id,
|
||||||
|
type: "lead",
|
||||||
|
lead_id: lead_id
|
||||||
|
}
|
||||||
|
} = event
|
||||||
|
) do
|
||||||
|
%{event | id: CustomerService.Aggregates.LeadId.new(org_id, lead_id)}
|
||||||
end
|
end
|
||||||
|
|
||||||
def decode(event), do: event
|
def decode(event), do: event
|
||||||
|
|||||||
Reference in New Issue
Block a user