Class: ForestLiana::PermissionsGetter
- Inherits:
-
Object
- Object
- ForestLiana::PermissionsGetter
- Defined in:
- app/services/forest_liana/permissions_getter.rb
Class Method Summary collapse
- .get_permissions_api_route ⇒ Object
-
.get_permissions_for_rendering(rendering_id, rendering_specific_only: false) ⇒ Object
Permission format example: collections => { model_name => { collection => { browseEnabled => true, readEnabled => true, editEnabled => true, addEnabled => true, deleteEnabled => true, exportEnabled => true, }, actions => { action_name => { triggerEnabled => true, }, }, }, }, rederings => { rendering_id => { collection_id => { scope => { dynamicScopesValues => {}, filter => {} } } } } } With ‘rendering_specific_only` this returns only the permissions related data specific to the provided rendering For now this only includes scopes.
Class Method Details
.get_permissions_api_route ⇒ Object
4 5 6 |
# File 'app/services/forest_liana/permissions_getter.rb', line 4 def '/liana/v3/permissions' end |
.get_permissions_for_rendering(rendering_id, rendering_specific_only: false) ⇒ Object
Permission format example: collections =>
{model_name => {
collection => {
browseEnabled => true,
readEnabled => true,
editEnabled => true,
addEnabled => true,
deleteEnabled => true,
exportEnabled => true,
},
actions => {
action_name => {
triggerEnabled => true,
},
},
},
}, rederings => {
{rendering_id} => {
{collection_id} => {
scope => {
dynamicScopesValues => {},
filter => {}
}
}
}
}
} With ‘rendering_specific_only` this returns only the permissions related data specific to the provided rendering For now this only includes scopes
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/services/forest_liana/permissions_getter.rb', line 39 def (rendering_id, rendering_specific_only: false) begin query_parameters = { 'renderingId' => rendering_id } query_parameters['renderingSpecificOnly'] = rendering_specific_only if rendering_specific_only api_route = response = ForestLiana::ForestApiRequester.get(api_route, query: query_parameters) if response.is_a?(Net::HTTPOK) JSON.parse(response.body) else raise "Forest API returned an #{ForestLiana::Errors::HTTPErrorHelper.format(response)}" end rescue => exception FOREST_LOGGER.error 'Cannot retrieve the permissions from the Forest server.' FOREST_LOGGER.error 'Which was caused by:' ForestLiana::Errors::ExceptionHelper.recursively_print(exception, margin: ' ', is_error: true) nil end end |