Skip to content
Snippets Groups Projects
Unverified Commit c29a524e authored by Hadi Cheaito's avatar Hadi Cheaito Committed by GitHub
Browse files

SuperAdmin permission check (#4179)

* SuperAdmin permission checker

* spelling
parent 6eb4700b
No related branches found
No related tags found
No related merge requests found
...@@ -76,7 +76,7 @@ RSpec/AnyInstance: ...@@ -76,7 +76,7 @@ RSpec/AnyInstance:
Enabled: false Enabled: false
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Max: 13 Max: 14
Metrics/PerceivedComplexity: Metrics/PerceivedComplexity:
Max: 13 Max: 13
......
...@@ -10,6 +10,8 @@ class PermissionsChecker ...@@ -10,6 +10,8 @@ class PermissionsChecker
end end
def call def call
return true if @current_user.role == Role.find_by(name: 'SuperAdmin', provider: 'bn')
return true if RolePermission.joins(:permission).exists?( return true if RolePermission.joins(:permission).exists?(
role_id: @current_user.role_id, role_id: @current_user.role_id,
permission: { name: @permission_names }, permission: { name: @permission_names },
......
...@@ -66,6 +66,18 @@ describe PermissionsChecker, type: :service do ...@@ -66,6 +66,18 @@ describe PermissionsChecker, type: :service do
record_id: '' record_id: ''
).call).to be(true) ).call).to be(true)
end end
it 'checks the users role and returns true since user has SuperAdmin role' do
super_admin_role = create(:role, name: 'SuperAdmin', provider: 'bn')
super_admin_user = create(:user, provider: 'bn', role: super_admin_role)
expect(described_class.new(
current_user: super_admin_user,
permission_names: [],
user_id: super_admin_user.id,
friendly_id: '',
record_id: ''
).call).to be(true)
end
end end
end end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment