about summary refs log tree commit diff
path: root/app/controllers/api
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2018-04-08 19:05:02 -0500
committerDavid Yip <yipdw@member.fsf.org>2018-04-08 19:05:02 -0500
commit67e77f230e93b2e2ac05632a7cccdb5f26537f3b (patch)
tree6fd9801a67dc1576e5711177fdeeac04f2622098 /app/controllers/api
parent695b53b796767e307d8ce0f5d11c2a82cb85bfd5 (diff)
parent0893b1669548858daee79ab1260fb98646a0b3fa (diff)
Merge remote-tracking branch 'origin/master' into gs-master
  Conflicts:
 	app/serializers/initial_state_serializer.rb

The glitch flavour isn't yet pulling custom emoji data on its own (see
https://github.com/tootsuite/mastodon/pull/7047).  Once that gets into
the glitch flavour, we can eliminate the custom_emojis load.
Diffstat (limited to 'app/controllers/api')
-rw-r--r--app/controllers/api/v1/accounts/credentials_controller.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/controllers/api/v1/accounts/credentials_controller.rb b/app/controllers/api/v1/accounts/credentials_controller.rb
index 68af22529..062d490a7 100644
--- a/app/controllers/api/v1/accounts/credentials_controller.rb
+++ b/app/controllers/api/v1/accounts/credentials_controller.rb
@@ -13,6 +13,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
   def update
     @account = current_account
     UpdateAccountService.new.call(@account, account_params, raise_error: true)
+    UserSettingsDecorator.new(current_user).update(user_settings_params) if user_settings_params
     ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
     render json: @account, serializer: REST::CredentialAccountSerializer
   end
@@ -22,4 +23,15 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
   def account_params
     params.permit(:display_name, :note, :avatar, :header, :locked)
   end
+
+  def user_settings_params
+    return nil unless params.key?(:source)
+
+    source_params = params.require(:source)
+
+    {
+      'setting_default_privacy' => source_params.fetch(:privacy, @account.user.setting_default_privacy),
+      'setting_default_sensitive' => source_params.fetch(:sensitive, @account.user.setting_default_sensitive),
+    }
+  end
 end