View Source Pow.Extension.Ecto.Schema.Base behaviour (Pow v1.0.38)

Used for extensions to extend user schemas.

The macro will add fallback functions to the module, that can be overridden.

Usage

defmodule MyPowExtension.Ecto.Schema do
  use Pow.Extension.Ecto.Schema.Base

  @impl true
  def attrs(_config) do
    [{:custom_field, :string}]
  end

  @impl true
  def changeset(changeset, _config) do
    Ecto.Changeset.validate_required(changeset, [:custom_field])
  end
end

Summary

Callbacks

@macrocallback __using__(Pow.Config.t()) :: Macro.t()
@callback assocs(Pow.Config.t()) :: [tuple()]
@callback attrs(Pow.Config.t()) :: [tuple()]
@callback changeset(Ecto.Changeset.t(), map(), Pow.Config.t()) :: Ecto.Changeset.t()
@callback indexes(Pow.Config.t()) :: [tuple()]
@callback validate!(Pow.Config.t(), atom()) :: :ok