App42_RUBY_SDK 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. data/.gitignore +18 -0
  2. data/App42_RUBY_SDK.gemspec +31 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +25 -0
  6. data/Rakefile +1 -0
  7. data/lib/App42BadParameterException.rb +31 -0
  8. data/lib/App42Exception.rb +39 -0
  9. data/lib/App42LimitException.rb +15 -0
  10. data/lib/App42NotFoundException.rb +15 -0
  11. data/lib/App42Response.rb +13 -0
  12. data/lib/App42ResponseBuilder.rb +64 -0
  13. data/lib/App42SecurityException.rb +15 -0
  14. data/lib/App42_RUBY_SDK.rb +236 -0
  15. data/lib/App42_RUBY_SDK/version.rb +3 -0
  16. data/lib/ServiceAPI.rb +246 -0
  17. data/lib/appTab/App.rb +105 -0
  18. data/lib/appTab/BandwidthUnit.rb +57 -0
  19. data/lib/appTab/Bill.rb +182 -0
  20. data/lib/appTab/BillMonth.rb +94 -0
  21. data/lib/appTab/BillResponseBuilder.rb +242 -0
  22. data/lib/appTab/BillService.rb +457 -0
  23. data/lib/appTab/Currency.rb +79 -0
  24. data/lib/appTab/DiscountResponseBuilder.rb +71 -0
  25. data/lib/appTab/DiscountService.rb +240 -0
  26. data/lib/appTab/DiscountType.rb +54 -0
  27. data/lib/appTab/License.rb +25 -0
  28. data/lib/appTab/LicenseResponseBuilder.rb +88 -0
  29. data/lib/appTab/LicenseService.rb +399 -0
  30. data/lib/appTab/PackageData.rb +83 -0
  31. data/lib/appTab/PackageResponseBuilder.rb +114 -0
  32. data/lib/appTab/PackageService.rb +506 -0
  33. data/lib/appTab/SchemeData.rb +11 -0
  34. data/lib/appTab/SchemeResponseBuilder.rb +70 -0
  35. data/lib/appTab/SchemeService.rb +151 -0
  36. data/lib/appTab/StorageUnit.rb +54 -0
  37. data/lib/appTab/SubscribeService.rb +180 -0
  38. data/lib/appTab/Test.rb +41 -0
  39. data/lib/appTab/TimeUnit.rb +49 -0
  40. data/lib/appTab/Usage.rb +206 -0
  41. data/lib/appTab/UsageResponseBuilder.rb +152 -0
  42. data/lib/appTab/UsageService.rb +1799 -0
  43. data/lib/connection/RESTConnection.rb +711 -0
  44. data/lib/email/Email.rb +51 -0
  45. data/lib/email/EmailMIME.rb +51 -0
  46. data/lib/email/EmailResponseBuilder.rb +76 -0
  47. data/lib/email/EmailService.rb +244 -0
  48. data/lib/gallery/Album.rb +56 -0
  49. data/lib/gallery/AlbumResponseBuilder.rb +168 -0
  50. data/lib/gallery/AlbumService.rb +337 -0
  51. data/lib/gallery/PhotoService.rb +591 -0
  52. data/lib/game/Game.rb +39 -0
  53. data/lib/game/GameResponseBuilder.rb +106 -0
  54. data/lib/game/GameService.rb +268 -0
  55. data/lib/game/Reward.rb +24 -0
  56. data/lib/game/RewardResponseBuilder.rb +85 -0
  57. data/lib/game/RewardService.rb +440 -0
  58. data/lib/game/ScoreBoardService.rb +433 -0
  59. data/lib/game/ScoreService.rb +157 -0
  60. data/lib/geo/Geo.rb +51 -0
  61. data/lib/geo/GeoPoint.rb +43 -0
  62. data/lib/geo/GeoResponseBuilder.rb +145 -0
  63. data/lib/geo/GeoService.rb +506 -0
  64. data/lib/imageProcessor/Image.rb +42 -0
  65. data/lib/imageProcessor/ImageProcessorResponseBuilder.rb +40 -0
  66. data/lib/imageProcessor/ImageProcessorService.rb +1054 -0
  67. data/lib/log/Log.rb +49 -0
  68. data/lib/log/LogResponseBuilder.rb +61 -0
  69. data/lib/log/LogService.rb +920 -0
  70. data/lib/message/Queue.rb +50 -0
  71. data/lib/message/QueueResponseBuilder.rb +64 -0
  72. data/lib/message/QueueService.rb +469 -0
  73. data/lib/push/DeviceType.rb +56 -0
  74. data/lib/push/PushNotification.rb +38 -0
  75. data/lib/push/PushNotificationResposneBuilder.rb +74 -0
  76. data/lib/push/PushNotificationService.rb +458 -0
  77. data/lib/recommend/PreferenceData.rb +25 -0
  78. data/lib/recommend/Recommender.rb +48 -0
  79. data/lib/recommend/RecommenderResponseBuilder.rb +70 -0
  80. data/lib/recommend/RecommenderService.rb +1092 -0
  81. data/lib/recommend/RecommenderSimilarity.rb +52 -0
  82. data/lib/review/Review.rb +38 -0
  83. data/lib/review/ReviewResponseBuilder.rb +76 -0
  84. data/lib/review/ReviewService.rb +590 -0
  85. data/lib/session/Session.rb +43 -0
  86. data/lib/session/SessionResponseBuilder.rb +70 -0
  87. data/lib/session/SessionService.rb +427 -0
  88. data/lib/shopping/Cart.rb +77 -0
  89. data/lib/shopping/CartResponseBuilder.rb +118 -0
  90. data/lib/shopping/CartService.rb +902 -0
  91. data/lib/shopping/Catalogue.rb +79 -0
  92. data/lib/shopping/CatalogueResponseBuilder.rb +170 -0
  93. data/lib/shopping/CatalogueService.rb +649 -0
  94. data/lib/shopping/ItemData.rb +29 -0
  95. data/lib/shopping/PaymentStatus.rb +60 -0
  96. data/lib/social/Social.rb +35 -0
  97. data/lib/social/SocialResponseBuilder.rb +38 -0
  98. data/lib/social/SocialService.rb +585 -0
  99. data/lib/storage/OrderByType.rb +29 -0
  100. data/lib/storage/Query.rb +39 -0
  101. data/lib/storage/QueryBuilder.rb +118 -0
  102. data/lib/storage/Storage.rb +45 -0
  103. data/lib/storage/StorageResponseBuilder.rb +86 -0
  104. data/lib/storage/StorageService.rb +775 -0
  105. data/lib/upload/Upload.rb +40 -0
  106. data/lib/upload/UploadFileType.rb +83 -0
  107. data/lib/upload/UploadResponseBuilder.rb +58 -0
  108. data/lib/upload/UploadService.rb +960 -0
  109. data/lib/user/User.rb +102 -0
  110. data/lib/user/UserResponseBuilder.rb +105 -0
  111. data/lib/user/UserService.rb +1253 -0
  112. data/lib/util/util.rb +250 -0
  113. metadata +134 -9
  114. checksums.yaml +0 -7
