lib/bjond-api.rb in bjond-api-0.0.4 vs lib/bjond-api.rb in bjond-api-0.1.0
- old
+ new
@@ -3,19 +3,39 @@
require 'bjond-event'
require 'bjond-field'
require 'faraday'
require 'bjond-app/engine'
require 'bjond-app-config'
+require 'bjond-jwt'
+include BjondJwt
module BjondApi
+ ##
+ # Registers the given integration_app with a bjond-server.
def self.register_app(integration_app, bjondhost=ENV['BJOND_SERVER'])
conn = Faraday.new(:url => bjondhost)
return conn.post do |req|
- req.url '/server-core/services/integrationmanager/register?cache=1'
+ req.url '/server-core/services/integrationmanager/register'
req.headers['Content-Type'] = 'application/json'
req.body = integration_app.to_json
end
+ end
+
+ ##
+ # Fires events to all bjond_registrations
+ def fire_event(bjond_registration, payload)
+ services = BjondService.where(:bjond_registration_id => bjond_registration.id)
+ connections = []
+ services.each do |bjond_svc|
+ conn = Faraday.new(:url => bjond_svc.endpoint)
+ conn.post do |req|
+ req.headers['Content-Type'] = 'application/json'
+ req.body = BjondJwt::jwt_encode_payload(payload, bjond_registration)
+ end
+ end
+
+ return connections
end
end