summaryrefslogtreecommitdiffstats
path: root/app/serializers/activitypub/actor_serializer.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-04-14 12:41:08 +0200
committerGitHub <noreply@github.com>2018-04-14 12:41:08 +0200
commit78ed4ab75ff77d7cba60d478aa1f45d1c104785d (patch)
tree0aeea69a41847df51ef1f2ef530b3810f460a601 /app/serializers/activitypub/actor_serializer.rb
parent85ab30abf7f8da61d37e4711cba350877bfb6f2b (diff)
Add bio fields (#6645)
* Add bio fields - Fix #3211 - Fix #232 - Fix #121 * Display bio fields in web UI * Fix output of links and missing fields * Federate bio fields over ActivityPub as PropertyValue * Improve how the fields are stored, add to Edit profile form * Add rel=me to links in fields Fix #121
Diffstat (limited to 'app/serializers/activitypub/actor_serializer.rb')
-rw-r--r--app/serializers/activitypub/actor_serializer.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb
index df309072643..fcf3bdf1757 100644
--- a/app/serializers/activitypub/actor_serializer.rb
+++ b/app/serializers/activitypub/actor_serializer.rb
@@ -11,6 +11,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
has_one :public_key, serializer: ActivityPub::PublicKeySerializer
has_many :virtual_tags, key: :tag
+ has_many :virtual_attachments, key: :attachment
attribute :moved_to, if: :moved?
@@ -107,10 +108,26 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
object.emojis
end
+ def virtual_attachments
+ object.fields
+ end
+
def moved_to
ActivityPub::TagManager.instance.uri_for(object.moved_to_account)
end
class CustomEmojiSerializer < ActivityPub::EmojiSerializer
end
+
+ class Account::FieldSerializer < ActiveModel::Serializer
+ attributes :type, :name, :value
+
+ def type
+ 'PropertyValue'
+ end
+
+ def value
+ Formatter.instance.format_field(object.account, object.value)
+ end
+ end
end