Class: Yes::Auth::Cerbos::ReadResourceAccess::PrincipalData
- Inherits:
-
Object
- Object
- Yes::Auth::Cerbos::ReadResourceAccess::PrincipalData
- Defined in:
- lib/yes/auth/cerbos/read_resource_access/principal_data.rb
Overview
Builds principal data for Cerbos authorization based on read resource accesses.
Class Method Summary collapse
-
.call(auth_data) ⇒ Hash
Cerbos-compatible principal data, or empty hash if principal not found.
Class Method Details
.call(auth_data) ⇒ Hash
Returns Cerbos-compatible principal data, or empty hash if principal not found.
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/yes/auth/cerbos/read_resource_access/principal_data.rb', line 16 def call(auth_data) return {} unless (principal = load_principal(auth_data[:identity_id])) read_resource_accesses = load_read_resource_accesses(principal.id) { id: principal.identity_id, roles: roles(principal), attributes: attributes(principal, read_resource_accesses) }.with_indifferent_access end |