class App42::AppTab::DiscountService
Public Class Methods
new(api_key, secret_key, base_url)
click to toggle source
# File lib/appTab/DiscountService.rb, line 13 def initialize(api_key, secret_key, base_url) puts "DiscountService->initialize" @api_key = api_key @secret_key = secret_key @base_url = base_url @resource = "discount" @version = "1.0" end
Public Instance Methods
create_discount(discountName, discountType, discount, description)
click to toggle source
create a discount package for the app.
@param discountName
- Create a Discount Name which should be unique
@param discountType
- Type of discount that you want't to create Like Storage, Bandwidth etc
@param discount
- Discount contains the details of the package you create
like discountPercent , discountUsage , startDate, endDate etc @param description
- Description of the discountData to be created
@return The Created DiscountData Object
@raise App42Exception
# File lib/appTab/DiscountService.rb, line 40 def create_discount(discountName, discountType, discount, description) puts "createDiscount Called " puts "Base url #{@base_url}" response = nil; discountDataObj = nil; discountDataObj = App42::AppTab::Test.new() util = Util.new util.throwExceptionIfNullOrBlank(discountName, "discountName"); util.throwExceptionIfNullOrBlank(discountType, "DiscountType"); util.throwExceptionIfNullOrBlank(discount, "discount"); util.throwExceptionIfNullOrBlank(description, "description"); begin connection = App42::Connection::RESTConnection.new(@base_url) discountObj = Hash.new() discountObj.store("percentage", discount.percentage); discountObj.store("usage", discount.usage); strStartdate = util.get_timestamp_utc_from_date_discount(discount.startDate) strEnddate = util.get_timestamp_utc_from_date_discount(discount.endDate) discountObj.store("startDate", strStartdate); discountObj.store("endDate", strEnddate); body = {'app42' => {"app"=> {"discount"=>{ "discountName" => discountName, "description" => description, "type" => discountType, "discountDetails" => discountObj }}}}.to_json puts "Body #{body}" query_params = Hash.new params = { 'apiKey'=> @api_key, 'version' => @version, 'timeStamp' => util.get_timestamp_utc, } query_params = params.clone params.store("body", body) puts params puts query_params signature = util.sign(@secret_key, params) resource_url = "#{@version}/#{@resource}" response = connection.post(signature, resource_url, query_params, body) dis = DiscountResponseBuilder.new discountDataObj = dis.buildResponse(response) rescue App42Exception =>e raise e rescue Exception => e raise App42Exception.new(e) end return discountDataObj end
delete_discount_by_name(discountName)
click to toggle source
NEW METHOD
# File lib/appTab/DiscountService.rb, line 166 def delete_discount_by_name(discountName) puts "deleteDiscountByName called" puts "Base url #{@base_url}" response = nil; discountDataObj = nil; discountDataObj = Test.new() util = Util.new util.throwExceptionIfNullOrBlank(discountName, "discountName"); begin connection = App42::Connection::RESTConnection.new(@base_url) query_params = Hash.new params = { 'apiKey'=> @api_key, 'version' => @version, 'timeStamp' => util.get_timestamp_utc, } query_params = params.clone puts params params.store("discountName", discountName); puts query_params signature = util.sign(@secret_key, params) resource_url = "#{@version}/#{@resource}/#{discountName}" response = connection.delete(signature, resource_url, query_params) dis = DiscountResponseBuilder.new discountDataObj = dis.buildResponse(response) rescue App42Exception =>e raise e rescue Exception => e raise App42Exception.new(e) end return discountDataObj end
get_all_discount()
click to toggle source
NEW METHOD
# File lib/appTab/DiscountService.rb, line 94 def get_all_discount() puts "getAllDiscount called" puts "Base url #{@base_url}" response = nil; discountList = nil; discountList = Array.new() util = Util.new begin connection = App42::Connection::RESTConnection.new(@base_url) query_params = Hash.new params = { 'apiKey'=> @api_key, 'version' => @version, 'timeStamp' => util.get_timestamp_utc, } query_params = params.clone puts params puts query_params signature = util.sign(@secret_key, params) resource_url = "#{@version}/#{@resource}" response = connection.get(signature, resource_url, query_params) dis = DiscountResponseBuilder.new discountList = dis.buildArrayObject(response) rescue App42Exception =>e raise e rescue Exception => e raise App42Exception.new(e) end return discountList end
get_discount_by_name(discountName)
click to toggle source
NEW METHOD
# File lib/appTab/DiscountService.rb, line 129 def get_discount_by_name(discountName) puts "getDiscountByName called" puts "Base url #{@base_url}" response = nil; discountDataObj = nil; discountDataObj = Test.new() util = Util.new util.throwExceptionIfNullOrBlank(discountName, "discountName"); begin connection = App42::Connection::RESTConnection.new(@base_url) query_params = Hash.new params = { 'apiKey'=> @api_key, 'version' => @version, 'timeStamp' => util.get_timestamp_utc, } query_params = params.clone puts params params.store("discountName", discountName); puts query_params signature = util.sign(@secret_key, params) resource_url = "#{@version}/#{@resource}/#{discountName}" response = connection.get(signature, resource_url, query_params) dis = DiscountResponseBuilder.new discountDataObj = dis.buildResponse(response) rescue App42Exception =>e raise e rescue Exception => e raise App42Exception.new(e) end return discountDataObj end
get_discount_by_promo_code(promoCode)
click to toggle source
@param promoCode @return @throws App42Exception
# File lib/appTab/DiscountService.rb, line 205 def get_discount_by_promo_code(promoCode) puts "get_discount_by_promo_code called" puts "Base url #{@base_url}" response = nil; discountDataObj = nil; discountDataObj = Test.new() util = Util.new util.throwExceptionIfNullOrBlank(promoCode, "promoCode"); begin connection = App42::Connection::RESTConnection.new(@base_url) query_params = Hash.new params = { 'apiKey'=> @api_key, 'version' => @version, 'timeStamp' => util.get_timestamp_utc, } query_params = params.clone puts params params.store("promoCode", promoCode); puts query_params signature = util.sign(@secret_key, params) resource_url = "#{@version}/#{@resource}/discount/#{promoCode}" response = connection.get(signature, resource_url, query_params) dis = DiscountResponseBuilder.new discountDataObj = dis.buildResponse(response) rescue App42Exception =>e raise e rescue Exception => e raise App42Exception.new(e) end return discountDataObj end