Minor fixes.
This commit is contained in:
+6
-19
@@ -21,7 +21,6 @@ class Sessions
|
||||
end
|
||||
|
||||
def login(username, pass)
|
||||
Logman.log "Logging in: #{username} & #{pass} #{ENV_HASH["SALT"]}"
|
||||
player = Players.authorized?(username, pass)
|
||||
if player
|
||||
code = Array.new(24) { ALPHANUM.sample }.join
|
||||
@@ -40,11 +39,8 @@ class Sessions
|
||||
end
|
||||
end
|
||||
|
||||
# TODO: Use .all here
|
||||
def []=(key, val)
|
||||
session = @request.cookies["session"]
|
||||
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
|
||||
session = JSON.parse(session)
|
||||
session = all
|
||||
session[key] = val
|
||||
Logman.log "Updated: #{key} to #{val}"
|
||||
compressed = Zlib::Deflate.deflate(JSON.generate(session))
|
||||
@@ -58,16 +54,12 @@ class Sessions
|
||||
samesite: :strict)
|
||||
uid = session["user"]
|
||||
DB["UPDATE SignedInUsers SET last_used_at = CURRENT_TIMESTAMP WHERE code = ?", uid].update if uid
|
||||
rescue JSON::ParserError, Zlib::Error
|
||||
@response.delete_cookie("session")
|
||||
rescue Sequel::Error => e
|
||||
Logman.log "DB Error: #{e.message} when updating last_used_at for #{uid}"
|
||||
end
|
||||
|
||||
def [](key)
|
||||
session = @request.cookies["session"]
|
||||
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
|
||||
session = JSON.parse(session)
|
||||
session = all
|
||||
begin
|
||||
uid = session["user"]
|
||||
DB["UPDATE SignedInUsers SET last_used_at = CURRENT_TIMESTAMP WHERE code = ?", uid].update if uid
|
||||
@@ -75,9 +67,6 @@ class Sessions
|
||||
Logman.log "DB Error: #{e.message} when updating last_used_at for #{uid}"
|
||||
end
|
||||
session[key]
|
||||
rescue JSON::ParserError, Zlib::Error
|
||||
@response.delete_cookie("session")
|
||||
""
|
||||
end
|
||||
|
||||
def message=(val)
|
||||
@@ -85,7 +74,7 @@ class Sessions
|
||||
value: val,
|
||||
path: "/",
|
||||
expires: Time.now + 360 * 24 * 60 * 60,
|
||||
secure: ENV_HASH["ENV"] == "prod",
|
||||
secure: ENV["ENV"] == "prod",
|
||||
samesite: :strict)
|
||||
end
|
||||
|
||||
@@ -107,9 +96,7 @@ class Sessions
|
||||
end
|
||||
|
||||
def delete(key)
|
||||
session = @request.cookies["session"]
|
||||
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
|
||||
session = JSON.parse(session)
|
||||
session = all
|
||||
session.delete(key)
|
||||
Logman.log "Deleted: #{key}"
|
||||
Logman.log session.inspect
|
||||
@@ -120,7 +107,7 @@ class Sessions
|
||||
path: "/",
|
||||
expires: Time.now + 360 * 24 * 60 * 60,
|
||||
httponly: true,
|
||||
secure: ENV_HASH["ENV"] == "prod",
|
||||
secure: ENV["ENV"] == "prod",
|
||||
samesite: :strict)
|
||||
rescue JSON::ParserError, Zlib::Error
|
||||
@response.delete_cookie("session")
|
||||
@@ -140,7 +127,7 @@ class Sessions
|
||||
Logman.log "Thread DB error: #{e.message} on #{session[:code]} for #{session[:player]}"
|
||||
end
|
||||
$active_users.delete(session[:code])
|
||||
puts "Auto-logged out: #{session[:player]} (expired session)"
|
||||
Logman.log "Auto-logged out: #{session[:player]} (expired session)"
|
||||
end
|
||||
rescue StandardError => e
|
||||
Logman.log "Thread error: #{e.message}"
|
||||
|
||||
Reference in New Issue
Block a user