- # frozen_string_literal: true
-
- class AccountPolicy < ApplicationPolicy
- def index?
- role.can?(:manage_users)
- end
-
- def show?
- role.can?(:manage_users)
- end
-
- def warn?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
- end
-
- def suspend?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) && !record.instance_actor?
- end
-
- def destroy?
- record.suspended_temporarily? && role.can?(:delete_user_data)
- end
-
- def unsuspend?
- role.can?(:manage_users) && record.suspension_origin_local?
- end
-
- def sensitive?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
- end
-
- def unsensitive?
- role.can?(:manage_users)
- end
-
- def silence?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
- end
-
- def unsilence?
- role.can?(:manage_users)
- end
-
- def redownload?
- role.can?(:manage_federation)
- end
-
- def remove_avatar?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
- end
-
- def remove_header?
- role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
- end
-
- def memorialize?
- role.can?(:delete_user_data) && role.overrides?(record.user_role) && !record.instance_actor?
- end
-
- def unblock_email?
- role.can?(:manage_users)
- end
-
- def review?
- role.can?(:manage_taxonomies)
- end
- end
|