Class: AdminDetailedUserSerializer
Instance Method Summary
collapse
#can_activate, #can_approve, #can_deactivate, #can_send_activation_email, #include_can_approve?, #ip_address, #registration_ip_address
#can_impersonate, #created_at_age, #include_approved?, #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
#avatar_template, #categories_with_notification_level, #category_user_notification_levels, #include_name?, #name, #user, #user_is_current_user
expire_cache_fragment!, fragment_cache
#include!
Instance Method Details
#api_key_count ⇒ Object
146
147
148
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 146
def api_key_count
object.api_keys.active.count
end
|
#bounce_score ⇒ Object
130
131
132
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 130
def bounce_score
object.user_stat.bounce_score
end
|
#can_be_anonymized ⇒ Object
80
81
82
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 80
def can_be_anonymized
scope.can_anonymize_user?(object)
end
|
#can_be_deleted ⇒ Object
76
77
78
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 76
def can_be_deleted
scope.can_delete_user?(object)
end
|
#can_be_merged ⇒ Object
84
85
86
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 84
def can_be_merged
scope.can_merge_user?(object)
end
|
#can_delete_all_posts ⇒ Object
72
73
74
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 72
def can_delete_all_posts
scope.can_delete_all_posts?(object)
end
|
#can_delete_sso_record ⇒ Object
181
182
183
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 181
def can_delete_sso_record
scope.can_delete_sso_record?(object)
end
|
#can_disable_second_factor ⇒ Object
52
53
54
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 52
def can_disable_second_factor
scope.is_admin? && (object&.id != scope.user.id)
end
|
#can_grant_admin ⇒ Object
60
61
62
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 60
def can_grant_admin
scope.can_grant_admin?(object)
end
|
#can_grant_moderation ⇒ Object
68
69
70
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 68
def can_grant_moderation
scope.can_grant_moderation?(object)
end
|
#can_revoke_admin ⇒ Object
56
57
58
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 56
def can_revoke_admin
scope.can_revoke_admin?(object)
end
|
#can_revoke_moderation ⇒ Object
64
65
66
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 64
def can_revoke_moderation
scope.can_revoke_moderation?(object)
end
|
#can_view_action_logs ⇒ Object
138
139
140
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 138
def can_view_action_logs
scope.can_view_action_logs?(object)
end
|
#external_ids ⇒ Object
150
151
152
153
154
155
156
157
158
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 150
def external_ids
external_ids = {}
object.user_associated_accounts.map do |user_associated_account|
external_ids[user_associated_account.provider_name] = user_associated_account.provider_uid
end
external_ids
end
|
#include_api_key? ⇒ Boolean
92
93
94
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 92
def include_api_key?
scope.is_admin? && api_key.present?
end
|
#include_similar_users? ⇒ Boolean
169
170
171
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 169
def include_similar_users?
@options[:similar_users].present?
end
|
#include_similar_users_count? ⇒ Boolean
177
178
179
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 177
def include_similar_users_count?
@options[:similar_users].present?
end
|
#include_tl3_requirements? ⇒ Boolean
122
123
124
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 122
def include_tl3_requirements?
object.has_trust_level?(TrustLevel[2])
end
|
#include_user_fields? ⇒ Boolean
126
127
128
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 126
def include_user_fields?
object.user_fields.present?
end
|
#next_penalty ⇒ Object
108
109
110
111
112
113
114
115
116
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 108
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
|
#post_count ⇒ Object
142
143
144
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 142
def post_count
object.posts.count
end
|
#reset_bounce_score_after ⇒ Object
134
135
136
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 134
def reset_bounce_score_after
object.user_stat.reset_bounce_score_after
end
|
#second_factor_enabled ⇒ Object
48
49
50
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 48
def second_factor_enabled
object.totp_enabled? || object.security_keys_enabled?
end
|
#silence_reason ⇒ Object
100
101
102
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 100
def silence_reason
object.silence_reason
end
|
#silenced_by ⇒ Object
118
119
120
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 118
def silenced_by
object.silenced_record.try(:acting_user)
end
|
#similar_users ⇒ Object
160
161
162
163
164
165
166
167
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 160
def similar_users
ActiveModel::ArraySerializer.new(
@options[:similar_users],
each_serializer: SimilarAdminUserSerializer,
scope: scope,
root: false,
).as_json
end
|
#similar_users_count ⇒ Object
173
174
175
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 173
def similar_users_count
@options[:similar_users_count]
end
|
#suspended_by ⇒ Object
96
97
98
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 96
def suspended_by
object.suspend_record.try(:acting_user)
end
|
#topic_count ⇒ Object
88
89
90
|
# File 'app/serializers/admin_detailed_user_serializer.rb', line 88
def topic_count
object.topics.count
end
|