~cytrogen/masto-fe

ref: 828eebad4844c14b3ae7bf3d7ec3d46b79bae11b masto-fe/app/serializers/rest/credential_account_serializer.rb -rw-r--r-- 690 bytes
828eebad — Claire Add `hide_collections`, `discoverable` and `indexable` attributes to credentials API (#26998) 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

class REST::CredentialAccountSerializer < REST::AccountSerializer
  attributes :source

  has_one :role, serializer: REST::RoleSerializer

  def source
    user = object.user

    {
      privacy: user.setting_default_privacy,
      sensitive: user.setting_default_sensitive,
      language: user.setting_default_language,
      note: object.note,
      fields: object.fields.map(&:to_h),
      follow_requests_count: FollowRequest.where(target_account: object).limit(40).count,
      hide_collections: object.hide_collections,
      discoverable: object.discoverable,
      indexable: object.indexable,
    }
  end

  def role
    object.user_role
  end
end