summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/license_endpoint.rb
blob: 1e5aecec911416f05c00b4a1fbcd9ca628594aac (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 "ffi_yajl" unless defined?(FFI_Yajl)
require_relative "../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