PERF: Reduce DB queries when serializing ignore/mute information (#8629)
* PERF: Cache ignored and muted user ids in the current_user object * PERF: Avoid DB queries when checking ignore/mute permission in guardian
This commit is contained in:
+5
-5
@@ -463,10 +463,10 @@ class Guardian
|
||||
UserExport.where(user_id: @user.id, created_at: (Time.zone.now.beginning_of_day..Time.zone.now.end_of_day)).count == 0
|
||||
end
|
||||
|
||||
def can_mute_user?(user_id)
|
||||
def can_mute_user?(target_user)
|
||||
can_mute_users? &&
|
||||
@user.id != user_id &&
|
||||
User.where(id: user_id, admin: false, moderator: false).exists?
|
||||
@user.id != target_user.id &&
|
||||
!target_user.staff?
|
||||
end
|
||||
|
||||
def can_mute_users?
|
||||
@@ -474,8 +474,8 @@ class Guardian
|
||||
@user.staff? || @user.trust_level >= TrustLevel.levels[:basic]
|
||||
end
|
||||
|
||||
def can_ignore_user?(user_id)
|
||||
can_ignore_users? && @user.id != user_id && User.where(id: user_id, admin: false, moderator: false).exists?
|
||||
def can_ignore_user?(target_user)
|
||||
can_ignore_users? && @user.id != target_user.id && !target_user.staff?
|
||||
end
|
||||
|
||||
def can_ignore_users?
|
||||
|
||||
Reference in New Issue
Block a user