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.
@@ -367,7 +367,8 @@ exports.AUTH_API_URLS = {
367
367
  createOrGetGradebookMeta: '/org/{orgId}/classes/{classId}/gradebooks',
368
368
  updateOrDeleteGradebookMeta: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}',
369
369
  gradebookColumns: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}/columns',
370
- updateGradebookColumn: '/org/{orgId}/classes/{classId}/gradebooks/{gradebook_id}/columns/{column_id}'
370
+ getAllClassesOfAComponent: '/org/{orgId}/components/{component_code}/classes',
371
+ removeAllGradebookColumnsOfAComponent: '/org/{orgId}/gradebook/columns/custom-components/{component_code}'
371
372
  };
372
373
 
373
374
  exports.ACTIVITY_API_URLS = {
@@ -4141,10 +4142,12 @@ function auth() {
4141
4142
  getParticularGradebookMetaOfAClass: getParticularGradebookMetaOfAClass.bind(this),
4142
4143
  getAllGradebooksMetaOfAClass: getAllGradebooksMetaOfAClass.bind(this),
4143
4144
  addGradebookColumns: addGradebookColumns.bind(this),
4144
- updateGradebookColumn: updateGradebookColumn.bind(this),
4145
+ updateMultipleGradebookColumns: updateMultipleGradebookColumns.bind(this),
4145
4146
  removeGradebookColumns: removeGradebookColumns.bind(this),
4146
4147
  getParticularColumnOfAGradebook: getParticularColumnOfAGradebook.bind(this),
4147
- getAllColumnsOfAGradebook: getAllColumnsOfAGradebook.bind(this)
4148
+ getAllColumnsOfAGradebook: getAllColumnsOfAGradebook.bind(this),
4149
+ getAllClassesOfAComponent: getAllClassesOfAComponent.bind(this),
4150
+ removeAllGradebookColumnsOfAComponent: removeAllGradebookColumnsOfAComponent.bind(this)
4148
4151
  };
4149
4152
  }
4150
4153
 
@@ -7423,20 +7426,24 @@ function addGradebookColumns(options) {
7423
7426
  options = {
7424
7427
  classid: "string", //mandatory
7425
7428
  gradebook_id: "string", //mandatory
7426
- column_id: "string", //mandatory
7427
7429
  body : {
7428
- "title": "string",
7429
- "weightage": "string",
7430
- "items": [
7430
+ "columns": [
7431
7431
  {
7432
- "item-code": "string"
7433
- }
7434
- ],
7435
- "data": {...}
7432
+ "title": "string",
7433
+ "weightage": "string",
7434
+ "items": [
7435
+ {
7436
+ "item-code": "string"
7437
+ }
7438
+ ],
7439
+ "data": {...}
7440
+ },
7441
+ {...}
7442
+ ]
7436
7443
  }
7437
7444
  }
7438
7445
  */
