Class: AdminDetailedUserSerializer

Inherits:
AdminUserSerializer show all
Defined in:
app/serializers/admin_detailed_user_serializer.rb

Instance Method Summary collapse

Methods inherited from AdminUserSerializer

#can_activate, #can_approve, #can_deactivate, #can_send_activation_email, #include_can_approve?, #include_can_be_deleted?, #ip_address, #registration_ip_address

Methods inherited from AdminUserListSerializer

#can_impersonate, #created_at_age, #include_approved?, #include_can_be_deleted?, #include_email?, #include_second_factor_enabled?, #include_silenced?, #include_silenced_till?, #include_suspended_at?, #include_suspended_till?, #last_emailed_age, #last_emailed_at, #last_seen_age, #last_seen_at, #silenced, #silenced_till, #time_read

Methods inherited from BasicUserSerializer

#avatar_template, #categories_with_notification_level, #category_user_notification_levels, #include_name?, #name, #user, #user_is_current_user

Methods included from UserStatusMixin

#include_status?, included, #status

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#api_key_countObject



145
146
147
# File 'app/serializers/admin_detailed_user_serializer.rb', line 145

def api_key_count
  object.api_keys.active.count
end

#bounce_scoreObject



129
130
131
# File 'app/serializers/admin_detailed_user_serializer.rb', line 129

def bounce_score
  object.user_stat.bounce_score
end

#can_be_anonymizedObject



79
80
81
# File 'app/serializers/admin_detailed_user_serializer.rb', line 79

def can_be_anonymized
  scope.can_anonymize_user?(object)
end

#can_be_deletedObject



75
76
77
# File 'app/serializers/admin_detailed_user_serializer.rb', line 75

def can_be_deleted
  scope.can_delete_user?(object)
end

#can_be_mergedObject



83
84
85
# File 'app/serializers/admin_detailed_user_serializer.rb', line 83

def can_be_merged
  scope.can_merge_user?(object)
end

#can_delete_all_postsObject



71
72
73
# File 'app/serializers/admin_detailed_user_serializer.rb', line 71

def can_delete_all_posts
  scope.can_delete_all_posts?(object)
end

#can_delete_sso_recordObject



167
168
169
# File 'app/serializers/admin_detailed_user_serializer.rb', line 167

def can_delete_sso_record
  scope.can_delete_sso_record?(object)
end

#can_disable_second_factorObject



51
52
53
# File 'app/serializers/admin_detailed_user_serializer.rb', line 51

def can_disable_second_factor
  scope.is_admin? && (object&.id != scope.user.id)
end

#can_grant_adminObject



59
60
61
# File 'app/serializers/admin_detailed_user_serializer.rb', line 59

def can_grant_admin
  scope.can_grant_admin?(object)
end

#can_grant_moderationObject



67
68
69
# File 'app/serializers/admin_detailed_user_serializer.rb', line 67

def can_grant_moderation
  scope.can_grant_moderation?(object)
end

#can_revoke_adminObject



55
56
57
# File 'app/serializers/admin_detailed_user_serializer.rb', line 55

def can_revoke_admin
  scope.can_revoke_admin?(object)
end

#can_revoke_moderationObject



63
64
65
# File 'app/serializers/admin_detailed_user_serializer.rb', line 63

def can_revoke_moderation
  scope.can_revoke_moderation?(object)
end

#can_view_action_logsObject



137
138
139
# File 'app/serializers/admin_detailed_user_serializer.rb', line 137

def can_view_action_logs
  scope.can_view_action_logs?(object)
end

#external_idsObject



149
150
151
152
153
154
155
156
157
# File 'app/serializers/admin_detailed_user_serializer.rb', line 149

def external_ids
  external_ids = {}

  object.user_associated_accounts.map do ||
    external_ids[.provider_name] = .provider_uid
  end

  external_ids
end

#include_api_key?Boolean

Returns:

  • (Boolean)


91
92
93
# File 'app/serializers/admin_detailed_user_serializer.rb', line 91

def include_api_key?
  scope.is_admin? && api_key.present?
end

#include_similar_users_count?Boolean

Returns:

  • (Boolean)


163
164
165
# File 'app/serializers/admin_detailed_user_serializer.rb', line 163

def include_similar_users_count?
  @options[:similar_users_count].present?
end

#include_tl3_requirements?Boolean

Returns:

  • (Boolean)


121
122
123
# File 'app/serializers/admin_detailed_user_serializer.rb', line 121

def include_tl3_requirements?
  object.has_trust_level?(TrustLevel[2])
end

#include_user_fields?Boolean

Returns:

  • (Boolean)


125
126
127
# File 'app/serializers/admin_detailed_user_serializer.rb', line 125

def include_user_fields?
  object.user_fields.present?
end

#next_penaltyObject



107
108
109
110
111
112
113
114
115
# File 'app/serializers/admin_detailed_user_serializer.rb', line 107

def next_penalty
  step_number = penalty_counts.total
  steps = SiteSetting.penalty_step_hours.split("|")
  step_number = [step_number, steps.length].min
  penalty_hours = steps[step_number]
  Integer(penalty_hours, 10).hours.from_now
rescue StandardError
  nil
end

#penalty_countsObject



103
104
105
# File 'app/serializers/admin_detailed_user_serializer.rb', line 103

def penalty_counts
  TrustLevel3Requirements.new(object).penalty_counts
end

#post_countObject



141
142
143
# File 'app/serializers/admin_detailed_user_serializer.rb', line 141

def post_count
  object.posts.count
end

#reset_bounce_score_afterObject



133
134
135
# File 'app/serializers/admin_detailed_user_serializer.rb', line 133

def reset_bounce_score_after
  object.user_stat.reset_bounce_score_after
end

#second_factor_enabledObject



47
48
49
# File 'app/serializers/admin_detailed_user_serializer.rb', line 47

def second_factor_enabled
  object.totp_enabled? || object.security_keys_enabled?
end

#silence_reasonObject



99
100
101
# File 'app/serializers/admin_detailed_user_serializer.rb', line 99

def silence_reason
  object.silence_reason
end

#silenced_byObject



117
118
119
# File 'app/serializers/admin_detailed_user_serializer.rb', line 117

def silenced_by
  object.silenced_record.try(:acting_user)
end

#similar_users_countObject



159
160
161
# File 'app/serializers/admin_detailed_user_serializer.rb', line 159

def similar_users_count
  @options[:similar_users_count]
end

#suspended_byObject



95
96
97
# File 'app/serializers/admin_detailed_user_serializer.rb', line 95

def suspended_by
  object.suspend_record.try(:acting_user)
end

#topic_countObject



87
88
89
# File 'app/serializers/admin_detailed_user_serializer.rb', line 87

def topic_count
  object.topics.count
end