comprodls-sdk 2.58.0 → 2.59.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.
@@ -40,9 +40,6 @@ exports.REALM_HOSTS = {
40
40
  ANALYTICS: 'http://internal-dls-global-prod1-1755536919.us-west-2.elb.amazonaws.com/lb-analytics',
41
41
  INTEGRATION: 'http://internal-dls-global-prod1-1755536919.us-west-2.elb.amazonaws.com/lb-integrations',
42
42
  DRIVE: 'http://internal-dls-global-prod1-1755536919.us-west-2.elb.amazonaws.com/lb-drive'
43
- },
44
- DEVELOPMENT: {
45
- ANALYTICS: 'http://localhost:4000'
46
43
  }
47
44
  },
48
45
  ASGARD: {
@@ -240,7 +237,11 @@ exports.AUTHEXTN_API_URLS = {
240
237
  gradeformatClasses: '/org/{orgid}/gradeformats/{gradeformat_id}/classes',
241
238
 
242
239
  //Space related API
243
- entitleBulkUsersToProducts: '/accounts/{accountid}/entitle-users/bulk'
240
+ entitleBulkUsersToProducts: '/accounts/{accountid}/entitle-users/bulk',
241
+
242
+ // Assigned Path APIs
243
+ userAssignedPaths: '/org/{orgid}/classes/{classid}/assigned-paths/{assignedpathid}/enroll-user/multi'
244
+
244
245
  };
245
246
 
246
247
  exports.ACTIVITY_API_URLS = {
@@ -1604,9 +1604,7 @@ function getAssignedPathAnalytics(options) {
1604
1604
  "status_not_started": <boolean>,
1605
1605
  "status_expired": <boolean>,
1606
1606
  "progress" : "true/false",
1607
- "group" : "true/false",
1608
- "limit": integer, // Number of entities to be fetched
1609
- "cursor": "string" // cursor to get next set of assignments
1607
+ "group" : "true/false"
1610
1608
  };
1611
1609
  */
1612
1610
  function getMyAssignedPathsOfClass(options) {
@@ -1628,8 +1626,6 @@ function getMyAssignedPathsOfClass(options) {
1628
1626
  if(options.status_not_started) { queryParams.status_not_started = options.status_not_started; }
1629
1627
  if(options.status_active) { queryParams.status_active = options.status_active; }
1630
1628
  if(options.status_expired) { queryParams.status_expired = options.status_expired; }
1631
- if(options.limit) { queryParams.limit = options.limit; }
1632
- if(options.cursor) { queryParams.cursor = options.cursor; }
1633
1629
 
1634
1630
  // Setup request with URL and Params
1635
1631
  var requestAPI = request.get(url).query(queryParams);
@@ -1961,6 +1961,7 @@ function createClass(options) {
1961
1961
  if(options.class_ownership){ params.class_ownership = options.class_ownership; }
1962
1962
  if(options.ext_data){ params.ext_data = options.ext_data; }
1963
1963
  if(options.analyticsharingmodel){ params.analyticsharingmodel = options.analyticsharingmodel; }
1964
+ if(options.limits){ params.limits = options.limits; }
1964
1965
 
1965
1966
  //Setup request with URL and Params
1966
1967
  var requestAPI = request.post(url).send(params);
@@ -2242,6 +2243,7 @@ options = {
2242
2243
  "classid": "classid", //mandatory
2243
2244
  "data": {
2244
2245
  "title": "assigned path title", //mandatory
2246
+ "scope": "string", //optional, default=global , ['global', 'users']
2245
2247
  "ext_assignedpathid": 'string', //optional
2246
2248
  "duedate": "epoch due date", //mandatory
2247
2249
  "startdate": "epoch start date", //optional
@@ -2354,6 +2356,7 @@ function deleteAssignedPath(options) {
2354
2356
  assignedpathid: 'string' //mandatory
2355
2357
  data: {
2356
2358
  title: 'string' //optional
2359
+ scope: 'string' //optional, ['global', 'users']
2357
2360
  startdate: 'string' //optional
2358
2361
  duedate: 'string' //optional
2359
2362
  items: [ //optional
@@ -53,7 +53,9 @@ function authextn() {
53
53
  updateClassGradeformatAssociation: updateClassGradeformatAssociation.bind(this),
54
54
  getParticularGradeformatOfAClass: getParticularGradeformatOfAClass.bind(this),
55
55
  getAllGradeformatsOfAClass: getAllGradeformatsOfAClass.bind(this),
56
- getClassesOfAGradeformat: getClassesOfAGradeformat.bind(this)
56
+ getClassesOfAGradeformat: getClassesOfAGradeformat.bind(this),
57
+ createUserAssignedPathEnrollments: createUserAssignedPathEnrollments.bind(this),
58
+ deleteUserAssignedPathEnrollments: deleteUserAssignedPathEnrollments.bind(this)
57
59
  };
58
60
  }
59
61
 
@@ -707,3 +709,125 @@ function getClassesOfAGradeformat(options) {
707
709
 
708
710
  return deferred.promise;
709
711
  }
712
+
713
+ /*
714
+ options = {
715
+ assignedpathid: "string", //Mandatory
716
+ classid: "string", // Mandatory
717
+ body : [ // min:1 , max: 50
718
+ {
719
+ extUserId: "string", //Mandatory
720
+ }.
721
+ ....
722
+ ]
723
+ }
724
+ */
725
+ function createUserAssignedPathEnrollments(options) {
726
+ var self = this;
727
+ // Initializing promise
728
+ var dfd = q.defer();
729
+
730
+ //Validations
731
+ var error = helpers.validations.isAuthenticated(self.orgId, self.token);
732
+ if(error) {
733
+ dfd.reject(error);
734
+ } else {
735
+ if(options && options.classid && options.assignedpathid && options.body) {
736
+ // Passed all validations, Contruct API url
737
+ var url = self.config.DEFAULT_HOSTS.AUTHEXTN +
738
+ self.config.AUTHEXTN_API_URLS.userAssignedPaths;
739
+ url = helpers.api.constructAPIUrl(url, {
740
+ orgid: self.orgId,
741
+ classid: options.classid,
742
+ assignedpathid: options.assignedpathid,
743
+ });
744
+
745
+ var requestAPI = request.post(url)
746
+ .set('Content-Type', 'application/json')
747
+ .set('Accept', 'application/json')
748
+ .send(options.body);
749
+ if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
750
+
751
+ //Setup token in Authorization header
752
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
753
+
754
+ requestAPI
755
+ .agent(keepaliveAgent)
756
+ .end(function(error, response) {
757
+ if(error) {
758
+ var err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
759
+ dfd.reject(err);
760
+ }
761
+ else { dfd.resolve(response.body); }
762
+ });
763
+ } else {
764
+ var err = {};
765
+ err.message = err.description = 'Mandatory param: classid, assignedpathid, body' +
766
+ ' not found in request options.';
767
+ err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
768
+ dfd.reject(err);
769
+ }
770
+ }
771
+ return dfd.promise;
772
+ }
773
+
774
+ /*
775
+ options = {
776
+ assignedpathid: "string", // Mandatory
777
+ classid: "string", // Mandatory
778
+ body : [ // min:1 , max: 50
779
+ {
780
+ extUserId: "string", //Mandatory
781
+ },
782
+ ...
783
+ ]
784
+ }
785
+ */
786
+ function deleteUserAssignedPathEnrollments(options) {
787
+ var self = this;
788
+ // Initializing promise
789
+ var dfd = q.defer();
790
+
791
+ //Validations
792
+ var error = helpers.validations.isAuthenticated(self.orgId, self.token);
793
+ if(error) {
794
+ dfd.reject(error);
795
+ } else {
796
+ if(options && options.classid && options.assignedpathid && options.body) {
797
+ // Passed all validations, Contruct API url
798
+ var url = self.config.DEFAULT_HOSTS.AUTHEXTN +
799
+ self.config.AUTHEXTN_API_URLS.userAssignedPaths;
800
+ url = helpers.api.constructAPIUrl(url, {
801
+ orgid: self.orgId,
802
+ classid: options.classid,
803
+ assignedpathid: options.assignedpathid,
804
+ });
805
+
806
+ var requestAPI = request.delete(url)
807
+ .set('Content-Type', 'application/json')
808
+ .set('Accept', 'application/json')
809
+ .send(options.body);
810
+ if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
811
+
812
+ //Setup token in Authorization header
813
+ requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
814
+
815
+ requestAPI
816
+ .agent(keepaliveAgent)
817
+ .end(function(error, response) {
818
+ if(error) {
819
+ var err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
820
+ dfd.reject(err);
821
+ }
822
+ else { dfd.resolve(response.body); }
823
+ });
824
+ } else {
825
+ var err = {};
826
+ err.message = err.description = 'Mandatory param: classid, assignedpathid, body' +
827
+ ' not found in request options.';
828
+ err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
829
+ dfd.reject(err);
830
+ }
831
+ }
832
+ return dfd.promise;
833
+ }
@@ -538,6 +538,7 @@ function provisionBulkSpaces(options) {
538
538
  * *src_ext_classid: 'string',
539
539
  * products: boolean,
540
540
  * assigned_paths: boolean,
541
+ * ext_assigned_path_id_rule: 'string' //enum: ['SRC_ID']
541
542
  * advanced: {
542
543
  * assigned_paths: [ //length > 0 if assigned_paths flag is true
543
544
  * {
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.58.0",
4
+ "version": "2.59.0",
5
5
  "author": {
6
6
  "name": "Compro Technologies Private Limited",
7
7
  "url": "http://www.comprotechnologies.com/"