price-point-api/app/controllers/sessions_controller.rb
Mohammad Kanaan 13992e1dbe
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
feat: implement user authentication and session management
2026-06-14 14:12:37 +03:00

26 lines
526 B
Ruby

class SessionsController < ApplicationController
skip_before_action :authenticate!, only: [ :create ]
def create
user = User.find_by(email: login_params[:email])
unless user.present? && user.authenticate(login_params[:password])
raise Unauthorized
end
session = user.sessions.create!
render_success(user: user, token: session.token)
end
def destroy
@current_session.destroy!
render_success(nil)
end
private
def login_params
params.permit(:email, :password)
end
end