comprodls-sdk 2.74.1 → 2.75.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.
- package/dist/comprodls-sdk.js +131 -125
- package/dist/comprodls-sdk.min.js +1 -1
- package/lib/config/index.js +1 -0
- package/lib/services/pushX/index.js +128 -127
- package/lib/services/pushX/pubnubClientWrapper.js +5 -1
- package/package.json +1 -1
package/dist/comprodls-sdk.js
CHANGED
|
@@ -504,6 +504,7 @@ exports.PUB_API_URLS = {
|
|
|
504
504
|
exports.PUSHX_API_URLS = {
|
|
505
505
|
grantByUserOrgId: '/orgs/{orgId}/grants',
|
|
506
506
|
grantByAccountId: '/accounts/{accountId}/grants',
|
|
507
|
+
grantV2: '/ver/v2/grants',
|
|
507
508
|
getPushedEvents: '/accounts/{accountId}/pushed-events/channels'
|
|
508
509
|
};
|
|
509
510
|
|
|
@@ -12827,15 +12828,16 @@ var keepaliveAgent = new Agent({
|
|
|
12827
12828
|
* Public Function definitions
|
|
12828
12829
|
**********************************/
|
|
12829
12830
|
function pushX() {
|
|
12830
|
-
|
|
12831
|
-
|
|
12832
|
-
|
|
12833
|
-
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12831
|
+
var _pubnubClientWrapper = pubnubClientWrapper();
|
|
12832
|
+
return {
|
|
12833
|
+
"connect": _connect.bind(this, _pubnubClientWrapper),
|
|
12834
|
+
"cleanup": _cleanup.bind(this, _pubnubClientWrapper),
|
|
12835
|
+
"grantByUserOrgId": grantByUserOrgId.bind(this),
|
|
12836
|
+
"grantByAccountId": grantByAccountId.bind(this),
|
|
12837
|
+
"grantByAccountIdOnExtUserId": grantByAccountIdOnExtUserId.bind(this),
|
|
12838
|
+
"grantV2": grantV2.bind(this),
|
|
12839
|
+
"getPushedEvents": getPushedEvents.bind(this)
|
|
12840
|
+
};
|
|
12839
12841
|
}
|
|
12840
12842
|
|
|
12841
12843
|
/*********************************
|
|
@@ -12843,146 +12845,146 @@ function pushX() {
|
|
|
12843
12845
|
**********************************/
|
|
12844
12846
|
|
|
12845
12847
|
function _connect(pubnubCW, options) {
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
|
|
12860
|
-
|
|
12861
|
-
|
|
12862
|
-
|
|
12863
|
-
|
|
12864
|
-
|
|
12848
|
+
var bpubnubV7 = true; // If pubnub v7 or higher in package.json, set it true
|
|
12849
|
+
if (bpubnubV7 && !options.userid) {
|
|
12850
|
+
var err = {};
|
|
12851
|
+
err.message = err.description = 'Mandatory parameter userid not found in request options.';
|
|
12852
|
+
err = new DLSError(helpers.errors.ERROR_TYPES.PUSHX_ERROR, err);
|
|
12853
|
+
throw err;
|
|
12854
|
+
}
|
|
12855
|
+
|
|
12856
|
+
// Adding SSL flag
|
|
12857
|
+
return pubnubCW.setup({
|
|
12858
|
+
'userid': options.userid,
|
|
12859
|
+
'accountid': options.accountid,
|
|
12860
|
+
'token': options.token,
|
|
12861
|
+
'pubnub': {
|
|
12862
|
+
'publishKey': options.publishKey,
|
|
12863
|
+
'subscribeKey': options.subscribeKey,
|
|
12864
|
+
'ssl': true
|
|
12865
|
+
}
|
|
12866
|
+
});
|
|
12865
12867
|
}
|
|
12866
12868
|
|
|
12867
12869
|
function _cleanup(pubnubCW) { pubnubCW.cleanup(); }
|
|
12868
12870
|
|
|
12869
12871
|
/*options = {
|
|
12870
|
-
|
|
12872
|
+
orgId: <orgId>, userId: <userId>
|
|
12871
12873
|
}*/
|
|
12872
12874
|
function grantByUserOrgId(options) {
|
|
12873
|
-
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
//Setup token in Authorization header
|
|
12893
|
-
requestAPI = helpers.api.setupAPIToken(requestAPI, self.token);
|
|
12894
|
-
if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
|
|
12895
|
-
|
|
12896
|
-
// Call Change Password Api
|
|
12897
|
-
requestAPI.end(function(err, response) {
|
|
12898
|
-
if(err) {
|
|
12899
|
-
err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, err);
|
|
12900
|
-
dfd.reject(err);
|
|
12901
|
-
}
|
|
12902
|
-
else { dfd.resolve(response.body); }
|
|
12903
|
-
});
|
|
12904
|
-
}
|
|
12905
|
-
return dfd.promise;
|
|
12875
|
+
var dfd = q.defer(); // Initializing promise
|
|
12876
|
+
var allowedChannels = ['jobs', 'systemevents'];
|
|
12877
|
+
var baseChannelName = "o-" + options.orgId + "\\$u-" + options.userId + "\\$";
|
|
12878
|
+
var patterns = [];
|
|
12879
|
+
for(var i in allowedChannels) {
|
|
12880
|
+
var channelName = baseChannelName + allowedChannels[i] + "\\..*";
|
|
12881
|
+
patterns.push(channelName);
|
|
12882
|
+
}
|
|
12883
|
+
options.channels = {};
|
|
12884
|
+
options.channels.patterns = patterns;
|
|
12885
|
+
grantV2.call(this, options)
|
|
12886
|
+
.then(function (res) {
|
|
12887
|
+
dfd.resolve(res);
|
|
12888
|
+
})
|
|
12889
|
+
.catch(function(err) {
|
|
12890
|
+
dfd.reject(err);
|
|
12891
|
+
});
|
|
12892
|
+
return dfd.promise;
|
|
12906
12893
|
}
|
|
12907
12894
|
|
|
12908
12895
|
/*options = {
|
|
12909
12896
|
accountId: <accountid>,
|
|
12910
|
-
refId: <extRefId
|
|
12911
|
-
authKey: <authKey>
|
|
12897
|
+
refId: <extRefId>
|
|
12912
12898
|
}*/
|
|
12913
12899
|
function grantByAccountId(options) {
|
|
12914
|
-
var
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
if(options.accountId && options.refId) {
|
|
12918
|
-
// Passed all validations, Construct API url
|
|
12919
|
-
var url = self.config.DEFAULT_HOSTS.PUSHX + self.config.PUSHX_API_URLS.grantByAccountId;
|
|
12920
|
-
url = helpers.api.constructAPIUrl(url, { accountId: options.accountId });
|
|
12921
|
-
// Setup request with URL and Params
|
|
12922
|
-
var requestAPI = request.post(url)
|
|
12923
|
-
.set('Content-Type', 'application/json')
|
|
12924
|
-
.set('Accept', 'application/json');
|
|
12925
|
-
if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
|
|
12926
|
-
|
|
12927
|
-
var body = { refId: options.refId };
|
|
12928
|
-
if(options.authKey) { body.authKey = options.authKey; }
|
|
12900
|
+
var err ={};
|
|
12901
|
+
var dfd = q.defer(); // Initializing promise
|
|
12929
12902
|
|
|
12930
|
-
|
|
12931
|
-
|
|
12932
|
-
|
|
12933
|
-
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
|
|
12937
|
-
|
|
12938
|
-
}
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12903
|
+
if(options.accountId && options.refId) {
|
|
12904
|
+
var channel = "a-" + options.accountId + "$refid." + options.refId;
|
|
12905
|
+
var exactMatch = [channel];
|
|
12906
|
+
options.channels = {};
|
|
12907
|
+
options.channels.exactMatch = exactMatch;
|
|
12908
|
+
grantV2.call(this, options)
|
|
12909
|
+
.then(function (res) {
|
|
12910
|
+
dfd.resolve(res);
|
|
12911
|
+
})
|
|
12912
|
+
.catch(function(err) {
|
|
12913
|
+
dfd.reject(err);
|
|
12914
|
+
});
|
|
12915
|
+
}
|
|
12916
|
+
else {
|
|
12917
|
+
err.message = err.description = "Required parameter ['accountId', 'refId'] " +
|
|
12918
|
+
"not found in request options";
|
|
12919
|
+
err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
|
|
12920
|
+
dfd.reject(err);
|
|
12921
|
+
}
|
|
12922
|
+
return dfd.promise;
|
|
12946
12923
|
}
|
|
12947
12924
|
|
|
12948
12925
|
/*options = {
|
|
12949
12926
|
accountId: <accountid>,
|
|
12950
12927
|
extUserId: <extUserId>, //mandatory
|
|
12951
|
-
authKey: <authKey>
|
|
12952
12928
|
}*/
|
|
12953
12929
|
function grantByAccountIdOnExtUserId(options) {
|
|
12954
|
-
var
|
|
12955
|
-
|
|
12930
|
+
var err ={};
|
|
12931
|
+
var dfd = q.defer(); // Initializing promise
|
|
12956
12932
|
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12933
|
+
if(options.accountId && options.extUserId) {
|
|
12934
|
+
var channel = "a-" + options.accountId + "$u-" + options.extUserId;
|
|
12935
|
+
var exactMatch = [channel];
|
|
12936
|
+
options.channels = {};
|
|
12937
|
+
options.channels.exactMatch = exactMatch;
|
|
12938
|
+
grantV2.call(this, options)
|
|
12939
|
+
.then(function (res) {
|
|
12940
|
+
dfd.resolve(res);
|
|
12941
|
+
})
|
|
12942
|
+
.catch(function(err) {
|
|
12943
|
+
dfd.reject(err);
|
|
12944
|
+
});
|
|
12945
|
+
}
|
|
12946
|
+
else {
|
|
12947
|
+
err.message = err.description = "Required parameter ['accountId', 'extUserId'] " +
|
|
12948
|
+
"not found in request options";
|
|
12949
|
+
err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
|
|
12950
|
+
dfd.reject(err);
|
|
12951
|
+
}
|
|
12952
|
+
return dfd.promise;
|
|
12953
|
+
}
|
|
12966
12954
|
|
|
12967
|
-
|
|
12968
|
-
|
|
12955
|
+
/**
|
|
12956
|
+
* This function provides grant token on given channels
|
|
12957
|
+
* @param { channels: { exactMatch: [], patterns: [] } } options
|
|
12958
|
+
* @returns { token, publishKey, subscribeKey }
|
|
12959
|
+
*/
|
|
12960
|
+
function grantV2(options) {
|
|
12961
|
+
var self = this, err = {};
|
|
12962
|
+
var dfd = q.defer();
|
|
12963
|
+
var body = { channels: {} };
|
|
12964
|
+
if(!options.channels) {
|
|
12965
|
+
err.message = err.description = "channels not given in input body.";
|
|
12966
|
+
err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
|
|
12967
|
+
dfd.reject(err);
|
|
12968
|
+
return dfd.promise;
|
|
12969
|
+
}
|
|
12970
|
+
body.channels = options.channels;
|
|
12971
|
+
// Passed all validations, Construct API url
|
|
12972
|
+
var url = self.config.DEFAULT_HOSTS.PUSHX + self.config.PUSHX_API_URLS.grantV2;
|
|
12973
|
+
// Setup request with URL and Params
|
|
12974
|
+
var requestAPI = request.post(url)
|
|
12975
|
+
.set('Content-Type', 'application/json')
|
|
12976
|
+
.set('Accept', 'application/json');
|
|
12977
|
+
if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
|
|
12969
12978
|
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
12975
|
-
}
|
|
12976
|
-
else { dfd.resolve(response.body); }
|
|
12977
|
-
});
|
|
12978
|
-
}
|
|
12979
|
-
else {
|
|
12980
|
-
err.message = err.description = "Required parameter ['accountId', 'extUserId'] " +
|
|
12981
|
-
"not found in request options";
|
|
12982
|
-
err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
|
|
12983
|
-
dfd.reject(err);
|
|
12979
|
+
requestAPI.send(body);
|
|
12980
|
+
requestAPI.end(function(err, response) {
|
|
12981
|
+
if(err) {
|
|
12982
|
+
err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, err);
|
|
12983
|
+
dfd.reject(err);
|
|
12984
12984
|
}
|
|
12985
|
-
|
|
12985
|
+
else { dfd.resolve(response.body); }
|
|
12986
|
+
});
|
|
12987
|
+
return dfd.promise;
|
|
12986
12988
|
}
|
|
12987
12989
|
|
|
12988
12990
|
/**
|
|
@@ -13139,8 +13141,10 @@ module.exports = function () {
|
|
|
13139
13141
|
break;
|
|
13140
13142
|
case "PNAccessDeniedCategory":
|
|
13141
13143
|
if(status.operation === "PNSubscribeOperation") {
|
|
13144
|
+
var errorText = status.errorData.response && status.errorData.response.text;
|
|
13145
|
+
var errorJSON = errorText ? JSON.parse(errorText) : undefined;
|
|
13142
13146
|
var errorData = {
|
|
13143
|
-
payload:
|
|
13147
|
+
payload: errorJSON && errorJSON.payload || status.errorData.payload,
|
|
13144
13148
|
message: 'Forbidden: Subscription failed.',
|
|
13145
13149
|
errorDetails: {
|
|
13146
13150
|
operation: status.operation,
|
|
@@ -13243,9 +13247,11 @@ module.exports = function () {
|
|
|
13243
13247
|
var pubnubConfig = userOptions.pubnub;
|
|
13244
13248
|
pubnubConfig.uuid = userOptions.userid;
|
|
13245
13249
|
var accountId = userOptions.accountid;
|
|
13250
|
+
var token = userOptions.token;
|
|
13246
13251
|
|
|
13247
13252
|
if (!_pubnubClient && pubnubConfig) {
|
|
13248
13253
|
_pubnubClient = new pubNub(pubnubConfig); //Connect with PubNub SDK
|
|
13254
|
+
_pubnubClient.setToken(token);
|
|
13249
13255
|
processSetup();
|
|
13250
13256
|
} else {
|
|
13251
13257
|
return new Error('Already Initialized');
|