about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-02 15:57:37 +0200
committerGitHub <noreply@github.com>2018-05-02 15:57:37 +0200
commitcae933510cbc64db27aeb44e205ce17ff4974da7 (patch)
treee009754d98cddbe43b53f0c3e05ee4376749b50d
parentf62539ce5c106e27a371702d499ec4df52eccde6 (diff)
Allow updating bio fields via PUT /api/v1/accounts/update_credentials (#7288)
Add raw bio fields to the source attribute on GET /api/v1/accounts/verify_credentials
-rw-r--r--app/controllers/api/v1/accounts/credentials_controller.rb2
-rw-r--r--app/models/account.rb4
-rw-r--r--app/serializers/rest/credential_account_serializer.rb2
3 files changed, 7 insertions, 1 deletions
diff --git a/app/controllers/api/v1/accounts/credentials_controller.rb b/app/controllers/api/v1/accounts/credentials_controller.rb
index 062d490a7..a3c4008e6 100644
--- a/app/controllers/api/v1/accounts/credentials_controller.rb
+++ b/app/controllers/api/v1/accounts/credentials_controller.rb
@@ -21,7 +21,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
   private
 
   def account_params
-    params.permit(:display_name, :note, :avatar, :header, :locked)
+    params.permit(:display_name, :note, :avatar, :header, :locked, fields_attributes: [:name, :value])
   end
 
   def user_settings_params
diff --git a/app/models/account.rb b/app/models/account.rb
index 0cd2a10d5..a166fb474 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -273,6 +273,10 @@ class Account < ApplicationRecord
       @value   = attr['value']
       @errors  = {}
     end
+
+    def to_h
+      { name: @name, value: @value }
+    end
   end
 
   class << self
diff --git a/app/serializers/rest/credential_account_serializer.rb b/app/serializers/rest/credential_account_serializer.rb
index 870d8b71f..56857cba8 100644
--- a/app/serializers/rest/credential_account_serializer.rb
+++ b/app/serializers/rest/credential_account_serializer.rb
@@ -5,10 +5,12 @@ class REST::CredentialAccountSerializer < REST::AccountSerializer
 
   def source
     user = object.user
+
     {
       privacy: user.setting_default_privacy,
       sensitive: user.setting_default_sensitive,
       note: object.note,
+      fields: object.fields.map(&:to_h),
     }
   end
 end