Class: ForestLiana::PermissionsFormatter

Inherits:
Object
  • Object
show all
Defined in:
app/services/forest_liana/permissions_formatter.rb

Class Method Summary collapse

Class Method Details

.convert_actions_permissions_to_new_format(actions_permissions) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'app/services/forest_liana/permissions_formatter.rb', line 33

def convert_actions_permissions_to_new_format(actions_permissions)
  return nil unless actions_permissions

  actions_permissions_new_format = Hash.new

  actions_permissions.keys.each { |action_name|
    allowed = actions_permissions[action_name]['allowed']
    users = actions_permissions[action_name]['users']

    actions_permissions_new_format[action_name] = Hash.new
    actions_permissions_new_format[action_name] = {
      'triggerEnabled' => allowed && (users.nil? || users)
    }
  }

  actions_permissions_new_format
end

.convert_collection_permissions_to_new_format(collection_permissions) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'app/services/forest_liana/permissions_formatter.rb', line 22

def convert_collection_permissions_to_new_format(collection_permissions)
  {
    'browseEnabled' => collection_permissions['list'] || collection_permissions['searchToEdit'],
    'readEnabled' => collection_permissions['show'],
    'addEnabled' => collection_permissions['create'],
    'editEnabled' => collection_permissions['update'],
    'deleteEnabled' => collection_permissions['delete'],
    'exportEnabled' => collection_permissions['export']
  }
end

.convert_to_new_format(permissions, rendering_id) ⇒ Object

Convert old format permissions to unify PermissionsGetter code



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/services/forest_liana/permissions_formatter.rb', line 5

def convert_to_new_format(permissions, rendering_id)
  permissions_new_format = Hash.new
  permissions_new_format['collections'] = Hash.new
  permissions_new_format['renderings'] = Hash.new
  permissions_new_format['renderings'][rendering_id] = Hash.new
  permissions.keys.each { |collection_name|
    permissions_new_format['collections'][collection_name] = {
      'collection' => convert_collection_permissions_to_new_format(permissions[collection_name]['collection']),
      'actions' => convert_actions_permissions_to_new_format(permissions[collection_name]['actions'])
    }

    permissions_new_format['renderings'][rendering_id][collection_name] = { 'segments' => permissions[collection_name]['segments'] }
  }

  permissions_new_format
end