Current section

Files

Jump to
pow lib extensions reset_password ecto schema.ex
Raw

lib/extensions/reset_password/ecto/schema.ex

defmodule PowResetPassword.Ecto.Schema do
@moduledoc false
use Pow.Extension.Ecto.Schema.Base
alias Ecto.Changeset
alias Pow.Extension.Ecto.Schema
@impl true
def validate!(_config, module) do
Schema.require_schema_field!(module, :email, PowResetPassword)
end
@doc false
@impl true
defmacro __using__(_config) do
quote do
def reset_password_changeset(changeset, attrs), do: pow_reset_password_changeset(changeset, attrs)
defdelegate pow_reset_password_changeset(changeset, attrs), to: unquote(__MODULE__), as: :reset_password_changeset
defoverridable reset_password_changeset: 2
end
end
@spec reset_password_changeset(map(), map()) :: Changeset.t()
def reset_password_changeset(%user_mod{} = user, params) do
user
|> user_mod.pow_password_changeset(params)
|> Changeset.validate_required([:password])
end
end