diff --git a/app/actions/auth/login.rb b/app/actions/auth/login.rb deleted file mode 100644 index a06d76b..0000000 --- a/app/actions/auth/login.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -module EuchreCamp - module Actions - module Auth - class Login < EuchreCamp::Action - include Deps[ - users_repo: 'repositories.users', - players_repo: 'repositories.players' - ] - - # Show login form (GET) - class Show < Login - def handle(request, response) - render_with_player(request, response) - end - end - - # Process login (POST) - class Create < Login - def handle(request, response) - email = request.params[:email] - password = request.params[:password] - - user = users_repo.by_email(email) - - if user && valid_password?(user, password) - if user.locked? - response.flash[:error] = 'Account is locked. Please contact support.' - response.redirect_to '/login' - return - end - - # Record successful login - ip_address = request.env['REMOTE_ADDR'] - users_repo.record_login(user[:id], ip_address) - - # Create session - session = request.session - session[:user_id] = user[:id] - session[:player_id] = user[:player_id] - - response.flash[:success] = 'Welcome back!' - response.redirect_to '/rankings' - else - # Record failed login - users_repo.record_failed_login(user[:id]) if user - - response.flash[:error] = 'Invalid email or password' - response.redirect_to '/login' - end - end - - private - - def valid_password?(user, password) - BCrypt::Password.new(user[:password_digest]) == password - end - end - end - end - end -end diff --git a/app/templates/auth/login.html.erb b/app/templates/auth/login.html.erb deleted file mode 100644 index c38d99c..0000000 --- a/app/templates/auth/login.html.erb +++ /dev/null @@ -1,39 +0,0 @@ -
Don't have an account? Register here
- -