Update handling for preferences

This commit is contained in:
Omar Roth 2019-03-28 13:43:40 -05:00
parent eee973fe86
commit 388e58bf1e
4 changed files with 63 additions and 90 deletions

View file

@ -160,7 +160,12 @@ proxies = PROXY_LIST
before_all do |env|
env.response.headers["X-XSS-Protection"] = "1; mode=block;"
env.response.headers["X-Content-Type-Options"] = "nosniff"
preferences = DEFAULT_USER_PREFERENCES.dup
begin
preferences = Preferences.from_json(env.request.cookies["PREFS"]?.try &.value || "{}")
rescue
preferences = Preferences.from_json("{}")
end
if env.request.cookies.has_key? "SID"
headers = HTTP::Headers.new
@ -201,10 +206,6 @@ before_all do |env|
end
end
if env.request.cookies.has_key? "PREFS"
preferences = Preferences.from_json(env.request.cookies["PREFS"].value)
end
dark_mode = env.params.query["dark_mode"]? || preferences.dark_mode.to_s
dark_mode = dark_mode == "true"
@ -1082,12 +1083,6 @@ post "/login" do |env|
next templated "error"
end
user = PG_DB.query_one?("SELECT * FROM users WHERE LOWER(email) = LOWER($1) AND password IS NOT NULL", email, as: User)
if user
error_message = translate(locale, "Please sign in")
next templated "error"
end
sid = Base64.urlsafe_encode(Random::Secure.random_bytes(32))
user, sid = create_user(sid, email, password)
user_array = user.to_a