nas/app/policies/account_policy.rb
KMY(雪あすか) 0f680a21b4
Add: ホワイトリスト運用時、承認待ちリモートアカウントの概念ならびに操作画面 (#584)
* Add: ホワイトリスト運用時、承認待ちリモートアカウントの概念ならびに操作画面

* Fix test

* Fix test
2024-02-17 21:07:37 +09:00

75 lines
1.5 KiB
Ruby

# 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
def approve_remote?
role.can?(:manage_users) && record.remote_pending
end
def reject_remote?
role.can?(:manage_users) && record.remote_pending
end
end