summaryrefslogtreecommitdiff
path: root/lib/chef_zero/server.rb
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2014-07-16 13:17:11 -0700
committerJohn Keiser <jkeiser@opscode.com>2014-07-23 19:21:23 -0600
commitfcbe6e21e85498b3e04d8febaef8b0ea29cf79d6 (patch)
tree3018cc2985f28b8354ed34e0ecdb17ce608985eb /lib/chef_zero/server.rb
parentfba7103ab8f55e324baed9841cf4f61390c1a605 (diff)
downloadchef-zero-fcbe6e21e85498b3e04d8febaef8b0ea29cf79d6.tar.gz
Add /users top level endpoint
Diffstat (limited to 'lib/chef_zero/server.rb')
-rw-r--r--lib/chef_zero/server.rb38
1 files changed, 21 insertions, 17 deletions
diff --git a/lib/chef_zero/server.rb b/lib/chef_zero/server.rb
index c65be7c..07461bb 100644
--- a/lib/chef_zero/server.rb
+++ b/lib/chef_zero/server.rb
@@ -129,13 +129,13 @@ module ChefZero
#
def data_store
@data_store ||= begin
- result = @options[:data_store] || DataStore::DefaultFacade.new(DataStore::MemoryStoreV2.new)
+ result = @options[:data_store] || DataStore::DefaultFacade.new(DataStore::MemoryStoreV2.new, options[:single_org])
if options[:single_org]
if result.respond_to?(:interface_version) && result.interface_version >= 2 && result.interface_version < 3
result.create_dir([ 'organizations' ], options[:single_org])
else
result = ChefZero::DataStore::V1ToV2Adapter.new(result, options[:single_org])
- result = ChefZero::DataStore::DefaultFacade.new(result)
+ result = ChefZero::DataStore::DefaultFacade.new(result, options[:single_org])
end
else
if !(result.respond_to?(:interface_version) && result.interface_version >= 2 && result.interface_version < 3)
@@ -395,19 +395,26 @@ module ChefZero
private
def open_source_endpoints
- [
- # if options[:server_type] == 'osc'
- # # OSC-only
+ result = if options[:single_org]
+ # OSC-only
+ [
[ "/organizations/*/users", ActorsEndpoint.new(self) ],
- [ "/organizations/*/users/*", ActorEndpoint.new(self) ],
- # else
- # # EC-only
- # [ "/organizations/*/users", EcUsersEndpoint.new(self) ],
- # [ "/organizations/*/users/*", EcUserEndpoint.new(self) ],
- # [ "/users", ActorsEndpoint.new(self) ],
- # [ "/users/*", ActorEndpoint.new(self) ],
- # end
-
+ [ "/organizations/*/users/*", ActorEndpoint.new(self) ]
+ ]
+ else
+ [
+ # # EC-only
+ # [ "/organizations/*/users", EcUsersEndpoint.new(self) ],
+ # [ "/organizations/*/users/*", EcUserEndpoint.new(self) ],
+ [ "/users", ActorsEndpoint.new(self) ],
+ [ "/users/*", ActorEndpoint.new(self) ]
+ # [ "/verify_password", VerifyPasswordEndpoint.new(self) ],
+ # [ "/authenticate_user", AuthenticateUserEndpoint.new(self) ],
+ # [ "/system_recovery", SystemRecoveryEndpoint.new(self) ],
+ ]
+ end
+ result +
+ [
# Both
[ "/organizations", OrganizationsEndpoint.new(self) ],
[ "/organizations/*", OrganizationEndpoint.new(self) ],
@@ -427,9 +434,6 @@ module ChefZero
[ "/organizations/*/*/*/_acl", AclsEndpoint.new(self) ],
[ "/organizations/*/organization/_acl/*", AclEndpoint.new(self) ],
[ "/organizations/*/*/*/_acl/*", AclEndpoint.new(self) ],
- # [ "/verify_password", VerifyPasswordEndpoint.new(self) ],
- # [ "/authenticate_user", AuthenticateUserEndpoint.new(self) ],
- # [ "/system_recovery", SystemRecoveryEndpoint.new(self) ],
[ "/organizations/*/authenticate_user", AuthenticateUserEndpoint.new(self) ],
[ "/organizations/*/clients", ActorsEndpoint.new(self) ],