Finalize frontend of session management

This commit is contained in:
2025-06-26 19:45:20 +03:00
parent 169c4faa7d
commit 3da7f369a5
9 changed files with 235 additions and 149 deletions

36
main.rb
View File

@@ -1,4 +1,5 @@
require "base64"
require "erb"
require "json"
require "net/http"
require "sequel"
@@ -19,7 +20,7 @@ env_data.each_line do |line|
ENV_HASH[match[1]] = match[2]
end
Logman.log ENV_HASH.inspect
# Logman.log ENV_HASH.inspect
CODE_ENV = :dev
@@ -36,8 +37,9 @@ set :public_folder, "public"
get "/" do
session = Sessions.new request, response
Logman.log session.message
send_file "index.html"
Logman.log session.message if session.message != ""
@signed_in = session.signed_in?.nil? ? false : true
ERB.new(File.read("index.erb")).result(binding)
end
get "/debug" do
@@ -48,7 +50,7 @@ end
post "/signup" do
session = Sessions.new request, response
uid = session["user"]
session.logout(uid) if uid.nil? || $active_users[uid].nil?
session.logout unless uid.nil? || $active_users[uid].nil?
data = JSON.parse(request.body.read)
if data["email"].nil? || data["pass"].nil? || data["username"].nil?
status 400
@@ -57,8 +59,13 @@ post "/signup" do
signup_status = Players.mk_player(data["username"], data["email"], data["pass"])
if signup_status[0] == 200
login_status = session.login(data["username"], data["pass"])
status login_status[0]
return { "message" => login_status[1] }.to_json
if login_status[0] == 200
status 200
return { "message" => login_status[1], "success" => "true" }.to_json
else
status login_status[0]
return { "message" => login_status[1] }.to_json
end
end
status signup_status[0]
return { "message" => signup_status[1] }.to_json
@@ -74,7 +81,7 @@ post "/login" do
data = JSON.parse(request.body.read)
session = Sessions.new request, response
uid = session["user"]
if $active_users[uid] && !session.logout(uid)
if $active_users[uid] && !session.logout
status 500
return { "message" => "Internal server error when signing the existing session out!" }.to_json
end
@@ -83,8 +90,13 @@ post "/login" do
return { "message" => "Bad request made!" }.to_json
end
login_status = session.login(data["username"], data["pass"])
status login_status[0]
return { "message" => login_status[1] }.to_json
if login_status[0] == 200
status 200
return { "message" => login_status[1], "success" => "true" }.to_json
else
status login_status[0]
return { "message" => login_status[1] }.to_json
end
end
post "/logout" do
@@ -94,7 +106,7 @@ post "/logout" do
status 400
return { "message" => "Not signed in!" }.to_json
end
unless session.logout(uid)
unless session.logout
status 500
return { "message" => "Internal server error when signing you out!" }.to_json
end
@@ -105,7 +117,7 @@ end
get "/logout" do
session = Sessions.new request, response
uid = session["user"]
session.logout(uid) unless $active_users[uid].nil?
session.logout unless $active_users[uid].nil?
redirect "/"
end
@@ -165,7 +177,7 @@ delete "/rm_player" do
status 400
return { "message" => "Not signed in!" }.to_json
end
if session.logout(uid) && Players.rm_player($active_users[uid])
if session.logout && Players.rm_player($active_users[uid])
status 200
return { "message" => "Sorry to see you go.." }.to_json
else