refactor(vereinfacht): reuse EmailSync.Loader for linked-member lookup
This commit is contained in:
parent
0cf27c95ca
commit
ea105186a5
1 changed files with 2 additions and 18 deletions
|
|
@ -10,10 +10,7 @@ defmodule Mv.Vereinfacht.Changes.SyncLinkedMemberAfterUserChange do
|
||||||
use Ash.Resource.Change
|
use Ash.Resource.Change
|
||||||
|
|
||||||
require Logger
|
require Logger
|
||||||
alias Mv.Helpers
|
alias Mv.EmailSync.Loader
|
||||||
alias Mv.Helpers.SystemActor
|
|
||||||
alias Mv.Membership
|
|
||||||
alias Mv.Membership.Member
|
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def change(changeset, _opts, _context) do
|
def change(changeset, _opts, _context) do
|
||||||
|
|
@ -32,7 +29,7 @@ defmodule Mv.Vereinfacht.Changes.SyncLinkedMemberAfterUserChange do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp sync_linked_member_after_transaction(_changeset, {:ok, user}) do
|
defp sync_linked_member_after_transaction(_changeset, {:ok, user}) do
|
||||||
case load_linked_member(user) do
|
case Loader.get_linked_member(user) do
|
||||||
nil ->
|
nil ->
|
||||||
{:ok, user}
|
{:ok, user}
|
||||||
|
|
||||||
|
|
@ -55,17 +52,4 @@ defmodule Mv.Vereinfacht.Changes.SyncLinkedMemberAfterUserChange do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp sync_linked_member_after_transaction(_changeset, result), do: result
|
defp sync_linked_member_after_transaction(_changeset, result), do: result
|
||||||
|
|
||||||
defp load_linked_member(%{member_id: nil}), do: nil
|
|
||||||
defp load_linked_member(%{member_id: ""}), do: nil
|
|
||||||
|
|
||||||
defp load_linked_member(user) do
|
|
||||||
actor = SystemActor.get_system_actor()
|
|
||||||
opts = Helpers.ash_actor_opts(actor)
|
|
||||||
|
|
||||||
case Ash.get(Member, user.member_id, [domain: Membership] ++ opts) do
|
|
||||||
{:ok, %Member{} = member} -> member
|
|
||||||
_ -> nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue