When logging in, try treating the login as an email

Closes #245
This commit is contained in:
Ekaterina Vaartis 2018-08-25 21:22:34 +03:00
parent ffa552f1a4
commit 540cce5d10
1 changed files with 10 additions and 2 deletions

View File

@ -8,8 +8,16 @@ defmodule Pleroma.Web.Router do
@public Keyword.get(@instance, :public)
@registrations_open Keyword.get(@instance, :registrations_open)
def user_fetcher(username) do
{:ok, Repo.get_by(User, %{nickname: username})}
def user_fetcher(username_or_email) do
{
:ok,
cond do
# First, try logging in as if it was a name
user = Repo.get_by(User, %{nickname: username_or_email}) -> user
# If we get nil, we try using it as an email
user = Repo.get_by(User, %{email: username_or_email}) -> user
end
}
end
pipeline :api do