Sha256: 6f121e6320dc1880a63bf1b1b7d32cf818fa8f4ad22e1dbae49ad750446d0824

Contents?: true

Size: 1.83 KB

Versions: 25

Compression:

Stored size: 1.83 KB

Contents

class FanforcePlugin::Sinatra

  # INDEX ########################################################################
  def route_index(params)
    page :index, :layout => :promotional
  end
  ['/', '/index.html'].each do |path|
    get path do route_index(params) end
  end

  # INSTALL ######################################################################
  def route_install(params)
    raise "This is not a valid plugin install request: #{env['HTTP_HOST']}" if !ff.valid_install_request?(params)
    api_key = $Redis.get("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{ff.params[:organization_id]}")

    #raise 'A different API key already exists for this addon. Please uninstall first.' if api_key.present? and ff.params[:api_key] != api_key
    $Redis.set("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{ff.params[:organization_id]}", ff.params[:api_key])
    ff.auth(ff.params[:api_key])

    json status: 'finished-processing'
  end
  any '/install' do route_install(params) end

  # UNINSTALL ####################################################################
  def route_uninstall(params)
    raise 'This is not a valid plugin uninstall request.' if !ff.valid_uninstall_request?(params)
    api_key = $Redis.get("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{ff.params[:organization_id]}")

    raise 'API keys must match before an addon can be uninstalled.' if api_key.present? and ff.params[:api_key] != api_key
    $Redis.del("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{ff.params[:organization_id]}")
    json status: 'finished-processing'
  end
  any '/uninstall' do route_uninstall(params) end

  # PING-PONG ####################################################################
  def route_ping_pong(params)
    json success: true
  end
  get '/ping-pong' do route_ping_pong(params) end

end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
fanforce-plugin-factory-0.36.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.35.2 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.35.1 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.35.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.34.2 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.34.1 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.34.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.33.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.32.1 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.32.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.31.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.30.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.29.4 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.29.3 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.29.2 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.29.1 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.29.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.28.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.27.0 lib/fanforce/plugin_factory/routes.rb
fanforce-plugin-factory-0.26.4 lib/fanforce/plugin_factory/routes.rb