49 lines
1.1 KiB
Ruby
49 lines
1.1 KiB
Ruby
class CentralServerExchangeApp < Sinatra::Base
|
|
|
|
before do
|
|
@site = Site.first
|
|
end
|
|
|
|
|
|
post "/site/set_registered" do
|
|
begin
|
|
private_key = OpenSSL::PKey::RSA.new(@site.private_key)
|
|
roaming_id = private_key.private_decrypt(request.params['roaming_id'])
|
|
@site.update_attributes(:roaming_id => roaming_id)
|
|
body 'true'
|
|
rescue
|
|
body 'false'
|
|
end
|
|
end
|
|
|
|
get '/site/public_key' do
|
|
begin
|
|
if @site.public_key.nil?
|
|
@site.generate_keys
|
|
@site.save
|
|
end
|
|
body @site.public_key
|
|
rescue
|
|
body 'false'
|
|
end
|
|
end
|
|
|
|
post '/purchase/:type' do
|
|
begin
|
|
private_key = OpenSSL::PKey::RSA.new(@site.private_key)
|
|
|
|
case params[:type]
|
|
when 'Design'
|
|
purchase = PDesign.new.from_json(private_key.private_decrypt(request.params['purchase']))
|
|
when 'ModuleApp'
|
|
purchase = PModuleApp.new.from_json(private_key.private_decrypt(request.params['purchase']))
|
|
end
|
|
|
|
purchase.save
|
|
body 'true'
|
|
rescue
|
|
body 'false'
|
|
end
|
|
end
|
|
|
|
end |