summaryrefslogtreecommitdiff
path: root/app/models/services/login_command.rb
blob: 1e228209f7087d781737d8756ec11287baf78171 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class LoginCommand
  def initialize(users = User)
    @users = users
  end

  def run(context)
    user = @users.find_by(email: context.params[:email])
    return nil unless user

    if user && (user_session = user.login(context.params[:password]))
      user_session.access(context.request)
    end
  end
end