activitypub-academy/app/serializers/rest/relationship_serializer.rb
ThibG 65506bac3f
Add user notes on accounts (#14148)
* Add UserNote model

* Add UI for user notes

* Put comment in relationships entity

* Add API to create user notes

* Copy user notes to new account when receiving a Move activity

* Address some of the review remarks

* Replace modal by inline edition

* Please CodeClimate

* Button design changes

* Change design again

* Cancel note edition when pressing Escape

* Fixes

* Tweak design again

* Move “Add note” item, and allow users to add notes to themselves

* Rename UserNote into AccountNote, rename “comment” Relationship attribute to “note”
2020-06-30 19:19:50 +02:00

57 lines
1.5 KiB
Ruby

# frozen_string_literal: true
class REST::RelationshipSerializer < ActiveModel::Serializer
attributes :id, :following, :showing_reblogs, :followed_by, :blocking, :blocked_by,
:muting, :muting_notifications, :requested, :domain_blocking,
:endorsed, :note
def id
object.id.to_s
end
def following
instance_options[:relationships].following[object.id] ? true : false
end
def showing_reblogs
(instance_options[:relationships].following[object.id] || {})[:reblogs] ||
(instance_options[:relationships].requested[object.id] || {})[:reblogs] ||
false
end
def followed_by
instance_options[:relationships].followed_by[object.id] || false
end
def blocking
instance_options[:relationships].blocking[object.id] || false
end
def blocked_by
instance_options[:relationships].blocked_by[object.id] || false
end
def muting
instance_options[:relationships].muting[object.id] ? true : false
end
def muting_notifications
(instance_options[:relationships].muting[object.id] || {})[:notifications] || false
end
def requested
instance_options[:relationships].requested[object.id] ? true : false
end
def domain_blocking
instance_options[:relationships].domain_blocking[object.id] || false
end
def endorsed
instance_options[:relationships].endorsed[object.id] || false
end
def note
(instance_options[:relationships].account_note[object.id] || {})[:comment]
end
end