end
end
- def confirm_email(conn, %{"token" => token}) do
- with %User{} = user <- User.get_by_confirmation_token(token),
+ def confirm_email(conn, %{"user_id" => uid, "token" => token}) do
+ with %User{} = user <- Repo.get(User, uid),
true <- user.local,
+ true <- user.info.confirmation_pending,
+ true <- user.info.confirmation_token == token,
info_change <- User.Info.confirmation_changeset(user.info, :confirmed),
changeset <- Changeset.change(user) |> Changeset.put_embed(:info, info_change),
{:ok, _} <- User.update_and_set_cache(changeset) do