comprodls-sdk 2.37.0 → 2.38.0

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.
@@ -212,7 +212,8 @@ exports.AUTH_API_URLS = {
212
212
  createOrGetGradebookMeta: '/org/{orgId}/classes/{classId}/gradebooks',
213
213
  updateOrDeleteGradebookMeta: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}',
214
214
  gradebookColumns: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}/columns',
215
- updateGradebookColumn: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}/columns/{column_id}'
215
+ getAllClassesOfAComponent: '/org/{orgId}/components/{component_code}/classes',
216
+ removeAllGradebookColumnsOfAComponent: '/org/{orgId}/gradebook/columns/custom-components/{component_code}'
216
217
  };
217
218
 
218
219
  exports.ACTIVITY_API_URLS = {
@@ -112,10 +112,12 @@ function auth() {
112
112
  getParticularGradebookMetaOfAClass: getParticularGradebookMetaOfAClass.bind(this),
113
113
  getAllGradebooksMetaOfAClass: getAllGradebooksMetaOfAClass.bind(this),
114
114
  addGradebookColumns: addGradebookColumns.bind(this),
115
- updateGradebookColumn: updateGradebookColumn.bind(this),
115
+ updateMultipleGradebookColumns: updateMultipleGradebookColumns.bind(this),
116
116
  removeGradebookColumns: removeGradebookColumns.bind(this),
117
117
  getParticularColumnOfAGradebook: getParticularColumnOfAGradebook.bind(this),
118
- getAllColumnsOfAGradebook: getAllColumnsOfAGradebook.bind(this)
118
+ getAllColumnsOfAGradebook: getAllColumnsOfAGradebook.bind(this),
119
+ getAllClassesOfAComponent: getAllClassesOfAComponent.bind(this),
120
+ removeAllGradebookColumnsOfAComponent: removeAllGradebookColumnsOfAComponent.bind(this)
119
121
  };
120
122
  }
121
123
 
@@ -3394,20 +3396,24 @@ function addGradebookColumns(options) {
3394
3396
  options = {
3395
3397
  classid: "string", //mandatory
3396
3398
  gradebook_id: "string", //mandatory
3397
- column_id: "string", //mandatory
3398
3399
  body : {
3399
- "title": "string",
3400
- "weightage": "string",
3401
- "items": [
3400
+ "columns": [
3402
3401
  {
3403
- "item-code": "string"
3404
- }
3405
- ],
3406
- "data": {...}
3402
+ "title": "string",
3403
+ "weightage": "string",
3404
+ "items": [
3405
+ {
3406
+ "item-code": "string"
3407
+ }
3408
+ ],
3409
+ "data": {...}
3410
+ },
3411
+ {...}
3412
+ ]
3407
3413
  }
3408
3414
  }
3409
3415
  */
