Rewritten using quasar framework

This commit is contained in:
2022-11-30 00:37:19 +10:00
commit bca211f706
116 changed files with 6346 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
class ApplicationController < ActionController::API
def authorize_request
header = request.headers['Authorization']
header = header.split(' ').last if header
begin
@decoded = JsonWebToken.decode(header)
@current_user = User.find(@decoded[:user_id])
rescue ActiveRecord::RecordNotFound => e
render json: { errors: e.message }, status: :unauthorized
rescue JWT::DecodeError => e
render json: { errors: e.message }, status: :unauthorized
end
end
end

View File

@@ -0,0 +1,19 @@
class Auth::LoginController < ApplicationController
def post
@user = User.find_by_email(params[:email])
if @user&.authenticate(params[:password])
token = JsonWebToken.encode(user_id: @user.id)
time = Time.now + 24.hours.to_i
render json: { token: token, exp: time.strftime("%m-%d-%Y %H:%M"),
username: @user.username }, status: :ok
else
render json: { error: 'unauthorized' }, status: :unauthorized
end
end
private
def login_params
params.permit(:email, :password)
end
end

View File

@@ -0,0 +1,19 @@
class Auth::RegisterController < ApplicationController
def post
@user = User.new(user_params)
if @user.save
render status: :created
else
render json: { errors: @user.errors.full_messages },
status: :unprocessable_entity
end
end
private
def user_params
params.permit(
:username, :email, :password, :password_confirmation
)
end
end

View File