require 'sinatra/base' require 'projects/project_service' module Projects class App < Sinatra::Base # Query parameters: # # - `details` [Boolean] # - `extension` [String] get '/projects/v1' do require_p4 options = {} options[:details] = params['details'] if params.key?('details') options[:extension] = params['extension'] if params.key?('extension') service = ProjectService.new(env: env) projects = service.list(options) projects.to_json if projects end get '/projects/v1/:project_id' do |project_id| require_p4 service = ProjectService.new(env: env) project = service.fetch(project_id) halt 404 unless project project.to_json end end end