@@ -0,0 +1,11 @@
1
+ require 'App42Response.rb'
2
+
3
+ module App42
4
+ module AppTab
5
+ class SchemeData < App42Response
6
+ attr_accessor :name, :description
7
+ @name
8
+ @description
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,70 @@
1
+ require 'json/pure'
2
+ require 'App42ResponseBuilder.rb'
3
+ require 'appTab/SchemeData.rb'
4
+
5
+ module App42
6
+ module AppTab
7
+ class SchemeResponseBuilder < App42ResponseBuilder
8
+ def buildResponse(json)
9
+ appTabJSONObj = getServiceJSONObject("schemes", json);
10
+ schemeJSONObj = appTabJSONObj.fetch("scheme");
11
+ scheme = App42::AppTab::SchemeData.new()
12
+ scheme = buildSchemeObject(schemeJSONObj);
13
+ scheme.strResponse = json
14
+ scheme.isResponseSuccess = isResponseSuccess(json)
15
+ return scheme;
16
+ end
17
+
18
+ def buildSchemeObject(schemeJSONObj)
19
+ schemeObj = App42::AppTab::SchemeData.new()
20
+ buildObjectFromJSONTree(schemeObj, schemeJSONObj);
21
+
22
+ if schemeJSONObj.key?("schemes") && schemeJSONObj.fetch("schemes").key?("scheme")
23
+
24
+ if schemeJSONObj.fetch("schemes").fetch("scheme").instance_of?(Hash)
25
+ schemeJSONObject = schemeJSONObj.fetch("scheme");
26
+ buildObjectFromJSONTree(schemeObj, schemeJSONObject);
27
+
28
+ else
29
+
30
+ schemeJSONArray = schemeJSONObj.fetch("scheme");
31
+
32
+ schemeJSONArray.length.times do |i|
33
+ schemeJSONOb = schemeJSONArray.fetch(i);
34
+ buildObjectFromJSONTree(schemeObj, schemeJSONOb);
35
+ end
36
+
37
+ end
38
+ end
39
+ return schemeObj;
40
+ end
41
+
42
+ def buildArrayResponse(json)
43
+ schemesJSONObj = getServiceJSONObject("schemes", json);
44
+ schemeObj = Array.new();
45
+
46
+ if schemesJSONObj.fetch("scheme").instance_of?(Array)
47
+ schemeJSONArray = schemesJSONObj.fetch("scheme");
48
+ schemeJSONArray.length.times do |i|
49
+ schemeJSONObject = schemeJSONArray.fetch(i);
50
+ schemeData = App42::AppTab::SchemeData.new()
51
+ schemeData = buildSchemeObject(schemeJSONObject);
52
+ schemeData.strResponse = json
53
+ schemeData.isResponseSuccess = isResponseSuccess(json)
54
+ schemeObj.push(schemeData);
55
+ end
56
+ else
57
+
58
+ schemeJSONObject = schemesJSONObj.fetch("scheme");
59
+ schemeData = App42::AppTab::SchemeData.new()
60
+ schemeData = buildSchemeObject(schemeJSONObject);
61
+ schemeData.strResponse = json
62
+ schemeData.isResponseSuccess = isResponseSuccess(json)
63
+ schemeObj.push(schemeData);
64
+ end
65
+ return schemeObj;
66
+ end
67
+
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,151 @@
1
+ require 'connection/RESTConnection.rb'
2
+ require 'util/util.rb'
3
+ require 'json/pure'
4
+ require 'rubygems'
5
+ require 'App42Response.rb'
6
+ require 'appTab/SchemeData.rb'
7
+ require 'appTab/SchemeResponseBuilder.rb'
8
+
9
+ module App42
10
+ module AppTab
11
+ class SchemeService
12
+ #
13
+ # this is a constructor that takes
14
+ #
15
+ # @param apiKey
16
+ # @param secretKey
17
+ # @param baseURL
18
+ #
19
+ def initialize(api_key, secret_key, base_url)
20
+ puts "LicenseService->initialize"
21
+ @api_key = api_key
22
+ @secret_key = secret_key
23
+ @base_url = base_url
24
+ @resource = "scheme"
25
+ @version = "1.0"
26
+ end
27
+
28
+ #
29
+ # @param aName
30
+ # @param schemeName
31
+ # @param desc
32
+ # @return
33
+ # @throws Exception
34
+ #
35
+
36
+ def create_scheme(schemeName, description)
37
+ puts "createScheme Called "
38
+ puts "Base url #{@base_url}"
39
+ response = nil;
40
+ schemeDataObj = nil;
41
+ schemeDataObj = SchemeData.new()
42
+ util = Util.new
43
+ util.throwExceptionIfNullOrBlank(schemeName, "Name");
44
+ util.throwExceptionIfNullOrBlank(description, "Description");
45
+ begin
46
+ connection = App42::Connection::RESTConnection.new(@base_url)
47
+ schemeObj = Hash.new()
48
+ schemeObj.store("name", schemeName);
49
+ schemeObj.store("description", description);
50
+ body = {'app42' => {"app" => {
51
+ "scheme" => schemeObj
52
+ }}}.to_json
53
+ puts "Body #{body}"
54
+ query_params = Hash.new
55
+ params = {
56
+ 'apiKey'=> @api_key,
57
+ 'version' => @version,
58
+ 'timeStamp' => util.get_timestamp_utc,
59
+ }
60
+ query_params = params.clone
61
+ params.store("body", body)
62
+ puts params
63
+ puts query_params
64
+ signature = util.sign(@secret_key, params)
65
+ resource_url = "#{@version}/#{@resource}"
66
+ response = connection.post(signature, resource_url, query_params, body)
67
+ scheme = SchemeResponseBuilder.new
68
+ schemeDataObj = scheme.buildResponse(response)
69
+ rescue App42Exception =>e
70
+ raise e
71
+ rescue Exception => e
72
+ raise App42Exception.new(e)
73
+ end
74
+ return schemeDataObj
75
+ end
76
+
77
+ #
78
+ #@return
79
+ #
80
+ def get_schemes()
81
+ puts "getSchemes called"
82
+ puts "Base url #{@base_url}"
83
+ response = nil;
84
+ schemeDataList = nil;
85
+ schemeDataList = Array.new();
86
+ util = Util.new
87
+ begin
88
+ connection = App42::Connection::RESTConnection.new(@base_url)
89
+ query_params = Hash.new
90
+ params = {
91
+ 'apiKey'=> @api_key,
92
+ 'version' => @version,
93
+ 'timeStamp' => util.get_timestamp_utc,
94
+ }
95
+ query_params = params.clone
96
+ puts params
97
+ puts query_params
98
+ signature = util.sign(@secret_key, params)
99
+ resource_url = "#{@version}/#{@resource}"
100
+ response = connection.get(signature, resource_url, query_params)
101
+ scheme = SchemeResponseBuilder.new
102
+ schemeDataList = scheme.buildArrayResponse(response)
103
+ rescue App42Exception =>e
104
+ raise e
105
+ rescue Exception => e
106
+ raise App42Exception.new(e)
107
+ end
108
+ return schemeDataList
109
+ end
110
+
111
+ #
112
+ # @param schemeName
113
+ # @return
114
+ #
115
+
116
+ def get_scheme_by_name(schemeName)
117
+ puts "getSchemeByName "
118
+ puts "Base url #{@base_url}"
119
+ response = nil;
120
+ schemeDataObj = nil;
121
+ schemeDataObj = SchemeData.new()
122
+ util = Util.new
123
+ util.throwExceptionIfNullOrBlank(schemeName, "Name");
124
+ begin
125
+ connection = App42::Connection::RESTConnection.new(@base_url)
126
+ query_params = Hash.new
127
+ params = {
128
+ 'apiKey'=> @api_key,
129
+ 'version' => @version,
130
+ 'timeStamp' => util.get_timestamp_utc,
131
+ }
132
+ query_params = params.clone
133
+ puts params
134
+ params.store("schemeName", schemeName);
135
+ puts query_params
136
+ signature = util.sign(@secret_key, params)
137
+ resource_url = "#{@version}/#{@resource}/#{schemeName}"
138
+ response = connection.get(signature, resource_url, query_params)
139
+ scheme = SchemeResponseBuilder.new
140
+ schemeDataObj = scheme.buildResponse(response)
141
+ rescue App42Exception =>e
142
+ raise e
143
+ rescue Exception => e
144
+ raise App42Exception.new(e)
145
+ end
146
+ return schemeDataObj
147
+ end
148
+
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,54 @@
1
+ require 'App42Response.rb'
2
+
3
+ module App42
4
+ module AppTab
5
+ #
6
+ # An enum that contains the Storage Unit to be mentioned in the Bill.
7
+ #
8
+ class StorageUnit < App42Response
9
+ unless (const_defined?(:KB))
10
+ KB = "KB"
11
+ end
12
+ unless (const_defined?(:MB))
13
+ MB = "MB"
14
+ end
15
+ unless (const_defined?(:GB))
16
+ GB = "GB"
17
+ end
18
+ unless (const_defined?(:TB))
19
+ TB = "TB"
20
+ end
21
+
22
+ #
23
+ # Sets the value of the StorageUnit.
24
+ #
25
+ # @param string
26
+ # - the string of StorageUnit
27
+ #
28
+ def enum(string)
29
+ return StorageUnit.const_get(string)
30
+ end
31
+
32
+ #
33
+ # Returns the value of the StorageUnit.
34
+ #
35
+ # @return the value of StorageUnit.
36
+ #
37
+
38
+ def isAvailable(string)
39
+ if(string == "KB")
40
+ return "KB"
41
+ elsif(string == "MB")
42
+ return "MB";
43
+ elsif(string == "GB")
44
+ return "GB";
45
+ elsif(string == "TB")
46
+ return "TB";
47
+ else
48
+ return nil
49
+ end
50
+ end
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,180 @@
1
+ require 'connection/RESTConnection.rb'
2
+ require 'util/util.rb'
3
+ require 'json/pure'
4
+
5
+ module App42
6
+ module AppTab
7
+ class SubscribeService
8
+ #
9
+ # this is a constructor that takes
10
+ #
11
+ # @param apiKey
12
+ # @param secretKey
13
+ # @param baseURL
14
+ #
15
+ def initialize(api_key, secret_key, base_url)
16
+ @api_key = api_key
17
+ @secret_key = secret_key
18
+ @base_url = base_url
19
+ @resource = "subscribe"
20
+ @version = "1.0"
21
+ end
22
+
23
+ #
24
+ # @param uName
25
+ # @param schemeName
26
+ # @param packageName
27
+ # @param renew
28
+ # @return
29
+ # @throws Exception
30
+
31
+ def subscribe(uName, schemeName, packageName, renew)
32
+ puts "subscribe Called "
33
+ puts "Base url #{@base_url}"
34
+ response = nil
35
+ util = Util.new
36
+ util.throwExceptionIfNullOrBlank(uName, "UserName");
37
+ util.throwExceptionIfNullOrBlank(schemeName, "Name");
38
+ util.throwExceptionIfNullOrBlank(packageName, "Name");
39
+ util.throwExceptionIfNullOrBlank(renew, "Autorenew");
40
+ begin
41
+ connection = App42::Connection::RESTConnection.new(@base_url)
42
+ pkgObj = PackageData.new()
43
+ pkgObj.store("name", packageName);
44
+ schemeObj = SchemeData.new()
45
+ schemeObj.store("packageDetails", pkgObj);
46
+ schemeObj.store("name", schemeName);
47
+ body = {'app42' => {"app"=> {"subscribe" =>{
48
+ "userName" => uName,
49
+ "autoRenew" => renew,
50
+ "scheme" => schemeObj
51
+ }}}}.to_json
52
+ puts "Body #{body}"
53
+ query_params = Hash.new
54
+ params = {
55
+ 'apiKey'=> @api_key,
56
+ 'version' => @version,
57
+ 'timeStamp' => util.get_timestamp_utc,
58
+ }
59
+ query_params = params.clone
60
+ params.store("body", body)
61
+ puts params
62
+ puts query_params
63
+ signature = util.sign(@secret_key, params)
64
+ resource_url = "#{@version}/#{@resource}"
65
+ response = connection.post(signature, resource_url, query_params, body)
66
+ rescue App42Exception =>e
67
+ raise e
68
+ rescue Exception => e
69
+ raise App42Exception.new(e)
70
+ end
71
+ return response
72
+ end
73
+
74
+ #
75
+ # @return
76
+ # @throws Exception
77
+ #
78
+ def get_susbscriptions()
79
+ puts "getSusbscriptions "
80
+ puts "Base url #{@base_url}"
81
+ response = nil
82
+ util = Util.new
83
+ begin
84
+ connection = App42::Connection::RESTConnection.new(@base_url)
85
+ query_params = Hash.new
86
+ params = {
87
+ 'apiKey'=> @api_key,
88
+ 'version' => @version,
89
+ 'timeStamp' => util.get_timestamp_utc,
90
+ }
91
+ query_params = params.clone
92
+ puts params
93
+ params.store();
94
+ puts query_params
95
+ signature = util.sign(@secret_key, params)
96
+ resource_url = "#{@version}/#{@resource}"
97
+ response = connection.get(signature, resource_url, query_params)
98
+ rescue App42Exception =>e
99
+ raise e
100
+ rescue Exception => e
101
+ raise App42Exception.new(e)
102
+ end
103
+ return response
104
+ end
105
+
106
+ # @param userName
107
+ # @return
108
+ # @throws Exception
109
+
110
+ def get_susbscriptions_by_login(userName)
111
+ puts "getSusbscriptions "
112
+ puts "Base url #{@base_url}"
113
+ response = nil
114
+ util = Util.new
115
+ util.throwExceptionIfNullOrBlank(userName, "UserName");
116
+ begin
117
+ connection = App42::Connection::RESTConnection.new(@base_url)
118
+ query_params = Hash.new
119
+ params = {
120
+ 'apiKey'=> @api_key,
121
+ 'version' => @version,
122
+ 'timeStamp' => util.get_timestamp_utc,
123
+ }
124
+ query_params = params.clone
125
+ puts params
126
+ params.store("userName", userName);
127
+ puts query_params
128
+ signature = util.sign(@secret_key, params)
129
+ resource_url = "#{@version}/#{@resource}/#{userName}"
130
+ response = connection.get(signature, resource_url, query_params)
131
+ rescue App42Exception =>e
132
+ raise e
133
+ rescue Exception => e
134
+ raise App42Exception.new(e)
135
+ end
136
+ return response
137
+ end
138
+
139
+ # @param userName
140
+ # @param schemeName
141
+ # @param packageName
142
+ # @return
143
+ # @throws Exception
144
+
145
+ def un_susbscriptions(userName, schemeName, packageName)
146
+ puts "unSusbscriptions "
147
+ puts "Base url #{@base_url}"
148
+ response = nil
149
+ util = Util.new
150
+ util.throwExceptionIfNullOrBlank(userName, "UserName");
151
+ util.throwExceptionIfNullOrBlank(schemeName, "Name");
152
+ util.throwExceptionIfNullOrBlank(packageName, "Name");
153
+ begin
154
+ connection = App42::Connection::RESTConnection.new(@base_url)
155
+ query_params = Hash.new
156
+ params = {
157
+ 'apiKey'=> @api_key,
158
+ 'version' => @version,
159
+ 'timeStamp' => util.get_timestamp_utc,
160
+ }
161
+ query_params = params.clone
162
+ puts params
163
+ params.store("userName", userName);
164
+ params.store("schemeName", schemeName);
165
+ params.store("packageName", packageName);
166
+ puts query_params
167
+ signature = util.sign(@secret_key, params)
168
+ resource_url = "#{@version}/#{@resource}/#{userName}"
169
+ response = connection.get(signature, resource_url, query_params)
170
+ rescue App42Exception =>e
171
+ raise e
172
+ rescue Exception => e
173
+ raise App42Exception.new(e)
174
+ end
175
+ return response
176
+ end
177
+
178
+ end
179
+ end
180
+ end