Module: Legion::API::Routes::Fleet
- Defined in:
- lib/legion/api/fleet.rb
Defined Under Namespace
Modules: FleetHelpers
Class Method Summary collapse
Class Method Details
.registered(app) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/legion/api/fleet.rb', line 7 def self.registered(app) app.helpers FleetHelpers app.get '/api/fleet/status' do json_response(fleet_status) end app.get '/api/fleet/pending' do items = fleet_pending_approvals json_response(items) end app.post '/api/fleet/approve' do body = parse_request_body id = body[:id] halt 400, json_error('missing_id', 'id is required', status_code: 400) unless id result = fleet_approve(id.to_i) if result[:success] json_response(result) else json_error('approve_failed', result[:error].to_s, status_code: 422) end end app.get '/api/fleet/sources' do sources = Legion::Settings.dig(:fleet, :sources) || [] json_response({ sources: sources }) end app.post '/api/fleet/sources' do body = parse_request_body source = body[:source] halt 400, json_error('missing_source', 'source is required', status_code: 400) unless source result = fleet_add_source(body) if result[:success] json_response(result, status_code: 201) else json_error('add_source_failed', result[:error].to_s, status_code: 422) end end end |