3410
- function updateGradebookColumn(options) {
3416
+ function updateMultipleGradebookColumns(options) {
3411
3417
  // Initializing promise
3412
3418
  var deferred = q.defer();
3413
3419
  var self = this;
@@ -3418,49 +3424,42 @@ function updateGradebookColumn(options) {
3418
3424
  if(err) {
3419
3425
  deferred.reject(err);
3420
3426
  } else {
3421
- if (options && options.classid && options.gradebook_id && options.column_id && options.body) {
3422
- if (Object.keys(options.body).length !== 0) {
3423
- // Passed all validations, Contruct API url
3424
- var url = self.config.DEFAULT_HOSTS.AUTH + self.config.AUTH_API_URLS.updateGradebookColumn;
3427
+ if (options && options.classid && options.gradebook_id && options.body && options.body.columns) {
3428
+ // Passed all validations, Contruct API url
3429
+ var url = self.config.DEFAULT_HOSTS.AUTH + self.config.AUTH_API_URLS.gradebookColumns;
3425
3430
 
3426
- url = helpers.api.constructAPIUrl(url, {
3427
- orgId: self.orgId,
3428
- classId: options.classid,
3429
- gradebook_id: options.gradebook_id,
3430
- column_id: options.column_id
3431
- });
3431
+ url = helpers.api.constructAPIUrl(url, {
3432
+ orgId: self.orgId,
3433
+ classId: options.classid,
3434
+ gradebook_id: options.gradebook_id
3435
+ });
3432
3436
 
3433
- var params = options.body;
3434
- // Setup request with URL and Params
3435
- var requestAPI = request.put(url)
3436
- .set('Content-Type', 'application/json')
3437
- .set('Accept', 'application/json')
3438
- .send(params);
3437
+ var params = options.body;
3438
+ // Setup request with URL and Params
3439
+ var requestAPI = request.put(url)
3440
+ .set('Content-Type', 'application/json')
3441
+ .set('Accept', 'application/json')
3442
+ .send(params);
3439
3443
 
3440
- if (self.traceid) {
3441
- requestAPI.set('X-Amzn-Trace-Id', self.traceid);
3442
- }
3444
+ if (self.traceid) {
3445
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
3446
+ }
3443
3447
 
3444
- //Setup token in Authorization header
3445
- requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
3448
+ //Setup token in Authorization header
3449
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
3446
3450
 
3447
- requestAPI
3448
- .agent(keepaliveAgent)
3449
- .end(function(error, response) {
3450
- if (error) {
3451
- error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
3452
- deferred.reject(error);
3453
- } else {
3454
- deferred.resolve(response.body);
3455
- }
3456
- });
3457
- } else {
3458
- error.message = error.description = 'Body of the request input cannot be empty.';
3459
- error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
3460
- deferred.reject(error);
3461
- }
3451
+ requestAPI
3452
+ .agent(keepaliveAgent)
3453
+ .end(function(error, response) {
3454
+ if (error) {
3455
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
3456
+ deferred.reject(error);
3457
+ } else {
3458
+ deferred.resolve(response.body);
3459
+ }
3460
+ });
3462
3461
  } else {
3463
- error.message = error.description = 'Mandatory params: classid, gradebook_id, column_id or body' +
3462
+ error.message = error.description = 'Mandatory params: classid, gradebook_id, body or body.columns' +
3464
3463
  ' not found in the request options.';
3465
3464
  error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
3466
3465
  deferred.reject(error);
@@ -3643,3 +3642,122 @@ function getAllColumnsOfAGradebook (options) {
3643
3642
  }
3644
3643
  return deferred.promise;
3645
3644
  }
3645
+
3646
+ /*
3647
+ options = {
3648
+ component_code: "string", //mandatory
3649
+ cursor: "string" //optional
3650
+ }
3651
+ */
3652
+ function getAllClassesOfAComponent (options) {
3653
+ // Initializing promise
3654
+ var deferred = q.defer();
3655
+ var self = this;
3656
+ var error = {};
3657
+
3658
+ //Validations
3659
+ var err = helpers.validations.isAuthenticated(self.orgId, self.token);
3660
+ if(err) {
3661
+ deferred.reject(err);
3662
+ } else {
3663
+ if (options && options.component_code) {
3664
+ // Passed all validations, Contruct API url
3665
+ var url = self.config.DEFAULT_HOSTS.AUTH +
3666
+ self.config.AUTH_API_URLS.getAllClassesOfAComponent;
3667
+
3668
+ url = helpers.api.constructAPIUrl(url, {
3669
+ orgId: self.orgId,
3670
+ component_code: options.component_code
3671
+ });
3672
+
3673
+ var params = {};
3674
+ if(options.cursor){ params.cursor = options.cursor; }
3675
+
3676
+ var requestAPI = request.get(url).query(params);
3677
+
3678
+ if (self.traceid) {
3679
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
3680
+ }
3681
+
3682
+ //Setup token in Authorization header
3683
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
3684
+
3685
+ requestAPI
3686
+ .agent(keepaliveAgent)
3687
+ .end(function(error, response) {
3688
+ if (error) {
3689
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
3690
+ deferred.reject(error);
3691
+ } else {
3692
+ deferred.resolve(response.body);
3693
+ }
3694
+ });
3695
+ } else {
3696
+ error.message = error.description = 'Mandatory params: component_code' +
3697
+ ' not found in the request options.';
3698
+ error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
3699
+ deferred.reject(error);
3700
+ }
3701
+ }
3702
+ return deferred.promise;
3703
+ }
3704
+
3705
+ /*
3706
+ options = {
3707
+ component_code: "string" //mandatory
3708
+ }
3709
+ */
3710
+ function removeAllGradebookColumnsOfAComponent (options) {
3711
+ // Initializing promise
3712
+ var deferred = q.defer();
3713
+ var self = this;
3714
+ var error = {};
3715
+
3716
+ //Validations
3717
+ var err = helpers.validations.isAuthenticated(self.orgId, self.token);
3718
+ if(err) {
3719
+ deferred.reject(err);
3720
+ } else {
3721
+ if (options && options.component_code) {
3722
+ // Passed all validations, Contruct API url
3723
+ var url = self.config.DEFAULT_HOSTS.AUTH +
3724
+ self.config.AUTH_API_URLS.removeAllGradebookColumnsOfAComponent;
3725
+
3726
+ url = helpers.api.constructAPIUrl(url, {
3727
+ orgId: self.orgId,
3728
+ component_code: options.component_code
3729
+ });
3730
+
3731
+ // Setup request with URL and Params
3732
+ var requestAPI = request
3733
+ .delete(url)
3734
+ .set('Content-Type', 'application/json')
3735
+ .set('Accept', 'application/json')
3736
+ .send(options.body);
3737
+
3738
+ if (self.traceid) {
3739
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
3740
+ }
3741
+
3742
+ //Setup token in Authorization header
3743
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
3744
+
3745
+ requestAPI
3746
+ .agent(keepaliveAgent)
3747
+ .end(function(error, response) {
3748
+ if (error) {
3749
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
3750
+ deferred.reject(error);
3751
+ } else {
3752
+ deferred.resolve(response.body);
3753
+ }
3754
+ });
3755
+ } else {
3756
+ error.message = error.description = 'Mandatory params: component_code' +
3757
+ ' not found in the request options.';
3758
+ error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
3759
+ deferred.reject(error);
3760
+ }
3761
+ }
3762
+ return deferred.promise;
3763
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "comprodls-sdk",
3
3
  "description": "comproDLS SDK for JavaScript",
4
- "version": "2.37.0",
4
+ "version": "2.38.0",
5
5
  "author": {
6
6
  "name": "Compro Technologies Private Limited",
7
7
  "url": "http://www.comprotechnologies.com/"