Fix Credo Design (AliasUsage): add aliases in lib
Add module aliases at top and use short names instead of fully qualified nested modules across lib/.
This commit is contained in:
parent
cfc8900c5c
commit
7a8b069834
25 changed files with 176 additions and 109 deletions
|
|
@ -5,22 +5,28 @@ defmodule Mv.Application do
|
|||
|
||||
use Application
|
||||
|
||||
alias Mv.Helpers.SystemActor
|
||||
alias Mv.Repo
|
||||
alias Mv.Vereinfacht.SyncFlash
|
||||
alias MvWeb.Endpoint
|
||||
alias MvWeb.Telemetry
|
||||
|
||||
@impl true
|
||||
def start(_type, _args) do
|
||||
Mv.Vereinfacht.SyncFlash.create_table!()
|
||||
SyncFlash.create_table!()
|
||||
|
||||
children = [
|
||||
MvWeb.Telemetry,
|
||||
Mv.Repo,
|
||||
Telemetry,
|
||||
Repo,
|
||||
{Task.Supervisor, name: Mv.TaskSupervisor},
|
||||
{DNSCluster, query: Application.get_env(:mv, :dns_cluster_query) || :ignore},
|
||||
{Phoenix.PubSub, name: Mv.PubSub},
|
||||
{AshAuthentication.Supervisor, otp_app: :my},
|
||||
Mv.Helpers.SystemActor,
|
||||
SystemActor,
|
||||
# Start a worker by calling: Mv.Worker.start_link(arg)
|
||||
# {Mv.Worker, arg},
|
||||
# Start to serve requests, typically the last entry
|
||||
MvWeb.Endpoint
|
||||
Endpoint
|
||||
]
|
||||
|
||||
# See https://hexdocs.pm/elixir/Supervisor.html
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ defmodule Mv.Authorization.Checks.ActorIsSystemUser do
|
|||
"""
|
||||
use Ash.Policy.SimpleCheck
|
||||
|
||||
alias Mv.Helpers.SystemActor
|
||||
|
||||
@impl true
|
||||
def describe(_opts), do: "actor is the system user"
|
||||
|
||||
@impl true
|
||||
def match?(actor, _context, _opts), do: Mv.Helpers.SystemActor.system_user?(actor)
|
||||
def match?(actor, _context, _opts), do: SystemActor.system_user?(actor)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ defmodule Mv.Authorization.Checks.CustomFieldValueCreateScope do
|
|||
end
|
||||
"""
|
||||
use Ash.Policy.Check
|
||||
alias Mv.Authorization.Actor
|
||||
alias Mv.Authorization.PermissionSets
|
||||
|
||||
@impl true
|
||||
|
|
@ -67,5 +68,5 @@ defmodule Mv.Authorization.Checks.CustomFieldValueCreateScope do
|
|||
end
|
||||
end
|
||||
|
||||
defp ensure_role_loaded(actor), do: Mv.Authorization.Actor.ensure_loaded(actor)
|
||||
defp ensure_role_loaded(actor), do: Actor.ensure_loaded(actor)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ defmodule Mv.Authorization.Checks.HasPermission do
|
|||
use Ash.Policy.Check
|
||||
require Ash.Query
|
||||
import Ash.Expr
|
||||
alias Mv.Authorization.Actor
|
||||
alias Mv.Authorization.PermissionSets
|
||||
require Logger
|
||||
|
||||
|
|
@ -397,6 +398,6 @@ defmodule Mv.Authorization.Checks.HasPermission do
|
|||
# Fallback: Load role if not loaded (in case on_mount didn't run)
|
||||
# Delegates to centralized Actor helper
|
||||
defp ensure_role_loaded(actor) do
|
||||
Mv.Authorization.Actor.ensure_loaded(actor)
|
||||
Actor.ensure_loaded(actor)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -94,14 +94,16 @@ defmodule Mv.Authorization.Role do
|
|||
end
|
||||
end
|
||||
|
||||
alias Mv.Authorization.PermissionSets
|
||||
|
||||
validations do
|
||||
validate one_of(
|
||||
:permission_set_name,
|
||||
Mv.Authorization.PermissionSets.all_permission_sets()
|
||||
PermissionSets.all_permission_sets()
|
||||
|> Enum.map(&Atom.to_string/1)
|
||||
),
|
||||
message:
|
||||
"must be one of: #{Mv.Authorization.PermissionSets.all_permission_sets() |> Enum.map_join(", ", &Atom.to_string/1)}"
|
||||
"must be one of: #{PermissionSets.all_permission_sets() |> Enum.map_join(", ", &Atom.to_string/1)}"
|
||||
|
||||
validate fn changeset, _context ->
|
||||
if changeset.data.is_system_role do
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ defmodule Mv.Membership.MemberExport do
|
|||
alias Mv.Membership.CustomField
|
||||
alias Mv.Membership.Member
|
||||
alias Mv.Membership.MemberExportSort
|
||||
alias MvWeb.MemberLive.Index
|
||||
alias MvWeb.MemberLive.Index.MembershipFeeStatus
|
||||
|
||||
@member_fields_allowlist (Mv.Constants.member_fields() |> Enum.map(&Atom.to_string/1)) ++
|
||||
|
|
@ -169,7 +170,7 @@ defmodule Mv.Membership.MemberExport do
|
|||
if parsed.selected_ids == [] do
|
||||
members
|
||||
|> apply_cycle_status_filter(parsed.cycle_status_filter, parsed.show_current_cycle)
|
||||
|> MvWeb.MemberLive.Index.apply_boolean_custom_field_filters(
|
||||
|> Index.apply_boolean_custom_field_filters(
|
||||
parsed.boolean_filters || %{},
|
||||
Map.values(custom_fields_by_id)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ defmodule Mv.Membership.MemberExport.Build do
|
|||
import Ash.Expr
|
||||
|
||||
alias Mv.Membership.{CustomField, CustomFieldValueFormatter, Member, MemberExportSort}
|
||||
alias MvWeb.MemberLive.Index
|
||||
alias MvWeb.MemberLive.Index.MembershipFeeStatus
|
||||
|
||||
@custom_field_prefix Mv.Constants.custom_field_prefix()
|
||||
|
|
@ -169,7 +170,7 @@ defmodule Mv.Membership.MemberExport.Build do
|
|||
if parsed.selected_ids == [] do
|
||||
members
|
||||
|> apply_cycle_status_filter(parsed.cycle_status_filter, parsed.show_current_cycle)
|
||||
|> MvWeb.MemberLive.Index.apply_boolean_custom_field_filters(
|
||||
|> Index.apply_boolean_custom_field_filters(
|
||||
parsed.boolean_filters || %{},
|
||||
Map.values(custom_fields_by_id)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ defmodule Mv.MembershipFees.CycleGenerator do
|
|||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.Repo
|
||||
|
||||
alias Ecto.Adapters.SQL, as: EctoSQL
|
||||
|
||||
require Ash.Query
|
||||
require Logger
|
||||
|
||||
|
|
@ -113,7 +115,7 @@ defmodule Mv.MembershipFees.CycleGenerator do
|
|||
lock_key = :erlang.phash2(member.id)
|
||||
|
||||
Repo.transaction(fn ->
|
||||
Ecto.Adapters.SQL.query!(Repo, "SELECT pg_advisory_xact_lock($1)", [lock_key])
|
||||
EctoSQL.query!(Repo, "SELECT pg_advisory_xact_lock($1)", [lock_key])
|
||||
|
||||
case do_generate_cycles(member, today, opts) do
|
||||
{:ok, cycles, notifications} ->
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ defmodule Mv.Vereinfacht.Changes.SyncContact do
|
|||
"""
|
||||
use Ash.Resource.Change
|
||||
|
||||
alias Mv.Vereinfacht
|
||||
alias Mv.Vereinfacht.SyncFlash
|
||||
|
||||
require Logger
|
||||
|
||||
@synced_attributes [
|
||||
|
|
@ -60,13 +63,13 @@ defmodule Mv.Vereinfacht.Changes.SyncContact do
|
|||
|
||||
# Ash calls after_transaction with (changeset, result) only - 2 args.
|
||||
defp sync_after_transaction(_changeset, {:ok, member}) do
|
||||
case Mv.Vereinfacht.sync_member(member) do
|
||||
case Vereinfacht.sync_member(member) do
|
||||
:ok ->
|
||||
Mv.Vereinfacht.SyncFlash.store(to_string(member.id), :ok, "Synced to Vereinfacht.")
|
||||
SyncFlash.store(to_string(member.id), :ok, "Synced to Vereinfacht.")
|
||||
{:ok, member}
|
||||
|
||||
{:ok, member_updated} ->
|
||||
Mv.Vereinfacht.SyncFlash.store(
|
||||
SyncFlash.store(
|
||||
to_string(member_updated.id),
|
||||
:ok,
|
||||
"Synced to Vereinfacht."
|
||||
|
|
@ -77,10 +80,10 @@ defmodule Mv.Vereinfacht.Changes.SyncContact do
|
|||
{:error, reason} ->
|
||||
Logger.warning("Vereinfacht sync failed for member #{member.id}: #{inspect(reason)}")
|
||||
|
||||
Mv.Vereinfacht.SyncFlash.store(
|
||||
SyncFlash.store(
|
||||
to_string(member.id),
|
||||
:warning,
|
||||
Mv.Vereinfacht.format_error(reason)
|
||||
Vereinfacht.format_error(reason)
|
||||
)
|
||||
|
||||
{:ok, member}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue