acm property

Map<String, List<Map<String, Object>>> acm
getter/setter pair

Implementation

var acm = {
  'permissions': [
    //  permission read have * in his allowed list, this means anyone can read this bucket
    {
      'name': 'read',
      'allowed': ['*']
    },
    //  permission write have *only 2 users ids in his allowed list, this means only these 2 users can write to this bucket
    {
      'name': 'write',
      'allowed': ['user_id1', 'user_id2']
    },
    //  permission delete have no one in his allowed list, this means no one can delete from this bucket
    {'name': 'read', 'allowed': []},
  ],
  'sub_permissions': [
    // this will have the file sub path inside the bucket, so it's abs path will be bucket_path+'/'+sub_path
    {
      'sub_path': 'sub path of the file inside the bucket itself',
      'permissions': [
        //  permission read have * in his allowed list, this means anyone can read this bucket
        {
          'name': 'read',
          'allowed': ['*']
        },
        //  permission write have *only 2 users ids in his allowed list, this means only these 2 users can write to this bucket
        {
          'name': 'write',
          'allowed': ['user_id1', 'user_id2']
        },
        //  permission delete have no one in his allowed list, this means no one can delete from this bucket
        {'name': 'read', 'allowed': []},
      ]
    },
  ],
};