- def hash_pwd_salt(password, opts \\ []) do
- salt =
- Keyword.get_lazy(opts, :salt, fn ->
- :crypto.strong_rand_bytes(16)
- end)
+ @spec maybe_update_password(User.t(), String.t()) ::
+ {:ok, User.t()} | {:error, Ecto.Changeset.t()}
+ def maybe_update_password(%User{password_hash: "$2" <> _} = user, password) do
+ do_update_password(user, password)
+ end