Changes for purchases - handle different type of purchases
This commit is contained in:
		
							parent
							
								
									d9d7099da6
								
							
						
					
					
						commit
						c1d77fa6d6
					
				|  | @ -20,12 +20,13 @@ class Admin::PurchasesController < ApplicationController | ||||||
|   protected |   protected | ||||||
|    |    | ||||||
|   def download_purchase(purchase, url) |   def download_purchase(purchase, url) | ||||||
|     uri = URI.parse("http://#{APP_CONFIG['store_ip']}/download/design") |     uri = URI.parse("http://#{APP_CONFIG['store_ip']}/download/purchase") | ||||||
|     http = Net::HTTP.new(uri.host, uri.port) |     http = Net::HTTP.new(uri.host, uri.port) | ||||||
|     request = Net::HTTP::Post.new(uri.request_uri) |     request = Net::HTTP::Post.new(uri.request_uri) | ||||||
|      |      | ||||||
|     public_key = OpenSSL::PKey::RSA.new(File.read(APP_CONFIG['main_public_key'])) |     public_key = OpenSSL::PKey::RSA.new(File.read(APP_CONFIG['main_public_key'])) | ||||||
|     encrypted_data = public_key.public_encrypt({:purchase_id => purchase.purchase_id, |     encrypted_data = public_key.public_encrypt({:purchase_id => purchase.purchase_id, | ||||||
|  |                                                 :purchase_type => purchase._type, | ||||||
|                                                 :roaming_id => Site.find(session[:site]).roaming_id, |                                                 :roaming_id => Site.find(session[:site]).roaming_id, | ||||||
|                                                 :url => url}.to_json) |                                                 :url => url}.to_json) | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -7,5 +7,6 @@ class Purchase | ||||||
|   field :author |   field :author | ||||||
|   field :intro |   field :intro | ||||||
|   field :downloaded, :type => Boolean |   field :downloaded, :type => Boolean | ||||||
|  |   field :download_date, :type => Date | ||||||
| 
 | 
 | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ PrototypeR4::Application.routes.draw do | ||||||
|   match '/site/set_registered', :to => CentralServerExchangeApp   |   match '/site/set_registered', :to => CentralServerExchangeApp   | ||||||
|   match '/site/public_key', :to => CentralServerExchangeApp  |   match '/site/public_key', :to => CentralServerExchangeApp  | ||||||
|   match '/site/update', :to => GithubApp |   match '/site/update', :to => GithubApp | ||||||
|   match '/purchase/design', :to => CentralServerExchangeApp |   match '/purchase/:type', :to => CentralServerExchangeApp | ||||||
|   match "/panel/:app_name/frontend/:action" => redirect {|params| "/panel/#{params[:app_name]}/#{params[:action]}" } |   match "/panel/:app_name/frontend/:action" => redirect {|params| "/panel/#{params[:app_name]}/#{params[:action]}" } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -28,11 +28,16 @@ class CentralServerExchangeApp < Sinatra::Base | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   post '/purchase/design' do |   post '/purchase/:type' do | ||||||
|     begin |     begin | ||||||
|       private_key = OpenSSL::PKey::RSA.new(@site.private_key) |       private_key = OpenSSL::PKey::RSA.new(@site.private_key) | ||||||
|       p_design = PDesign.new.from_json(private_key.private_decrypt(request.params['purchase'])) | 
 | ||||||
|       p_design.save |       case params[:type] | ||||||
|  |         when 'Design' | ||||||
|  |           purchase = PDesign.new.from_json(private_key.private_decrypt(request.params['purchase'])) | ||||||
|  |       end | ||||||
|  |        | ||||||
|  |       purchase.save | ||||||
|       body 'true' |       body 'true' | ||||||
|     rescue |     rescue | ||||||
|       body 'false' |       body 'false' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue