This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user