App42_Ruby_API 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/App42_Ruby_API.gemspec +33 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/TODO.rb +3 -0
  9. data/lib/App42_Ruby_API.rb +232 -0
  10. data/lib/App42_Ruby_API/App42BadParameterException.rb +31 -0
  11. data/lib/App42_Ruby_API/App42Exception.rb +39 -0
  12. data/lib/App42_Ruby_API/App42LimitException.rb +15 -0
  13. data/lib/App42_Ruby_API/App42NotFoundException.rb +15 -0
  14. data/lib/App42_Ruby_API/App42Response.rb +13 -0
  15. data/lib/App42_Ruby_API/App42ResponseBuilder.rb +67 -0
  16. data/lib/App42_Ruby_API/App42SecurityException.rb +15 -0
  17. data/lib/App42_Ruby_API/version.rb +3 -0
  18. data/lib/connection/RESTConnection.rb +713 -0
  19. data/lib/email/Email.rb +51 -0
  20. data/lib/email/EmailMIME.rb +51 -0
  21. data/lib/email/EmailResponseBuilder.rb +76 -0
  22. data/lib/email/EmailService.rb +244 -0
  23. data/lib/gallery/Album.rb +56 -0
  24. data/lib/gallery/AlbumResponseBuilder.rb +168 -0
  25. data/lib/gallery/AlbumService.rb +337 -0
  26. data/lib/gallery/PhotoService.rb +591 -0
  27. data/lib/game/Game.rb +39 -0
  28. data/lib/game/GameResponseBuilder.rb +106 -0
  29. data/lib/game/GameService.rb +268 -0
  30. data/lib/game/Reward.rb +24 -0
  31. data/lib/game/RewardResponseBuilder.rb +85 -0
  32. data/lib/game/RewardService.rb +440 -0
  33. data/lib/game/ScoreBoardService.rb +433 -0
  34. data/lib/game/ScoreService.rb +157 -0
  35. data/lib/geo/Geo.rb +51 -0
  36. data/lib/geo/GeoPoint.rb +43 -0
  37. data/lib/geo/GeoResponseBuilder.rb +145 -0
  38. data/lib/geo/GeoService.rb +505 -0
  39. data/lib/imageProcessor/Image.rb +42 -0
  40. data/lib/imageProcessor/ImageProcessorResponseBuilder.rb +40 -0
  41. data/lib/imageProcessor/ImageProcessorService.rb +1054 -0
  42. data/lib/log/Log.rb +49 -0
  43. data/lib/log/LogResponseBuilder.rb +61 -0
  44. data/lib/log/LogService.rb +920 -0
  45. data/lib/message/Queue.rb +50 -0
  46. data/lib/message/QueueResponseBuilder.rb +64 -0
  47. data/lib/message/QueueService.rb +469 -0
  48. data/lib/push/DeviceType.rb +56 -0
  49. data/lib/push/PushNotification.rb +38 -0
  50. data/lib/push/PushNotificationResposneBuilder.rb +74 -0
  51. data/lib/push/PushNotificationService.rb +458 -0
  52. data/lib/recommend/PreferenceData.rb +25 -0
  53. data/lib/recommend/Recommender.rb +48 -0
  54. data/lib/recommend/RecommenderResponseBuilder.rb +70 -0
  55. data/lib/recommend/RecommenderService.rb +1092 -0
  56. data/lib/recommend/RecommenderSimilarity.rb +52 -0
  57. data/lib/review/Review.rb +38 -0
  58. data/lib/review/ReviewResponseBuilder.rb +76 -0
  59. data/lib/review/ReviewService.rb +590 -0
  60. data/lib/session/Session.rb +43 -0
  61. data/lib/session/SessionResponseBuilder.rb +70 -0
  62. data/lib/session/SessionService.rb +427 -0
  63. data/lib/shopping/Cart.rb +77 -0
  64. data/lib/shopping/CartResponseBuilder.rb +118 -0
  65. data/lib/shopping/CartService.rb +902 -0
  66. data/lib/shopping/Catalogue.rb +79 -0
  67. data/lib/shopping/CatalogueResponseBuilder.rb +170 -0
  68. data/lib/shopping/CatalogueService.rb +649 -0
  69. data/lib/shopping/ItemData.rb +29 -0
  70. data/lib/shopping/PaymentStatus.rb +60 -0
  71. data/lib/social/Social.rb +35 -0
  72. data/lib/social/SocialResponseBuilder.rb +38 -0
  73. data/lib/social/SocialService.rb +585 -0
  74. data/lib/storage/OrderByType.rb +29 -0
  75. data/lib/storage/Query.rb +39 -0
  76. data/lib/storage/QueryBuilder.rb +118 -0
  77. data/lib/storage/Storage.rb +45 -0
  78. data/lib/storage/StorageResponseBuilder.rb +86 -0
  79. data/lib/storage/StorageService.rb +775 -0
  80. data/lib/upload/Upload.rb +40 -0
  81. data/lib/upload/UploadFileType.rb +83 -0
  82. data/lib/upload/UploadResponseBuilder.rb +58 -0
  83. data/lib/upload/UploadService.rb +960 -0
  84. data/lib/user/User.rb +102 -0
  85. data/lib/user/UserResponseBuilder.rb +105 -0
  86. data/lib/user/UserService.rb +1209 -0
  87. data/lib/util/util.rb +244 -0
  88. data/question.rb +79 -0
  89. metadata +204 -0
