partition by org_id and add auth
All checks were successful
Build and Publish / build-release (push) Successful in 3m7s

This commit is contained in:
2026-05-15 10:08:54 -05:00
parent a0b5e0c0b3
commit 4519f797fd
26 changed files with 687 additions and 112 deletions

View File

@@ -1,4 +1,30 @@
defmodule CustomerService.Events do
@moduledoc """
Events macro for adding JsonDecoder to domain events.
"""
alias CustomerService.Aggregates.CustomerId
alias CustomerService.Aggregates.LeadId
defmacro __using__(_opts) do
quote do
defimpl Commanded.Serialization.JsonDecoder do
def decode(%{id: %CustomerId{} = id} = event) do
%{event | id: id}
end
def decode(%{id: %LeadId{} = id} = event) do
%{event | id: id}
end
def decode(event), do: event
end
end
end
end
defmodule CustomerService.Events.CustomerCreated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -14,6 +40,7 @@ defmodule CustomerService.Events.CustomerCreated do
end
defmodule CustomerService.Events.CorporateCustomerCreated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -29,6 +56,7 @@ defmodule CustomerService.Events.CorporateCustomerCreated do
end
defmodule CustomerService.Events.CustomerUpdated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -44,6 +72,7 @@ defmodule CustomerService.Events.CustomerUpdated do
end
defmodule CustomerService.Events.CorporateCustomerUpdated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -59,6 +88,7 @@ defmodule CustomerService.Events.CorporateCustomerUpdated do
end
defmodule CustomerService.Events.QuickLeadCreated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -77,6 +107,7 @@ defmodule CustomerService.Events.QuickLeadCreated do
end
defmodule CustomerService.Events.QuickLeadUpdated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [
:id,
@@ -92,6 +123,7 @@ defmodule CustomerService.Events.QuickLeadUpdated do
end
defmodule CustomerService.Events.LeadStatusUpdated do
use CustomerService.Events
@derive Jason.Encoder
defstruct [:id, :status, :previous_status, :updated_at]
end