7439
- function updateGradebookColumn(options) {
7446
+ function updateMultipleGradebookColumns(options) {
7440
7447
  // Initializing promise
7441
7448
  var deferred = q.defer();
7442
7449
  var self = this;
@@ -7447,49 +7454,42 @@ function updateGradebookColumn(options) {
7447
7454
  if(err) {
7448
7455
  deferred.reject(err);
7449
7456
  } else {
7450
- if (options && options.classid && options.gradebook_id && options.column_id && options.body) {
7451
- if (Object.keys(options.body).length !== 0) {
7452
- // Passed all validations, Contruct API url
7453
- var url = self.config.DEFAULT_HOSTS.AUTH + self.config.AUTH_API_URLS.updateGradebookColumn;
7457
+ if (options && options.classid && options.gradebook_id && options.body && options.body.columns) {
7458
+ // Passed all validations, Contruct API url
7459
+ var url = self.config.DEFAULT_HOSTS.AUTH + self.config.AUTH_API_URLS.gradebookColumns;
7454
7460
 
7455
- url = helpers.api.constructAPIUrl(url, {
7456
- orgId: self.orgId,
7457
- classId: options.classid,
7458
- gradebook_id: options.gradebook_id,
7459
- column_id: options.column_id
7460
- });
7461
+ url = helpers.api.constructAPIUrl(url, {
7462
+ orgId: self.orgId,
7463
+ classId: options.classid,
7464
+ gradebook_id: options.gradebook_id
7465
+ });
7461
7466
 
7462
- var params = options.body;
7463
- // Setup request with URL and Params
7464
- var requestAPI = request.put(url)
7465
- .set('Content-Type', 'application/json')
7466
- .set('Accept', 'application/json')
7467
- .send(params);
7467
+ var params = options.body;
7468
+ // Setup request with URL and Params
7469
+ var requestAPI = request.put(url)
7470
+ .set('Content-Type', 'application/json')
7471
+ .set('Accept', 'application/json')
7472
+ .send(params);
7468
7473
 
7469
- if (self.traceid) {
7470
- requestAPI.set('X-Amzn-Trace-Id', self.traceid);
7471
- }
7474
+ if (self.traceid) {
7475
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
7476
+ }
7472
7477
 
7473
- //Setup token in Authorization header
7474
- requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
7478
+ //Setup token in Authorization header
7479
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
7475
7480
 
7476
- requestAPI
7477
- .agent(keepaliveAgent)
7478
- .end(function(error, response) {
7479
- if (error) {
7480
- error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
7481
- deferred.reject(error);
7482
- } else {
7483
- deferred.resolve(response.body);
7484
- }
7485
- });
7486
- } else {
7487
- error.message = error.description = 'Body of the request input cannot be empty.';
7488
- error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
7489
- deferred.reject(error);
7490
- }
7481
+ requestAPI
7482
+ .agent(keepaliveAgent)
7483
+ .end(function(error, response) {
7484
+ if (error) {
7485
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
7486
+ deferred.reject(error);
7487
+ } else {
7488
+ deferred.resolve(response.body);
7489
+ }
7490
+ });
7491
7491
  } else {
7492
- error.message = error.description = 'Mandatory params: classid, gradebook_id, column_id or body' +
7492
+ error.message = error.description = 'Mandatory params: classid, gradebook_id, body or body.columns' +
7493
7493
  ' not found in the request options.';
7494
7494
  error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
7495
7495
  deferred.reject(error);
@@ -7672,6 +7672,125 @@ function getAllColumnsOfAGradebook (options) {
7672
7672
  }
7673
7673
  return deferred.promise;
7674
7674
  }
7675
+
7676
+ /*
7677
+ options = {
7678
+ component_code: "string", //mandatory
7679
+ cursor: "string" //optional
7680
+ }
7681
+ */
7682
+ function getAllClassesOfAComponent (options) {
7683
+ // Initializing promise
7684
+ var deferred = q.defer();
7685
+ var self = this;
7686
+ var error = {};
7687
+
7688
+ //Validations
7689
+ var err = helpers.validations.isAuthenticated(self.orgId, self.token);
7690
+ if(err) {
7691
+ deferred.reject(err);
7692
+ } else {
7693
+ if (options && options.component_code) {
7694
+ // Passed all validations, Contruct API url
7695
+ var url = self.config.DEFAULT_HOSTS.AUTH +
7696
+ self.config.AUTH_API_URLS.getAllClassesOfAComponent;
7697
+
7698
+ url = helpers.api.constructAPIUrl(url, {
7699
+ orgId: self.orgId,
7700
+ component_code: options.component_code
7701
+ });
7702
+
7703
+ var params = {};
7704
+ if(options.cursor){ params.cursor = options.cursor; }
7705
+
7706
+ var requestAPI = request.get(url).query(params);
7707
+
7708
+ if (self.traceid) {
7709
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
7710
+ }
7711
+
7712
+ //Setup token in Authorization header
7713
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
7714
+
7715
+ requestAPI
7716
+ .agent(keepaliveAgent)
7717
+ .end(function(error, response) {
7718
+ if (error) {
7719
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
7720
+ deferred.reject(error);
7721
+ } else {
7722
+ deferred.resolve(response.body);
7723
+ }
7724
+ });
7725
+ } else {
7726
+ error.message = error.description = 'Mandatory params: component_code' +
7727
+ ' not found in the request options.';
7728
+ error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
7729
+ deferred.reject(error);
7730
+ }
7731
+ }
7732
+ return deferred.promise;
7733
+ }
7734
+
7735
+ /*
7736
+ options = {
7737
+ component_code: "string" //mandatory
7738
+ }
7739
+ */
7740
+ function removeAllGradebookColumnsOfAComponent (options) {
7741
+ // Initializing promise
7742
+ var deferred = q.defer();
7743
+ var self = this;
7744
+ var error = {};
7745
+
7746
+ //Validations
7747
+ var err = helpers.validations.isAuthenticated(self.orgId, self.token);
7748
+ if(err) {
7749
+ deferred.reject(err);
7750
+ } else {
7751
+ if (options && options.component_code) {
7752
+ // Passed all validations, Contruct API url
7753
+ var url = self.config.DEFAULT_HOSTS.AUTH +
7754
+ self.config.AUTH_API_URLS.removeAllGradebookColumnsOfAComponent;
7755
+
7756
+ url = helpers.api.constructAPIUrl(url, {
7757
+ orgId: self.orgId,
7758
+ component_code: options.component_code
7759
+ });
7760
+
7761
+ // Setup request with URL and Params
7762
+ var requestAPI = request
7763
+ .delete(url)
7764
+ .set('Content-Type', 'application/json')
7765
+ .set('Accept', 'application/json')
7766
+ .send(options.body);
7767
+
7768
+ if (self.traceid) {
7769
+ requestAPI.set('X-Amzn-Trace-Id', self.traceid);
7770
+ }
7771
+
7772
+ //Setup token in Authorization header
7773
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
7774
+
7775
+ requestAPI
7776
+ .agent(keepaliveAgent)
7777
+ .end(function(error, response) {
7778
+ if (error) {
7779
+ error = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
7780
+ deferred.reject(error);
7781
+ } else {
7782
+ deferred.resolve(response.body);
7783
+ }
7784
+ });
7785
+ } else {
7786
+ error.message = error.description = 'Mandatory params: component_code' +
7787
+ ' not found in the request options.';
7788
+ error = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, error);
7789
+ deferred.reject(error);
7790
+ }
7791
+ }
7792
+ return deferred.promise;
7793
+ }
7675
7794
 
7676
7795
  },{"../../helpers":3,"../../helpers/lib/api/converter":4,"agentkeepalive":38,"q":91,"superagent":134}],17:[function(require,module,exports){
7677
7796
  /*************************************************************************