summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/license_endpoint.rb
blob: 06bbce87f2c58864c4ae60a04f4fa92933f6d445 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'json'
require 'chef_zero/rest_base'

module ChefZero
  module Endpoints
    # /license
    class LicenseEndpoint < RestBase
      MAX_NODE_COUNT = 25

      def get(request)
        node_count = 0
        list_data(request, [ 'organizations' ]).each do |orgname|
          node_count += list_data(request, [ 'organizations', orgname, 'nodes' ]).size
        end

        json_response(200, {
          "limit_exceeded" => (node_count > MAX_NODE_COUNT) ? true : false,
          "node_license" => MAX_NODE_COUNT,
          "node_count" => node_count,
          "upgrade_url" => 'http://blah.com'
        })
      end
    end
  end
end