Add support for partial POST to '/api/v1/auth/preferences'

This commit is contained in:
Omar Roth 2019-05-30 18:31:22 -05:00
parent ac957db6d1
commit da48bbf312
No known key found for this signature in database
GPG key ID: B8254FB7EC3D37F2
3 changed files with 195 additions and 29 deletions

View file

@ -1880,7 +1880,7 @@ post "/data_control" do |env|
end
if body["preferences"]?
user.preferences = Preferences.from_json(body["preferences"].to_json)
user.preferences = Preferences.from_json(body["preferences"].to_json, user.preferences)
PG_DB.exec("UPDATE users SET preferences = $1 WHERE email = $2", user.preferences.to_json, user.email)
end
when "import_youtube"
@ -4468,7 +4468,7 @@ post "/api/v1/auth/preferences" do |env|
user = env.get("user").as(User)
begin
preferences = Preferences.from_json(env.request.body || "{}")
preferences = Preferences.from_json(env.request.body || "{}", user.preferences)
rescue
preferences = user.preferences
end