@@ -0,0 +1,40 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'App42_Ruby_API/App42Response'
6
+
7
+ #
8
+ #
9
+ # This Upload object is the value object which contains the properties of
10
+ # Upload along with the setter & getter for those properties.
11
+ #
12
+ #
13
+
14
+ module App42
15
+ module Upload
16
+ class Upload < App42Response
17
+ attr_accessor :fileList
18
+ @fileList = Array.new
19
+ end
20
+
21
+ class File
22
+ attr_accessor :name, :userName, :type, :description, :url, :tinyUrl
23
+
24
+ @userName
25
+ @name
26
+ @type
27
+ @url
28
+ @description
29
+ @tinyUrl
30
+
31
+ #
32
+ # This is constructor that take no parameters
33
+ #
34
+ def initialize(upload)
35
+ upload.fileList.push(self)
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,83 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'App42_Ruby_API/App42Response'
6
+
7
+ #
8
+ # An enum that defines the type of the file to be uploaded on cloud.
9
+ #
10
+
11
+ module App42
12
+ module Upload
13
+ class UploadFileType < App42Response
14
+ unless (const_defined?(:AUDIO))
15
+ AUDIO = "AUDIO"
16
+ end
17
+ unless (const_defined?(:VIDEO))
18
+ VIDEO = "VIDEO"
19
+ end
20
+ unless (const_defined?(:IMAGE))
21
+ IMAGE = "IMAGE"
22
+ end
23
+ unless (const_defined?(:BINARY))
24
+ BINARY = "BINARY"
25
+ end
26
+ unless (const_defined?(:TXT))
27
+ TXT = "TXT"
28
+ end
29
+ unless (const_defined?(:XML))
30
+ XML = "XML"
31
+ end
32
+ unless (const_defined?(:CSV))
33
+ CSV = "CSV"
34
+ end
35
+ unless (const_defined?(:JSON))
36
+ JSON = "JSON"
37
+ end
38
+ unless (const_defined?(:OTHER))
39
+ OTHER = "OTHER"
40
+ end
41
+
42
+ #
43
+ # Sets the value of the UploadFileType.
44
+ #
45
+ # @param string
46
+ # - the string of UploadFileType.
47
+ #
48
+ def enum(string)
49
+ return UploadFileType.const_get(string)
50
+ end
51
+
52
+ #
53
+ # Returns the value of the UploadFileType.
54
+ #
55
+ # @return the value of UploadFileType.
56
+ #
57
+
58
+ def isAvailable(string)
59
+ if(string == "AUDIO")
60
+ return "AUDIO"
61
+ elsif(string == "VIDEO")
62
+ return "VIDEO"
63
+ elsif(string == "IMAGE")
64
+ return "IMAGE"
65
+ elsif(string == "BINARY")
66
+ return "BINARY"
67
+ elsif(string == "TXT")
68
+ return "TXT"
69
+ elsif(string == "XML")
70
+ return "XML"
71
+ elsif(string == "CSV")
72
+ return "CSV"
73
+ elsif(string == "JSON")
74
+ return "JSON"
75
+ elsif(string == "OTHER")
76
+ return "OTHER";
77
+ else
78
+ return nil
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,58 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'json/pure'
6
+ require 'App42_Ruby_API/App42ResponseBuilder'
7
+ require 'upload/Upload'
8
+
9
+ module App42
10
+ module Upload
11
+
12
+ #
13
+ #
14
+ # UploadResponseBuilder class converts the JSON response retrieved from the
15
+ # server to the value object i.e User
16
+ #
17
+ #
18
+ class UploadResponseBuilder < App42ResponseBuilder
19
+
20
+ #
21
+ # Converts the response in JSON format to the value object i.e Upload
22
+ #
23
+ # @param json
24
+ # - response in JSON format
25
+ #
26
+ # @return Upload object filled with json data
27
+ #
28
+ #
29
+ def buildResponse(json)
30
+ puts "testing #{json}"
31
+ uploadObj = Upload.new()
32
+
33
+ fileList = Array.new
34
+ uploadObj.fileList=fileList
35
+
36
+ uploadObj.strResponse=json
37
+ uploadObj.isResponseSuccess = isResponseSuccess(json)
38
+ jsonObjUpload = getServiceJSONObject("upload", json)
39
+ jsonObjFiles = jsonObjUpload.fetch("files");
40
+
41
+ if jsonObjFiles.fetch("file").instance_of?(Hash)
42
+ jsonObjFile = jsonObjFiles.fetch("file")
43
+ fileObj = App42::Upload::File.new(uploadObj)
44
+ buildObjectFromJSONTree(fileObj, jsonObjFile);
45
+ else
46
+ jsonObjFileArray = jsonObjFiles["file"]
47
+
48
+ jsonObjFileArray.length.times do |i|
49
+ fileObj = App42::Upload::File.new(uploadObj)
50
+ jsonObjFile = jsonObjFileArray[i]
51
+ buildObjectFromJSONTree(fileObj, jsonObjFile);
52
+ end
53
+ end
54
+ return uploadObj
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,960 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'rubygems'
6
+ require 'connection/RESTConnection'
7
+ require 'util/util'
8
+ require 'json/pure'
9
+ require 'App42_Ruby_API/App42Response'
10
+ require 'upload/UploadResponseBuilder'
11
+ require 'upload/Upload'
12
+ require 'upload/UploadFileType'
13
+
14
+ module App42
15
+ module Upload
16
+ #
17
+ # Uploads file on the cloud. Allows access to the files through url.
18
+ # Its especially useful for Mobile/Device apps. It minimizes the App footprint
19
+ # on the device.
20
+ #
21
+ # @see Upload
22
+ # @see App42Response
23
+ #
24
+ class UploadService
25
+ #
26
+ # this is a constructor that takes
27
+ #
28
+ # @param apiKey
29
+ # @param secretKey
30
+ # @param baseURL
31
+ #
32
+ def initialize(api_key, secret_key, base_url)
33
+ puts "File Upload->initialize"
34
+ @api_key = api_key
35
+ @secret_key = secret_key
36
+ @base_url = base_url
37
+ @resource = "upload"
38
+ @version = "1.0"
39
+ end
40
+
41
+ #
42
+ # Uploads file on the cloud.
43
+ #
44
+ # @param name
45
+ # - The name for the file which has to be saved. It is used to retrieve the file
46
+ # @param filePath
47
+ # - The local path for the file
48
+ # @param fileType
49
+ # - The type of the file. File can be either Audio, Video, Image, Binary, Txt, xml, json, csv or other
50
+ # Use the static constants e.g. Upload.AUDIO, Upload.XML etc.
51
+ # @param description
52
+ # - Description of the file to be uploaded.
53
+ #
54
+ # @return Upload object
55
+ #
56
+ # @raise App42Exception
57
+ #
58
+
59
+ def upload_file(name, filePath, fileType, description)
60
+ puts "upload File Called "
61
+ puts "Base url #{@base_url}"
62
+ response = nil;
63
+ uploadObj = nil;
64
+ uploadObj = Upload.new
65
+ util = Util.new
66
+ util.throwExceptionIfNullOrBlank(name, "Name");
67
+ util.throwExceptionIfNullOrBlank(filePath, "Filepath");
68
+ util.throwExceptionIfNullOrBlank(fileType, "fileType");
69
+ util.throwExceptionIfNullOrBlank(description, "Description");
70
+ if (FileTest.exists?(filePath) == false)
71
+ raise App42Exception.new("The file with the name #{filePath} not found")
72
+ end
73
+ begin
74
+ if (UploadFileType.new.isAvailable(fileType) == nil)
75
+ raise App42NotFoundException.new("Upload File Type #{fileType} does not Exist ");
76
+ end
77
+ connection = App42::Connection::RESTConnection.new(@base_url)
78
+ params = Hash.new
79
+ query_params = Hash.new
80
+ query_params = {
81
+ 'apiKey'=> @api_key,
82
+ 'version' => @version,
83
+ 'timeStamp' => util.get_timestamp_utc
84
+ }
85
+ params = query_params.clone
86
+ post_params = Hash.new
87
+ upload = UploadFileType.new()
88
+ post_params.store("name", name);
89
+ post_params.store("type", upload.enum(fileType))
90
+ post_params.store("description", description);
91
+ params = params.merge(post_params)
92
+ signature = util.sign(@secret_key, params)
93
+ resource_url = "#{@version}/#{@resource}"
94
+ response = connection.multipart(signature, resource_url, query_params, params, filePath)
95
+ upload = UploadResponseBuilder.new()
96
+ uploadObj = upload.buildResponse(response)
97
+ rescue App42Exception =>e
98
+ raise e
99
+ rescue Exception => e
100
+ raise App42Exception.new(e)
101
+ end
102
+ return uploadObj
103
+ end
104
+
105
+ #
106
+ # Uploads file on the cloud.
107
+ #
108
+ # @param name
109
+ # - The name for the file which has to be saved. It is used to
110
+ # retrieve the file
111
+ # @param inputStream
112
+ # - InputStream of the file to be uploaded.
113
+ # @param fileType
114
+ # - The type of the file. File can be either Audio, Video, Image,
115
+ # Binary, Txt, xml, json, csv or other Use the static constants
116
+ # e.g. Upload.AUDIO, Upload.XML etc.
117
+ # @param description
118
+ # - Description of the file to be uploaded.
119
+ #
120
+ # @return Upload object
121
+ #
122
+ # @raise App42Exception
123
+ #
124
+
125
+ def upload_file_by_stream(name, inputStream, fileType, description)
126
+ puts "upload File Called "
127
+ puts "Base url #{@base_url}"
128
+ response = nil;
129
+ uploadObj = nil;
130
+ uploadObj = Upload.new
131
+ util = Util.new
132
+ util.throwExceptionIfNullOrBlank(name, "Name");
133
+ util.throwExceptionIfNotValidExtension(name, "File Name");
134
+ util.throwExceptionIfNullOrBlank(fileType, "fileType");
135
+ util.throwExceptionIfNullOrBlank(description, "Description");
136
+ begin
137
+ connection = App42::Connection::RESTConnection.new(@base_url)
138
+ params = Hash.new
139
+ query_params = Hash.new
140
+ query_params = {
141
+ 'apiKey'=> @api_key,
142
+ 'version' => @version,
143
+ 'timeStamp' => util.get_timestamp_utc
144
+ }
145
+ params = query_params.clone
146
+ post_params = Hash.new
147
+ upload = UploadFileType.new()
148
+ post_params.store("name", name);
149
+ post_params.store("type", upload.enum(fileType))
150
+ post_params.store("description", description);
151
+ params = params.merge(post_params)
152
+ signature = util.sign(@secret_key, params)
153
+ resource_url = "#{@version}/#{@resource}"
154
+ response = connection.multipartStream(signature, resource_url, query_params, params, inputStream)
155
+ upload = UploadResponseBuilder.new()
156
+ uploadObj = upload.buildResponse(response)
157
+ rescue App42Exception =>e
158
+ raise e
159
+ rescue Exception => e
160
+ raise App42Exception.new(e)
161
+ end
162
+ return uploadObj
163
+ end
164
+
165
+ #
166
+ # Uploads file on the cloud for given user.
167
+ #
168
+ # @param name
169
+ # - The name for the file which has to be saved. It is used to
170
+ # retrieve the file
171
+ # @param userName
172
+ # - The name for the user for which file has to be saved.
173
+ # @param filePath
174
+ # - The local path for the file
175
+ # @param fileType
176
+ # - The type of the file. File can be either Audio, Video, Image,
177
+ # Binary, Txt, xml, json, csv or other Use the static constants
178
+ # e.g. Upload.AUDIO, Upload.XML etc.
179
+ # @param description
180
+ # - Description of the file to be uploaded.
181
+ #
182
+ # @return Upload object
183
+ #
184
+ # @raise App42Exception
185
+ #
186
+
187
+ def upload_file_for_user(name, userName, filePath, fileType, description)
188
+ puts "upload File for user Called "
189
+ puts "Base url #{@base_url}"
190
+ response = nil;
191
+ uploadObj = nil;
192
+ uploadObj = Upload.new
193
+ util = Util.new
194
+ util.throwExceptionIfNullOrBlank(name, "File Name");
195
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
196
+ util.throwExceptionIfNullOrBlank(filePath, "Filepath");
197
+ util.throwExceptionIfNullOrBlank(fileType, "fileType");
198
+ util.throwExceptionIfNullOrBlank(description, "Description");
199
+ begin
200
+ connection = App42::Connection::RESTConnection.new(@base_url)
201
+ params = Hash.new
202
+ query_params = Hash.new
203
+ query_params = {
204
+ 'apiKey'=> @api_key,
205
+ 'version' => @version,
206
+ 'timeStamp' => util.get_timestamp_utc
207
+ }
208
+ params = query_params.clone
209
+ post_params = Hash.new
210
+ upload = UploadFileType.new()
211
+ post_params.store("name", name);
212
+ post_params.store("userName", userName);
213
+ post_params.store("type", upload.enum(fileType))
214
+ post_params.store("description", description);
215
+ params = params.merge(post_params)
216
+ signature = util.sign(@secret_key, params)
217
+ resource_url = "#{@version}/#{@resource}/#{userName}"
218
+ response = connection.multipart(signature, resource_url, query_params, params, filePath)
219
+ upload = UploadResponseBuilder.new()
220
+ uploadObj = upload.buildResponse(response)
221
+ rescue App42Exception =>e
222
+ raise e
223
+ rescue Exception => e
224
+ raise App42Exception.new(e)
225
+ end
226
+ return uploadObj
227
+ end
228
+
229
+ #
230
+ # Uploads file on the cloud.
231
+ #
232
+ # @param name
233
+ # - The name for the file which has to be saved. It is used to retrieve the file
234
+ # @param userName
235
+ # - The name for the user for which file has to be saved.
236
+ # @param filePath
237
+ # - The local path for the file
238
+ # @param uploadFileType
239
+ # - The type of the file. File can be either Audio, Video, Image, Binary, Txt, xml, json, csv or other
240
+ # Use the static constants e.g. Upload.AUDIO, Upload.XML etc.
241
+ # @param description
242
+ # - Description of the file to be uploaded.
243
+ #
244
+ # @return Upload object
245
+ #
246
+ # @raise App42Exception
247
+ #
248
+
249
+ def upload_file_for_user_by_stream(name, userName, inputStream, fileType, description)
250
+ puts "upload File Called "
251
+ puts "Base url #{@base_url}"
252
+ response = nil;
253
+ uploadObj = nil;
254
+ uploadObj = Upload.new
255
+ util = Util.new
256
+ util.throwExceptionIfNullOrBlank(name, "File Name");
257
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
258
+ util.throwExceptionIfNotValidExtension(name, "File Name");
259
+ util.throwExceptionIfNullOrBlank(fileType, "fileType");
260
+ util.throwExceptionIfNullOrBlank(description, "Description");
261
+ if (FileTest.exists?(filePath) == false)
262
+ raise App42Exception.new("The file with the name #{filePath} not found")
263
+ end
264
+ begin
265
+ if (UploadFileType.new.isAvailable(fileType) == nil)
266
+ raise App42NotFoundException.new("Upload File Type #{fileType} does not Exist ");
267
+ end
268
+ connection = App42::Connection::RESTConnection.new(@base_url)
269
+ params = Hash.new
270
+ query_params = Hash.new
271
+ query_params = {
272
+ 'apiKey'=> @api_key,
273
+ 'version' => @version,
274
+ 'timeStamp' => util.get_timestamp_utc
275
+ }
276
+ params = query_params.clone
277
+ post_params = Hash.new
278
+ upload = UploadFileType.new()
279
+ post_params.store("name", name);
280
+ post_params.store("type", upload.enum(fileType))
281
+ post_params.store("description", description);
282
+ signature = util.sign(@secret_key, params)
283
+ resource_url = "#{@version}/#{@resource}"
284
+ response = connection.multipartStream(signature, resource_url, query_params, params, inputStream)
285
+ upload = UploadResponseBuilder.new()
286
+ uploadObj = upload.buildResponse(response)
287
+ rescue App42Exception =>e
288
+ raise e
289
+ rescue Exception => e
290
+ raise App42Exception.new(e)
291
+ end
292
+ return uploadObj
293
+ end
294
+
295
+ # Gets all the files By Paging for the App
296
+ #
297
+ # @param max
298
+ # - Maximum number of records to be fetched
299
+ # @param offset
300
+ # - From where the records are to be fetched
301
+ #
302
+ # @return Upload object
303
+ #
304
+ # @raise App42Exception
305
+ #
306
+
307
+ def get_all_files_by_paging(max, offset)
308
+ puts "getAllFilesByPaging Called "
309
+ puts "Base url #{@base_url}"
310
+ response = nil;
311
+ uploadObj = nil;
312
+ uploadObj = Upload.new
313
+ util = Util.new
314
+ util.validateMax(max);
315
+ util.throwExceptionIfNullOrBlank(max, "Max");
316
+ util.throwExceptionIfNullOrBlank(offset, "Offset");
317
+ begin
318
+ connection = App42::Connection::RESTConnection.new(@base_url)
319
+ query_params = Hash.new
320
+ params = {
321
+ 'apiKey'=> @api_key,
322
+ 'version' => @version,
323
+ 'timeStamp' => util.get_timestamp_utc,
324
+ }
325
+ query_params = params.clone
326
+ params.store("max", "" + (max.to_i).to_s)
327
+ params.store("offset", "" + (offset.to_i).to_s)
328
+ signature = util.sign(@secret_key, params)
329
+ resource_url = "#{@version}/#{@resource}/paging/#{(max.to_i).to_s}/#{(offset.to_i).to_s}"
330
+ response = connection.get(signature, resource_url, query_params)
331
+ upload = UploadResponseBuilder.new
332
+ uploadObj = upload.buildResponse(response)
333
+ rescue App42Exception =>e
334
+ raise e
335
+ rescue Exception => e
336
+ raise App42Exception.new(e)
337
+ end
338
+ return uploadObj
339
+ end
340
+
341
+ #
342
+ # Gets the file based on user name by Paging.
343
+ #
344
+ # @param userName
345
+ # - The name of the user for which file has to be retrieved
346
+ # @param max
347
+ # - Maximum number of records to be fetched
348
+ # @param offset
349
+ # - From where the records are to be fetched
350
+ #
351
+ # @return Upload object
352
+ #
353
+ # @raise App42Exception
354
+ #
355
+
356
+ def get_all_files_by_user_by_paging(userName, max, offset)
357
+ puts "getAllFilesByPaging Called "
358
+ puts "Base url #{@base_url}"
359
+ response = nil;
360
+ uploadObj = nil;
361
+ uploadObj = Upload.new
362
+ util = Util.new
363
+ util.validateMax(max);
364
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
365
+ util.throwExceptionIfNullOrBlank(max, "Max");
366
+ util.throwExceptionIfNullOrBlank(offset, "Offset");
367
+ begin
368
+ connection = App42::Connection::RESTConnection.new(@base_url)
369
+ query_params = Hash.new
370
+ params = {
371
+ 'apiKey'=> @api_key,
372
+ 'version' => @version,
373
+ 'timeStamp' => util.get_timestamp_utc,
374
+ }
375
+ query_params = params.clone
376
+ params.store("userName", userName);
377
+ params.store("max", "" + (max.to_i).to_s)
378
+ params.store("offset", "" + (offset.to_i).to_s)
379
+ signature = util.sign(@secret_key, params)
380
+ resource_url = "#{@version}/#{@resource}/user/#{userName}/#{(max.to_i).to_s}/#{(offset.to_i).to_s}"
381
+ response = connection.get(signature, resource_url, query_params)
382
+ upload = UploadResponseBuilder.new
383
+ uploadObj = upload.buildResponse(response)
384
+ rescue App42Exception =>e
385
+ raise e
386
+ rescue Exception => e
387
+ raise App42Exception.new(e)
388
+ end
389
+ return uploadObj
390
+ end
391
+
392
+ #
393
+ # Get the files based on file type by Paging.
394
+ #
395
+ # @param uploadFileType
396
+ # - Type of the file e.g. Upload.AUDIO, Upload.XML etc.
397
+ # @param
398
+ # - max Maximum number of records to be fetched
399
+ # @param offset
400
+ # - From where the records are to be fetched
401
+ #
402
+ # @return Upload object
403
+ #
404
+ # @raise App42Exception
405
+ #
406
+
407
+ def get_files_by_type_by_paging(uploadFileType, max, offset)
408
+ puts "get_files_by_type_by_paging Called "
409
+ puts "Base url #{@base_url}"
410
+ response = nil;
411
+ uploadObj = nil;
412
+ uploadObj = Upload.new
413
+ util = Util.new
414
+ util.validateMax(max);
415
+ util.throwExceptionIfNullOrBlank(uploadFileType, "uploadFileType");
416
+ util.throwExceptionIfNullOrBlank(max, "Max");
417
+ util.throwExceptionIfNullOrBlank(offset, "Offset");
418
+ begin
419
+ if (UploadFileType.new.isAvailable(uploadFileType) == nil)
420
+ raise App42NotFoundException.new("Upload File Type #{uploadFileType} does not Exist ");
421
+ end
422
+ connection = App42::Connection::RESTConnection.new(@base_url)
423
+ query_params = Hash.new
424
+ params = {
425
+ 'apiKey'=> @api_key,
426
+ 'version' => @version,
427
+ 'timeStamp' => util.get_timestamp_utc,
428
+ }
429
+ query_params = params.clone
430
+ params.store("type", uploadFileType)
431
+ params.store("max", "" + (max.to_i).to_s)
432
+ params.store("offset", "" + (offset.to_i).to_s)
433
+ signature = util.sign(@secret_key, params)
434
+ resource_url = "#{@version}/#{@resource}/type/#{uploadFileType}/#{(max.to_i).to_s}/#{(offset.to_i).to_s}"
435
+ response = connection.get(signature, resource_url, query_params)
436
+ upload = UploadResponseBuilder.new
437
+ uploadObj = upload.buildResponse(response)
438
+ rescue App42Exception =>e
439
+ raise e
440
+ rescue Exception => e
441
+ raise App42Exception.new(e)
442
+ end
443
+ return uploadObj
444
+ end
445
+
446
+ #
447
+ # Gets all the files for the App
448
+ #
449
+ # @return Upload object
450
+ #
451
+ # @raise App42Exception
452
+ #
453
+
454
+ def get_all_files()
455
+ puts "Get All Files Called "
456
+ puts "Base url #{@base_url}"
457
+ response = nil;
458
+ uploadObj = nil;
459
+ uploadObj = Upload.new
460
+ util = Util.new
461
+ begin
462
+ connection = App42::Connection::RESTConnection.new(@base_url)
463
+ params = Hash.new
464
+ query_params = Hash.new
465
+ params = {
466
+ 'apiKey'=> @api_key,
467
+ 'version' => @version,
468
+ 'timeStamp' => util.get_timestamp_utc,
469
+ }
470
+ query_params = params.clone
471
+ signature = util.sign(@secret_key, params)
472
+ resource_url = "#{@version}/#{@resource}"
473
+ response = connection.get(signature, resource_url, query_params)
474
+ puts "Response is #{response}"
475
+ upload = UploadResponseBuilder.new()
476
+ uploadObj = upload.buildResponse(response)
477
+ rescue App42Exception =>e
478
+ raise e
479
+ rescue Exception => e
480
+ raise App42Exception.new(e)
481
+ end
482
+ return uploadObj
483
+ end
484
+
485
+ #
486
+ # Gets the file based on user name.
487
+ #
488
+ # @param name
489
+ # - The name of the file which has to be retrieved
490
+ # @param userName
491
+ # - The name of the user for which file has to be retrieved
492
+ #
493
+ # @return Upload object
494
+ #
495
+ # @raise App42Exception
496
+ #
497
+
498
+ def get_file_by_user(name, userName)
499
+ puts "Get File By User Called "
500
+ puts "Base url #{@base_url}"
501
+ response = nil;
502
+ uploadObj = nil;
503
+ uploadObj = Upload.new
504
+ util = Util.new
505
+ util.throwExceptionIfNullOrBlank(name, "File Name");
506
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
507
+ begin
508
+ connection = App42::Connection::RESTConnection.new(@base_url)
509
+ query_params = Hash.new
510
+ params = {
511
+ 'apiKey'=> @api_key,
512
+ 'version' => @version,
513
+ 'timeStamp' => util.get_timestamp_utc,
514
+ }
515
+ query_params = params.clone
516
+ params.store("name", name);
517
+ params.store("userName", userName);
518
+ puts query_params
519
+ signature = util.sign(@secret_key, params)
520
+ resource_url = "#{@version}/#{@resource}/#{userName}/#{name}"
521
+ response = connection.get(signature, resource_url, query_params)
522
+ puts "Response is #{response}"
523
+ upload = UploadResponseBuilder.new()
524
+ uploadObj = upload.buildResponse(response)
525
+ rescue App42Exception =>e
526
+ raise e
527
+ rescue Exception => e
528
+ raise App42Exception.new(e)
529
+ end
530
+ return uploadObj
531
+ end
532
+
533
+ #
534
+ # Gets the file based on user name.
535
+ #
536
+ # @param userName
537
+ # - The name of the user for which file has to be retrieved
538
+ #
539
+ # @return Upload object
540
+ #
541
+ # @raise App42Exception
542
+ #
543
+
544
+ def get_all_files_by_user(userName)
545
+ puts "getAllFilesByUser Called "
546
+ puts "Base url #{@base_url}"
547
+ response = nil;
548
+ uploadObj = nil;
549
+ uploadObj = Upload.new
550
+ util = Util.new
551
+ util.throwExceptionIfNullOrBlank(userName, "userName");
552
+ begin
553
+ connection = App42::Connection::RESTConnection.new(@base_url)
554
+ query_params = Hash.new
555
+ params = {
556
+ 'apiKey'=> @api_key,
557
+ 'version' => @version,
558
+ 'timeStamp' => util.get_timestamp_utc,
559
+ }
560
+ query_params = params.clone
561
+ params.store("userName", userName);
562
+ puts query_params
563
+ signature = util.sign(@secret_key, params)
564
+ resource_url = "#{@version}/#{@resource}/user/#{userName}"
565
+ response = connection.get(signature, resource_url, query_params)
566
+ puts "Response is #{response}"
567
+ upload = UploadResponseBuilder.new()
568
+ uploadObj = upload.buildResponse(response)
569
+ rescue App42Exception =>e
570
+ raise e
571
+ rescue Exception => e
572
+ raise App42Exception.new(e)
573
+ end
574
+ return uploadObj
575
+ end
576
+
577
+ #
578
+ # Gets the file based on file name.
579
+ #
580
+ # @param name
581
+ # - The name of the file which has to be retrieved
582
+ #
583
+ # @return Upload object
584
+ #
585
+ # @raise App42Exception
586
+ #
587
+
588
+ def get_file_by_name(name)
589
+ puts "Get File By Name Called "
590
+ puts "Base url #{@base_url}"
591
+ response = nil;
592
+ uploadObj = nil;
593
+ uploadObj = Upload.new
594
+ util = Util.new
595
+ util.throwExceptionIfNullOrBlank(name, "File Name");
596
+ begin
597
+ connection = App42::Connection::RESTConnection.new(@base_url)
598
+ query_params = Hash.new
599
+ params = {
600
+ 'apiKey'=> @api_key,
601
+ 'version' => @version,
602
+ 'timeStamp' => util.get_timestamp_utc,
603
+ }
604
+ query_params = params.clone
605
+ params.store("name", name)
606
+ puts query_params
607
+ signature = util.sign(@secret_key, params)
608
+ resource_url = "#{@version}/#{@resource}/#{name}"
609
+ response = connection.get(signature, resource_url, query_params)
610
+ upload = UploadResponseBuilder.new()
611
+ uploadObj = upload.buildResponse(response)
612
+ rescue App42Exception =>e
613
+ raise e
614
+ rescue Exception => e
615
+ raise App42Exception.new(e)
616
+ end
617
+ return uploadObj
618
+ end
619
+
620
+ #
621
+ # Removes the file based on file name and user name.
622
+ #
623
+ # @param name
624
+ # - The name of the file which has to be removed
625
+ # @param userName
626
+ # - The name of the user for which file has to be removed
627
+ #
628
+ # @return App42Response if deleted successfully
629
+ #
630
+ # @raise App42Exception
631
+ #
632
+
633
+ def remove_file_by_user(name, userName)
634
+ puts "remove_file_by_user Called "
635
+ puts "Base url #{@base_url}"
636
+ response = nil;
637
+ responseObj = App42Response.new()
638
+ util = Util.new
639
+ util.throwExceptionIfNullOrBlank(name, "File Name");
640
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
641
+ begin
642
+ connection = App42::Connection::RESTConnection.new(@base_url)
643
+ query_params = Hash.new
644
+ params = {
645
+ 'apiKey'=> @api_key,
646
+ 'version' => @version,
647
+ 'timeStamp' => util.get_timestamp_utc,
648
+ }
649
+ query_params = params.clone
650
+ params.store("name", name);
651
+ params.store("userName", userName);
652
+ puts query_params
653
+ signature = util.sign(@secret_key, params)
654
+ resource_url = "#{@version}/#{@resource}/#{userName}/#{name}"
655
+ response = connection.delete(signature, resource_url, query_params)
656
+ responseObj.strResponse=(response)
657
+ responseObj.isResponseSuccess=(true)
658
+ rescue App42Exception =>e
659
+ raise e
660
+ rescue Exception => e
661
+ raise App42Exception.new(e)
662
+ end
663
+ return responseObj
664
+ end
665
+
666
+ #
667
+ # Removes the file based on user name.
668
+ #
669
+ # @param userName
670
+ # - The name of the user for which file has to be removed
671
+ #
672
+ # @return App42Response if deleted successfully
673
+ #
674
+ # @raise App42Exception
675
+ #
676
+
677
+ def remove_all_files_by_user(userName)
678
+ puts "remove_all_files_by_user Called "
679
+ puts "Base url #{@base_url}"
680
+ response = nil;
681
+ responseObj = App42Response.new()
682
+ util = Util.new
683
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
684
+ begin
685
+ connection = App42::Connection::RESTConnection.new(@base_url)
686
+ query_params = Hash.new
687
+ params = {
688
+ 'apiKey'=> @api_key,
689
+ 'version' => @version,
690
+ 'timeStamp' => util.get_timestamp_utc,
691
+ }
692
+ query_params = params.clone
693
+ params.store("userName", userName);
694
+ puts query_params
695
+ signature = util.sign(@secret_key, params)
696
+ resource_url = "#{@version}/#{@resource}/user/#{userName}"
697
+ response = connection.delete(signature, resource_url, query_params)
698
+ responseObj.strResponse=(response)
699
+ responseObj.isResponseSuccess=(true)
700
+ rescue App42Exception =>e
701
+ raise e
702
+ rescue Exception => e
703
+ raise App42Exception.new(e)
704
+ end
705
+ return responseObj
706
+ end
707
+
708
+ #
709
+ # Removes the file based on file name.
710
+ #
711
+ # @param name
712
+ # - The name of the file which has to be removed
713
+ #
714
+ # @return App42Response if deleted successfully
715
+ #
716
+ # @raise App42Exception
717
+ #
718
+
719
+ def remove_file_by_name(name)
720
+ puts "Remove File By Name Called "
721
+ puts "Base url #{@base_url}"
722
+ response = nil;
723
+ responseObj = App42Response.new();
724
+ util = Util.new
725
+ util.throwExceptionIfNullOrBlank(name, "Name");
726
+ begin
727
+ connection = App42::Connection::RESTConnection.new(@base_url)
728
+ query_params = Hash.new
729
+ params = {
730
+ 'apiKey'=> @api_key,
731
+ 'version' => @version,
732
+ 'timeStamp' => util.get_timestamp_utc,
733
+ }
734
+ query_params = params.clone
735
+ params.store("name", name)
736
+ puts query_params
737
+ signature = util.sign(@secret_key, params)
738
+ resource_url = "#{@version}/#{@resource}/#{name}"
739
+ response = connection.delete(signature, resource_url, query_params)
740
+ responseObj.strResponse=(response)
741
+ responseObj.isResponseSuccess=(true)
742
+ rescue App42Exception =>e
743
+ raise e
744
+ rescue Exception => e
745
+ raise App42Exception.new(e)
746
+ end
747
+ return responseObj
748
+ end
749
+
750
+ #
751
+ # Removes all the files for the App
752
+ #
753
+ # @return App42Response if deleted successfully
754
+ #
755
+ # @raise App42Exception
756
+ #
757
+
758
+ def remove_all_files()
759
+ puts "Remove File By Name Called "
760
+ puts "Base url #{@base_url}"
761
+ response = nil;
762
+ responseObj = App42Response.new();
763
+ util = Util.new
764
+ begin
765
+ connection = App42::Connection::RESTConnection.new(@base_url)
766
+ query_params = Hash.new
767
+ params = {
768
+ 'apiKey'=> @api_key,
769
+ 'version' => @version,
770
+ 'timeStamp' => util.get_timestamp_utc,
771
+ }
772
+ query_params = params.clone
773
+ signature = util.sign(@secret_key, params)
774
+ resource_url = "#{@version}/#{@resource}"
775
+ response = connection.delete(signature, resource_url, query_params)
776
+ responseObj.strResponse=(response)
777
+ responseObj.isResponseSuccess=(true)
778
+ rescue App42Exception =>e
779
+ raise e
780
+ rescue Exception => e
781
+ raise App42Exception.new(e)
782
+ end
783
+ return responseObj
784
+ end
785
+
786
+ #
787
+ # Get the files based on file type.
788
+ #
789
+ # @param uploadFileType
790
+ # - Type of the file e.g. Upload.AUDIO, Upload.XML etc.
791
+ #
792
+ # @return Upload object
793
+ #
794
+ # @raise App42Exception
795
+ #
796
+
797
+ def get_files_by_type(uploadFileType)
798
+ puts "get Files By Type Called "
799
+ puts "Base url #{@base_url}"
800
+ response = nil;
801
+ uploadObj = nil;
802
+ uploadObj = Upload.new
803
+ util = Util.new
804
+ util.throwExceptionIfNullOrBlank(uploadFileType, "uploadFileType");
805
+ begin
806
+ if (UploadFileType.new.isAvailable(uploadFileType) == nil)
807
+ raise App42NotFoundException.new("Upload File Type #{uploadFileType} does not Exist ");
808
+ end
809
+ connection = App42::Connection::RESTConnection.new(@base_url)
810
+ query_params = Hash.new
811
+ params = {
812
+ 'apiKey'=> @api_key,
813
+ 'version' => @version,
814
+ 'timeStamp' => util.get_timestamp_utc,
815
+ }
816
+ query_params = params.clone
817
+ params.store("type", uploadFileType)
818
+ puts query_params
819
+ signature = util.sign(@secret_key, params)
820
+ resource_url = "#{@version}/#{@resource}/type/#{uploadFileType}"
821
+ response = connection.get(signature, resource_url, query_params)
822
+ upload = UploadResponseBuilder.new()
823
+ uploadObj = upload.buildResponse(response)
824
+ rescue App42Exception =>e
825
+ raise e
826
+ rescue Exception => e
827
+ raise App42Exception.new(e)
828
+ end
829
+ return uploadObj
830
+ end
831
+
832
+ #
833
+ # Gets count of all the files for the App
834
+ #
835
+ # @return App42Response object
836
+ #
837
+ # @raise App42Exception
838
+ #
839
+
840
+ def get_all_files_count()
841
+ puts "get_all_files_count Called "
842
+ puts "Base url #{@base_url}"
843
+ response = nil;
844
+ responseObj = App42Response.new
845
+ util = Util.new
846
+ begin
847
+ connection = App42::Connection::RESTConnection.new(@base_url)
848
+ query_params = Hash.new
849
+ params = {
850
+ 'apiKey'=> @api_key,
851
+ 'version' => @version,
852
+ 'timeStamp' => util.get_timestamp_utc,
853
+ }
854
+ query_params = params.clone
855
+ puts query_params
856
+ signature = util.sign(@secret_key, params)
857
+ resource_url = "#{@version}/#{@resource}/count"
858
+ response = connection.get(signature, resource_url, query_params)
859
+ responseObj.strResponse=(response)
860
+ responseObj.isResponseSuccess=(true)
861
+ responseObj = UploadResponseBuilder.new()
862
+ responseObj.getTotalRecords(response);
863
+ rescue App42Exception =>e
864
+ raise e
865
+ rescue Exception => e
866
+ raise App42Exception.new(e)
867
+ end
868
+ return responseObj
869
+ end
870
+
871
+ # Gets the count of file based on user name.
872
+ #
873
+ # @param userName
874
+ # - The name of the user for which count of the file has to be retrieved
875
+ #
876
+ # @return App42Response object
877
+ #
878
+ # @raise App42Exception
879
+ #
880
+
881
+ def get_all_files_count_by_user(userName)
882
+ puts "get_all_files_count_by_user Called "
883
+ puts "Base url #{@base_url}"
884
+ response = nil;
885
+ responseObj = App42Response.new
886
+ util = Util.new
887
+ util.throwExceptionIfNullOrBlank(userName, "User Name");
888
+ begin
889
+ connection = App42::Connection::RESTConnection.new(@base_url)
890
+ query_params = Hash.new
891
+ params = {
892
+ 'apiKey'=> @api_key,
893
+ 'version' => @version,
894
+ 'timeStamp' => util.get_timestamp_utc,
895
+ }
896
+ query_params = params.clone
897
+ params.store("userName", userName);
898
+ puts query_params
899
+ signature = util.sign(@secret_key, params)
900
+ resource_url = "#{@version}/#{@resource}/user/#{userName}/count"
901
+ response = connection.get(signature, resource_url, query_params)
902
+ responseObj.strResponse=(response)
903
+ responseObj.isResponseSuccess=(true)
904
+ responseObj = UploadResponseBuilder.new()
905
+ responseObj.getTotalRecords(response);
906
+ rescue App42Exception =>e
907
+ raise e
908
+ rescue Exception => e
909
+ raise App42Exception.new(e)
910
+ end
911
+ return responseObj
912
+ end
913
+
914
+ #
915
+ # Get the count of files based on file type.
916
+ #
917
+ # @param uploadFileType
918
+ # - Type of the file e.g. Upload.AUDIO, Upload.XML etc.
919
+ #
920
+ # @return App42Response object
921
+ #
922
+ # @raise App42Exception
923
+ #
924
+
925
+ def get_files_count_by_type(uploadFileType)
926
+ puts "getFilesCountByType Called "
927
+ puts "Base url #{@base_url}"
928
+ response = nil;
929
+ responseObj = App42Response.new
930
+ util = Util.new
931
+ util.throwExceptionIfNullOrBlank(uploadFileType, "uploadFileType");
932
+ begin
933
+ connection = App42::Connection::RESTConnection.new(@base_url)
934
+ query_params = Hash.new
935
+ params = {
936
+ 'apiKey'=> @api_key,
937
+ 'version' => @version,
938
+ 'timeStamp' => util.get_timestamp_utc,
939
+ }
940
+ query_params = params.clone
941
+ params.store("type", uploadFileType);
942
+ puts query_params
943
+ signature = util.sign(@secret_key, params)
944
+ resource_url = "#{@version}/#{@resource}/type/#{uploadFileType}/count"
945
+ response = connection.get(signature, resource_url, query_params)
946
+ responseObj.strResponse=(response)
947
+ responseObj.isResponseSuccess=(true)
948
+ responseObj = UploadResponseBuilder.new()
949
+ responseObj.getTotalRecords(response);
950
+ rescue App42Exception =>e
951
+ raise e
952
+ rescue Exception => e
953
+ raise App42Exception.new(e)
954
+ end
955
+ return responseObj
956
+ end
957
+
958
+ end
959
+ end
960
+ end