summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2014-07-23 21:01:18 -0600
committerJohn Keiser <jkeiser@opscode.com>2014-08-22 09:20:47 -0700
commit914c8274684102c730e941a76a03daa3bf6858cf (patch)
tree00ab0b1bc165e237f0d44cb214ff87f2dd1ad87e /lib
parentdd2f8195ca05a4e18b91584692ab9050423de85e (diff)
downloadchef-zero-914c8274684102c730e941a76a03daa3bf6858cf.tar.gz
Make the requestor the one who "created" the object.
No sense making ACLs for it all the time.
Diffstat (limited to 'lib')
-rw-r--r--lib/chef_zero/data_normalizer.rb25
-rw-r--r--lib/chef_zero/endpoints/acl_endpoint.rb2
-rw-r--r--lib/chef_zero/endpoints/acls_endpoint.rb2
3 files changed, 4 insertions, 25 deletions
diff --git a/lib/chef_zero/data_normalizer.rb b/lib/chef_zero/data_normalizer.rb
index c178240..2df7f46 100644
--- a/lib/chef_zero/data_normalizer.rb
+++ b/lib/chef_zero/data_normalizer.rb
@@ -3,10 +3,10 @@ require 'chef_zero/rest_base'
module ChefZero
class DataNormalizer
- def self.normalize_acls(acls)
+ def self.normalize_acls(acls, requestor)
%w(create read update delete grant).each do |perm|
acls[perm] ||= {}
- acls[perm]['actors'] ||= []
+ acls[perm]['actors'] ||= [ requestor ]
acls[perm]['groups'] ||= [ 'admins' ]
end
acls
@@ -186,26 +186,5 @@ module ChefZero
end
}.uniq
end
-
- private
-
- def self.get_org_default_acls(path, perm)
- name_lists = DEFAULT_ACL_GROUPS[path[2]]
- if name_lists
- name_lists.each do |names, perm_lists|
- if names.include?(path[3])
- perm_lists.each do |perms, perm_groups|
- if perms.include?(perm)
- return { 'groups' => perm_groups }
- end
- end
- end
- end
- end
- if path[2] == 'organization' && perm == 'read'
- return { 'groups' => [ 'admins', 'users' ] }
- end
- {}
- end
end
end
diff --git a/lib/chef_zero/endpoints/acl_endpoint.rb b/lib/chef_zero/endpoints/acl_endpoint.rb
index 300631c..4e3fd97 100644
--- a/lib/chef_zero/endpoints/acl_endpoint.rb
+++ b/lib/chef_zero/endpoints/acl_endpoint.rb
@@ -25,7 +25,7 @@ module ChefZero
def get(request)
path, perm = validate_request(request)
- acls = DataNormalizer.normalize_acls(get_acls(request, path))
+ acls = DataNormalizer.normalize_acls(get_acls(request, path), request.requestor)
json_response(200, { perm => acls[perm] })
end
diff --git a/lib/chef_zero/endpoints/acls_endpoint.rb b/lib/chef_zero/endpoints/acls_endpoint.rb
index 6a96b04..16248c2 100644
--- a/lib/chef_zero/endpoints/acls_endpoint.rb
+++ b/lib/chef_zero/endpoints/acls_endpoint.rb
@@ -13,7 +13,7 @@ module ChefZero
class AclsEndpoint < AclBase
def get(request)
path = request.rest_path[0..-2] # Strip off _acl
- acls = DataNormalizer.normalize_acls(get_acls(request, path))
+ acls = DataNormalizer.normalize_acls(get_acls(request, path), request.requestor)
json_response(200, acls)
end
end