Class: Yes::Auth::Cerbos::WriteResourceAccess::PrincipalData
- Inherits:
-
Object
- Object
- Yes::Auth::Cerbos::WriteResourceAccess::PrincipalData
- Defined in:
- lib/yes/auth/cerbos/write_resource_access/principal_data.rb
Overview
Builds principal data for Cerbos authorization based on write 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/write_resource_access/principal_data.rb', line 16 def call(auth_data) return {} unless (principal = load_principal(auth_data[:identity_id])) write_resource_accesses = load_write_resource_accesses(principal.id) { id: principal.identity_id, roles: roles(principal), attributes: attributes(principal, write_resource_accesses) }.with_indifferent_access end |