Mailglass.Credo.NoUnscopedTenantQueryInLib (Mailglass v1.0.0)

Copy Markdown View Source

Basics

This check is disabled by default.

Learn how to enable it via .credo.exs.

This check has a base priority of high and works with any version of Elixir.

Explanation

Repo queries touching tenanted mailglass schemas must be scoped through Mailglass.Tenancy.scope/2 unless explicitly marked with scope: :unscoped.

Check-Specific Parameters

Use the following parameters to configure this check:

:tenanted_schemas

Schemas treated as tenant-scoped resources.

This parameter defaults to [Mailglass.Outbound.Delivery, Mailglass.Events.Event, Mailglass.Suppression.Entry, Mailglass.Webhook.WebhookEvent].

:included_path_prefixes

Only files in these path prefixes are linted.

This parameter defaults to ["lib/mailglass/"].

:repo_functions

Repo functions treated as query entry points.

This parameter defaults to [:all, :one, :get, :get!, :get_by, :get_by!].

:scope_module

Module that provides scope/2.

This parameter defaults to Mailglass.Tenancy.

:unscoped_audit_helpers

Remote helper calls that satisfy the scope: :unscoped telemetry audit requirement.

This parameter defaults to [{Mailglass.Tenancy, :audit_unscoped_bypass}].

General Parameters

Like with all checks, general params can be applied.

Parameters can be configured via the .credo.exs config file.