comprodls-sdk 2.90.3-development → 2.92.0-thor

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +1 -137
  2. package/dist/comprodls-sdk.js +2834 -6201
  3. package/dist/comprodls-sdk.min.js +1 -1
  4. package/lib/comprodls.js +39 -57
  5. package/lib/config/index.js +173 -198
  6. package/lib/helpers/index.js +3 -2
  7. package/lib/helpers/lib/api/converter.js +1 -2
  8. package/lib/helpers/lib/api/index.js +19 -94
  9. package/lib/helpers/lib/errors.js +75 -80
  10. package/lib/helpers/lib/requestLayer.js +154 -0
  11. package/lib/helpers/lib/validator.js +65 -52
  12. package/lib/open_access/index.js +48 -53
  13. package/lib/services/analytics/index.js +286 -1014
  14. package/lib/services/attempts/index.js +38 -88
  15. package/lib/services/auth/index.js +324 -806
  16. package/lib/services/authextn/index.js +85 -247
  17. package/lib/services/datasyncmanager/index.js +10 -45
  18. package/lib/services/drive/index.js +20 -83
  19. package/lib/services/integrations/index.js +51 -126
  20. package/lib/services/invitations/index.js +20 -61
  21. package/lib/services/product/index.js +82 -85
  22. package/lib/services/pub/index.js +167 -235
  23. package/lib/services/pushX/index.js +195 -142
  24. package/lib/services/pushX/pubnubClientWrapper.js +399 -172
  25. package/lib/services/rules/index.js +14 -67
  26. package/lib/services/spaces/index.js +141 -318
  27. package/lib/services/spacesextn/index.js +44 -20
  28. package/lib/services/superuser/index.js +21 -36
  29. package/lib/services/taxonomy/index.js +27 -57
  30. package/lib/services/workflows/index.js +38 -97
  31. package/lib/services/xapi/index.js +7 -168
  32. package/lib/token/index.js +73 -67
  33. package/lib/token/validations.js +45 -48
  34. package/package.json +2 -3
  35. package/lib/helpers/lib/api/validations.js +0 -73
  36. package/lib/helpers/lib/utils.js +0 -24
  37. package/lib/services/activity/activity.js +0 -209
  38. package/lib/services/activity/attempt.js +0 -431
  39. package/lib/services/activity/index.js +0 -28
  40. package/lib/services/auth/classProduct.js +0 -37
  41. package/lib/services/collab/index.js +0 -468
  42. package/test.js +0 -38
@@ -17,6 +17,7 @@
17
17
  * is strictly forbidden unless prior written permission is obtained
18
18
  * from Compro Technologies Pvt. Ltd..
19
19
  ***************************************************************************/
20
+
20
21
  /***********************************************************
21
22
  * comproDLS SDK Product API Adaptor
22
23
  * Functions for calling Product API.
@@ -27,81 +28,76 @@ var q = require('q');
27
28
  var helpers = require('../../helpers');
28
29
  var DLSError = helpers.errors.DLSError;
29
30
 
30
- /*********************************
31
- * Setting Up Module Entry Point
32
- **********************************/
33
31
  module.exports = product;
34
32
 
35
33
  function product(accountId) {
36
- this.accountId = accountId;
37
- return {
38
- getProduct: getProduct.bind(this),
39
- getGlobalEntitlementsForAUser: getGlobalEntitlementsForAUser.bind(this),
40
- getMicroEntitlementsForAUser: getMicroEntitlementsForAUser.bind(this),
41
-
42
- getAllBundles: getAllBundles.bind(this),
43
- getSingleBundle: getSingleBundle.bind(this),
44
-
45
- getSingleProductFamily: getSingleProductFamily.bind(this),
46
- getAllProductFamilies: getAllProductFamilies.bind(this)
47
- };
34
+ this.accountId = accountId;
35
+ return {
36
+ getProduct: getProduct.bind(this),
37
+ getGlobalEntitlementsForAUser: getGlobalEntitlementsForAUser.bind(this),
38
+ getMicroEntitlementsForAUser: getMicroEntitlementsForAUser.bind(this),
39
+
40
+ getAllBundles: getAllBundles.bind(this),
41
+ getSingleBundle: getSingleBundle.bind(this),
42
+
43
+ getSingleProductFamily: getSingleProductFamily.bind(this),
44
+ getAllProductFamilies: getAllProductFamilies.bind(this)
45
+ };
48
46
  }
49
47
 
