diff options
Diffstat (limited to 'lib/chef_zero/endpoints/cookbook_artifacts_cookbook_endpoint.rb')
-rw-r--r-- | lib/chef_zero/endpoints/cookbook_artifacts_cookbook_endpoint.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/chef_zero/endpoints/cookbook_artifacts_cookbook_endpoint.rb b/lib/chef_zero/endpoints/cookbook_artifacts_cookbook_endpoint.rb new file mode 100644 index 0000000..841f0c9 --- /dev/null +++ b/lib/chef_zero/endpoints/cookbook_artifacts_cookbook_endpoint.rb @@ -0,0 +1,24 @@ +require 'chef_zero/chef_data/data_normalizer' + +module ChefZero + module Endpoints + class CookbookArtifactsCookbookEndpoint < RestBase + # GET /organizations/ORG/cookbook_artifacts/COOKBOOK + def get(request) + cookbook_name = request.rest_path.last + cookbook_url = build_uri(request.base_uri, request.rest_path) + response_data = {} + versions = [] + + list_data(request).each do |identifier| + artifact_url = build_uri(request.base_uri, request.rest_path + [cookbook_name, identifier]) + versions << { url: artifact_url, identifier: identifier } + end + + response_data[cookbook_name] = { url: cookbook_url, versions: versions } + + return json_response(200, response_data) + end + end + end +end |