50
- /*********************************
51
- * Public Function definitions
52
- **********************************/
53
-
54
- //options = {
55
- // productcode: '', //productcode of product
56
- // details: boolean, // (optional)
57
- // stage: string // (optional, ['1', '2', 'final']), default - final
58
- //}
48
+ /**
49
+ * Wiki Link for SDK params
50
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getproductparams
51
+ */
59
52
  function getProduct(options) {
60
- var dfd = q.defer();
53
+ var dfd = q.defer();
61
54
  var self = this;
62
- var err = {};
55
+ var err = {};
63
56
 
64
57
  if(options && options.productcode) {
65
- //Passed all validations, Construct API url
66
- var url = self.config.DEFAULT_HOSTS['PRODUCT'] +
67
- self.config.PRODUCT_API_URLS.getProductAPI;
68
- url = helpers.api.constructAPIUrl(url, {
69
- accountId: self.accountId,
70
- productCode: options.productcode
71
- });
72
-
73
- //Construct parameters
74
- var params = {};
75
- if(options.details) {
76
- params.details = options.details;
77
- }
78
- if(options.stage) {
79
- params.stage = options.stage;
80
- }
81
- //Setup request with URL and Params
82
- var requestAPI = request.get(url).query(params);
83
- if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
84
-
85
- //Call GET All Products Source Api
86
- requestAPI.end(function(err, response) {
87
- if (err) {
88
- err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, err);
89
- dfd.reject(err);
90
- } else {
91
- dfd.resolve(response.body);
92
- }
93
- });
58
+ //Passed all validations, Construct API url
59
+ var url = self.config.DEFAULT_HOSTS['PRODUCT'] +
60
+ self.config.PRODUCT_API_URLS.getProductAPI;
61
+ url = helpers.api.constructAPIUrl(url, {
62
+ accountId: self.accountId,
63
+ productCode: options.productcode
64
+ });
65
+
66
+ //Construct parameters
67
+ var params = {};
68
+ if(options.details) {
69
+ params.details = options.details;
70
+ }
71
+ if(options.stage) {
72
+ params.stage = options.stage;
94
73
  }
95
- else {
74
+ //Setup request with URL and Params
75
+ var requestAPI = request.get(url).query(params);
76
+ if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
77
+
78
+ //Call GET All Products Source Api
79
+ requestAPI.end(function(err, response) {
80
+ if (err) {
81
+ err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, err);
82
+ dfd.reject(err);
83
+ } else {
84
+ dfd.resolve(response.body);
85
+ }
86
+ });
87
+ }
88
+ else {
96
89
  err.message = err.description = 'productcode not found in request options';
97
90
  err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
98
91
  dfd.reject(err);
99
92
  }
100
93
 
101
- return dfd.promise;
94
+ return dfd.promise;
102
95
  }
103
96
 
104
- // options : { extUserId, productDetails, bundleDetails }
97
+ /**
98
+ * Wiki Link for SDK params
99
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getglobalentitlementsforauserparams
100
+ */
105
101
  function getGlobalEntitlementsForAUser(options) {
106
102
  var self = this;
107
103
 
@@ -140,17 +136,12 @@ function getGlobalEntitlementsForAUser(options) {
140
136
  dfd.reject(err);
141
137
  }
142
138
  return dfd.promise;
143
-
144
139
  }
145
140
 
146
- /*options : {
147
- extuserid, //mandatory
148
- productcode, //mandatory
149
- context, //optional
150
- feature_key, //optional
151
- cursor //optional
152
- }
153
- */
141
+ /**
142
+ * Wiki Link for SDK params
143
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getmicroentitlementsforauserparams
144
+ */
154
145
  function getMicroEntitlementsForAUser(options) {
155
146
  var self = this;
156
147
 
@@ -192,12 +183,12 @@ function getMicroEntitlementsForAUser(options) {
192
183
  dfd.reject(err);
193
184
  }
194
185
  return dfd.promise;
195
-
196
186
  }
197
187
 
198
- // options= {
199
- // stage: "", //stage number or version
200
- // }
188
+ /**
189
+ * Wiki Link for SDK params
190
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getallbundlesparams
191
+ */
201
192
  function getAllBundles(options) {
202
193
  var self = this;
203
194
  var dfd = q.defer();
@@ -208,7 +199,14 @@ function getAllBundles(options) {
208
199
  url = helpers.api.constructAPIUrl(url, { accountId : self.accountId });
209
200
  //Contruct parameters
210
201
  var params = {};
211
- if(options && options.stage) { params.stage = options.stage; }
202
+ if(options) {
203
+ if(options.stage){
204
+ params.stage = options.stage;
205
+ }
206
+ if(options.target_role){
207
+ params.target_role = options.target_role;
208
+ }
209
+ }
212
210
 
213
211
  //Setup request with URL and Post data
214
212
  var requestAPI = request.get(url).query(params);
@@ -226,16 +224,15 @@ function getAllBundles(options) {
226
224
  return dfd.promise;
227
225
  }
228
226
 
229
- // options = {
230
- // 'bundle-code': "", //bundle identifier
231
- // stage: "", //stage number/version
232
- // }
227
+ /**
228
+ * Wiki Link for SDK params
229
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getsinglebundleparams
230
+ */
233
231
  function getSingleBundle(options) {
234
232
  var self = this;
235
233
  var dfd = q.defer();
236
234
  var err;
237
235
 
238
-
239
236
  if(options && options['bundle-code']) {
240
237
 
241
238
  var url = self.config.DEFAULT_HOSTS.PRODUCT + self.config.PRODUCT_API_URLS.getSingleBundle;
@@ -265,13 +262,13 @@ function getSingleBundle(options) {
265
262
  dfd.reject(err);
266
263
  }
267
264
 
268
-
269
265
  return dfd.promise;
270
266
  }
271
267
 
272
- // options= {
273
- // stage: "", //stage number
274
- // }
268
+ /**
269
+ * Wiki Link for SDK params
270
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getallproductfamiliesparams
271
+ */
275
272
  function getAllProductFamilies(options) {
276
273
  var self = this;
277
274
  var dfd = q.defer();
@@ -300,10 +297,10 @@ function getAllProductFamilies(options) {
300
297
  return dfd.promise;
301
298
  }
302
299
 
303
- // options = {
304
- // 'family-code': "", //product-family identifier
305
- // stage: "", //stage number
306
- // }
300
+ /**
301
+ * Wiki Link for SDK params
302
+ * https://github.com/comprodls/comprodls-sdk-js/wiki/05_PRODUCT-Adapter#getsingleproductfamilyparams
303
+ */
307
304
  function getSingleProductFamily(options) {
308
305
  var self = this;
309
306
  var dfd = q.defer();