@suprsend/node-sdk 0.0.6 → 0.1.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/event.js +205 -0
- package/dist/identity.js +417 -0
- package/dist/identity_helper.js +648 -0
- package/dist/index.js +12 -0
- package/dist/request_json/event.json +47 -0
- package/dist/request_json/workflow.json +49 -3
- package/dist/signature.js +1 -1
- package/dist/utils.js +42 -224
- package/dist/workflow.js +4 -2
- package/package.json +5 -4
- package/src/event.js +148 -0
- package/src/identity.js +281 -0
- package/src/identity_helper.js +463 -0
- package/src/index.js +8 -0
- package/src/request_json/event.json +47 -0
- package/src/request_json/workflow.json +49 -3
- package/src/signature.js +1 -4
- package/src/utils.js +28 -204
- package/src/workflow.js +5 -3
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _utils = require("./utils");
|
|
17
|
+
|
|
18
|
+
var EMAIL_REGEX = /\S+@\S+\.\S+/;
|
|
19
|
+
var MOBILE_REGEX = /^\+[0-9\s]+/;
|
|
20
|
+
var KEY_PUSHVENDOR = "$pushvendor";
|
|
21
|
+
var CHANNEL_MAP = {
|
|
22
|
+
EMAIL: "$email",
|
|
23
|
+
SMS: "$sms",
|
|
24
|
+
WHATSAPP: "$whatsapp",
|
|
25
|
+
ANDROID_PUSH: "$androidpush",
|
|
26
|
+
IOS_PUSH: "$iospush",
|
|
27
|
+
WEB_PUSH: "$webpush"
|
|
28
|
+
};
|
|
29
|
+
var ANDROID_PUSH_VENDORS = ["fcm", "xiaomi", "oppo"];
|
|
30
|
+
var IOS_PUSH_VENDORS = ["apns"];
|
|
31
|
+
var WEB_PUSH_VENDORS = ["vapid"];
|
|
32
|
+
|
|
33
|
+
var _IdentityEventInternalHelper = /*#__PURE__*/function () {
|
|
34
|
+
function _IdentityEventInternalHelper(distinct_id, workspace_key) {
|
|
35
|
+
(0, _classCallCheck2["default"])(this, _IdentityEventInternalHelper);
|
|
36
|
+
this.distinct_id = distinct_id;
|
|
37
|
+
this.workspace_key = workspace_key;
|
|
38
|
+
this.__dict_append = {};
|
|
39
|
+
this.__append_count = 0;
|
|
40
|
+
this.__dict_remove = {};
|
|
41
|
+
this.__remove_count = 0;
|
|
42
|
+
this.__list_unset = [];
|
|
43
|
+
this.__unset_count = 0;
|
|
44
|
+
this.__errors = [];
|
|
45
|
+
this.__info = [];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
(0, _createClass2["default"])(_IdentityEventInternalHelper, [{
|
|
49
|
+
key: "reset",
|
|
50
|
+
value: function reset() {
|
|
51
|
+
this.__dict_append = {};
|
|
52
|
+
this.__append_count = 0;
|
|
53
|
+
this.__dict_remove = {};
|
|
54
|
+
this.__remove_count = 0;
|
|
55
|
+
this.__list_unset = [];
|
|
56
|
+
this.__unset_count = 0;
|
|
57
|
+
this.__errors = [];
|
|
58
|
+
this.__info = [];
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "get_identity_events",
|
|
62
|
+
value: function get_identity_events() {
|
|
63
|
+
var evt = this.__form_event();
|
|
64
|
+
|
|
65
|
+
var ret_val = {
|
|
66
|
+
errors: this.__errors,
|
|
67
|
+
info: this.__info,
|
|
68
|
+
event: evt,
|
|
69
|
+
append: this.__append_count,
|
|
70
|
+
remove: this.__remove_count,
|
|
71
|
+
unset: this.__unset_count
|
|
72
|
+
};
|
|
73
|
+
this.reset();
|
|
74
|
+
return ret_val;
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "__form_event",
|
|
78
|
+
value: function __form_event() {
|
|
79
|
+
if (!(0, _utils.is_empty)(this.__dict_append) || !(0, _utils.is_empty)(this.__dict_remove)) {
|
|
80
|
+
var event = {
|
|
81
|
+
$insert_id: (0, _utils.uuid)(),
|
|
82
|
+
$time: (0, _utils.epoch_milliseconds)(),
|
|
83
|
+
env: this.workspace_key,
|
|
84
|
+
distinct_id: this.distinct_id
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
if (!(0, _utils.is_empty)(this.__dict_append)) {
|
|
88
|
+
event["$append"] = this.__dict_append;
|
|
89
|
+
this.__append_count += 1;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (!(0, _utils.is_empty)(this.__dict_remove)) {
|
|
93
|
+
event["$remove"] = this.__dict_remove;
|
|
94
|
+
this.__remove_count += 1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return event;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "__validate_key_basic",
|
|
104
|
+
value: function __validate_key_basic(key, caller) {
|
|
105
|
+
if (!(0, _utils.is_string)(key)) {
|
|
106
|
+
this.__info.push("[".concat(caller, "] skipping key: ").concat(key, ". key must be a string"));
|
|
107
|
+
|
|
108
|
+
return [key, false];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
key = key.trim();
|
|
112
|
+
|
|
113
|
+
if (!key) {
|
|
114
|
+
this.__info.push("[".concat(caller, "] skipping key: empty string"));
|
|
115
|
+
|
|
116
|
+
return [key, false];
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return [key, true];
|
|
120
|
+
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "__validate_key_prefix",
|
|
123
|
+
value: function __validate_key_prefix(key, caller) {
|
|
124
|
+
if (!this.__is_identity_key(key)) {
|
|
125
|
+
if ((0, _utils.has_special_char)(key)) {
|
|
126
|
+
this.__info.push("[".concat(caller, "] skipping key: ").concat(key, ". key starting with [$,ss_] are reserved"));
|
|
127
|
+
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
}, {
|
|
135
|
+
key: "__is_identity_key",
|
|
136
|
+
value: function __is_identity_key(key) {
|
|
137
|
+
return Object.values(CHANNEL_MAP).includes(key);
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "_append_kv",
|
|
141
|
+
value: function _append_kv(key, value) {
|
|
142
|
+
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
143
|
+
var caller = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "append";
|
|
144
|
+
|
|
145
|
+
var _this$__validate_key_ = this.__validate_key_basic(key, caller),
|
|
146
|
+
_this$__validate_key_2 = (0, _slicedToArray2["default"])(_this$__validate_key_, 2),
|
|
147
|
+
validated_key = _this$__validate_key_2[0],
|
|
148
|
+
is_valid = _this$__validate_key_2[1];
|
|
149
|
+
|
|
150
|
+
if (!is_valid) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (this.__is_identity_key(validated_key)) {
|
|
155
|
+
this.__add_identity(validated_key, value, args, caller);
|
|
156
|
+
} else {
|
|
157
|
+
var _is_valid = this.__validate_key_prefix(validated_key, caller);
|
|
158
|
+
|
|
159
|
+
if (_is_valid) {
|
|
160
|
+
this.__dict_append[validated_key] = value;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}, {
|
|
165
|
+
key: "_remove_kv",
|
|
166
|
+
value: function _remove_kv(key, value) {
|
|
167
|
+
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
168
|
+
var caller = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "remove";
|
|
169
|
+
|
|
170
|
+
var _this$__validate_key_3 = this.__validate_key_basic(key, caller),
|
|
171
|
+
_this$__validate_key_4 = (0, _slicedToArray2["default"])(_this$__validate_key_3, 2),
|
|
172
|
+
validated_key = _this$__validate_key_4[0],
|
|
173
|
+
is_valid = _this$__validate_key_4[1];
|
|
174
|
+
|
|
175
|
+
if (!is_valid) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (this.__is_identity_key(validated_key)) {
|
|
180
|
+
this.__remove_identity(validated_key, value, args, caller);
|
|
181
|
+
} else {
|
|
182
|
+
var _is_valid2 = this.__validate_key_prefix(validated_key, caller);
|
|
183
|
+
|
|
184
|
+
if (_is_valid2) {
|
|
185
|
+
this.__dict_remove[validated_key] = value;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}, {
|
|
190
|
+
key: "__add_identity",
|
|
191
|
+
value: function __add_identity(key, value, args, caller) {
|
|
192
|
+
switch (key) {
|
|
193
|
+
case CHANNEL_MAP.EMAIL:
|
|
194
|
+
this._add_email(value, caller);
|
|
195
|
+
|
|
196
|
+
break;
|
|
197
|
+
|
|
198
|
+
case CHANNEL_MAP.SMS:
|
|
199
|
+
this._add_sms(value, caller);
|
|
200
|
+
|
|
201
|
+
break;
|
|
202
|
+
|
|
203
|
+
case CHANNEL_MAP.WHATSAPP:
|
|
204
|
+
this._add_whatsapp(value, caller);
|
|
205
|
+
|
|
206
|
+
break;
|
|
207
|
+
|
|
208
|
+
case CHANNEL_MAP.ANDROID_PUSH:
|
|
209
|
+
this._add_androidpush(value, args[KEY_PUSHVENDOR], caller);
|
|
210
|
+
|
|
211
|
+
if (this.__dict_append[KEY_PUSHVENDOR]) {
|
|
212
|
+
args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
break;
|
|
216
|
+
|
|
217
|
+
case CHANNEL_MAP.IOS_PUSH:
|
|
218
|
+
this._add_iospush(value, args[KEY_PUSHVENDOR], caller);
|
|
219
|
+
|
|
220
|
+
if (this.__dict_append[KEY_PUSHVENDOR]) {
|
|
221
|
+
args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
break;
|
|
225
|
+
|
|
226
|
+
case CHANNEL_MAP.WEB_PUSH:
|
|
227
|
+
this._add_webpush(value, args[KEY_PUSHVENDOR], caller);
|
|
228
|
+
|
|
229
|
+
if (this.__dict_append[KEY_PUSHVENDOR]) {
|
|
230
|
+
args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
break;
|
|
234
|
+
|
|
235
|
+
default:
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}, {
|
|
240
|
+
key: "__remove_identity",
|
|
241
|
+
value: function __remove_identity(key, value, args, caller) {
|
|
242
|
+
switch (key) {
|
|
243
|
+
case CHANNEL_MAP.EMAIL:
|
|
244
|
+
this._remove_email(value, caller);
|
|
245
|
+
|
|
246
|
+
break;
|
|
247
|
+
|
|
248
|
+
case CHANNEL_MAP.SMS:
|
|
249
|
+
this._remove_sms(value, caller);
|
|
250
|
+
|
|
251
|
+
break;
|
|
252
|
+
|
|
253
|
+
case CHANNEL_MAP.WHATSAPP:
|
|
254
|
+
this._remove_whatsapp(value, caller);
|
|
255
|
+
|
|
256
|
+
break;
|
|
257
|
+
|
|
258
|
+
case CHANNEL_MAP.ANDROID_PUSH:
|
|
259
|
+
this._remove_androidpush(value, args[KEY_PUSHVENDOR], caller);
|
|
260
|
+
|
|
261
|
+
if (this.__dict_remove[KEY_PUSHVENDOR]) {
|
|
262
|
+
args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
break;
|
|
266
|
+
|
|
267
|
+
case CHANNEL_MAP.IOS_PUSH:
|
|
268
|
+
this._remove_iospush(value, args[KEY_PUSHVENDOR], caller);
|
|
269
|
+
|
|
270
|
+
if (this.__dict_remove[KEY_PUSHVENDOR]) {
|
|
271
|
+
args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
break;
|
|
275
|
+
|
|
276
|
+
case CHANNEL_MAP.WEB_PUSH:
|
|
277
|
+
this._remove_webpush(value, args[KEY_PUSHVENDOR], caller);
|
|
278
|
+
|
|
279
|
+
if (this.__dict_remove[KEY_PUSHVENDOR]) {
|
|
280
|
+
args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
break;
|
|
284
|
+
|
|
285
|
+
default:
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}, {
|
|
290
|
+
key: "__check_ident_val_string",
|
|
291
|
+
value: function __check_ident_val_string(value, caller) {
|
|
292
|
+
var message = "value must a string with proper value";
|
|
293
|
+
|
|
294
|
+
if (!(0, _utils.is_string)(value)) {
|
|
295
|
+
this.__errors.push("[".concat(caller, "] ").concat(message));
|
|
296
|
+
|
|
297
|
+
return [value, false];
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
value = value.trim();
|
|
301
|
+
|
|
302
|
+
if (!value) {
|
|
303
|
+
this.__errors.push("[".concat(caller, "] ").concat(message));
|
|
304
|
+
|
|
305
|
+
return [value, false];
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
return [value, true];
|
|
309
|
+
} // email methods
|
|
310
|
+
|
|
311
|
+
}, {
|
|
312
|
+
key: "__validate_email",
|
|
313
|
+
value: function __validate_email(value, caller) {
|
|
314
|
+
var _this$__check_ident_v = this.__check_ident_val_string(value, caller),
|
|
315
|
+
_this$__check_ident_v2 = (0, _slicedToArray2["default"])(_this$__check_ident_v, 2),
|
|
316
|
+
email = _this$__check_ident_v2[0],
|
|
317
|
+
is_valid = _this$__check_ident_v2[1];
|
|
318
|
+
|
|
319
|
+
if (!is_valid) {
|
|
320
|
+
return [email, false];
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
var message = "value in email format required. e.g. user@example.com";
|
|
324
|
+
var min_length = 6;
|
|
325
|
+
var max_length = 127;
|
|
326
|
+
var is_valid_email = EMAIL_REGEX.test(email);
|
|
327
|
+
|
|
328
|
+
if (!is_valid_email) {
|
|
329
|
+
this.__errors.push("[".concat(caller, "] invalid value ").concat(email, ". ").concat(message));
|
|
330
|
+
|
|
331
|
+
return [email, false];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
if (email.length < min_length || email.length > max_length) {
|
|
335
|
+
this.__errors.push("[".concat(caller, "] invalid value ").concat(email, ". must be 6 <= email.length <= 127"));
|
|
336
|
+
|
|
337
|
+
return [email, false];
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
return [email, true];
|
|
341
|
+
}
|
|
342
|
+
}, {
|
|
343
|
+
key: "_add_email",
|
|
344
|
+
value: function _add_email(email, caller) {
|
|
345
|
+
var _this$__validate_emai = this.__validate_email(email, caller),
|
|
346
|
+
_this$__validate_emai2 = (0, _slicedToArray2["default"])(_this$__validate_emai, 2),
|
|
347
|
+
value = _this$__validate_emai2[0],
|
|
348
|
+
is_valid = _this$__validate_emai2[1];
|
|
349
|
+
|
|
350
|
+
if (!is_valid) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
this.__dict_append[CHANNEL_MAP.EMAIL] = value;
|
|
355
|
+
}
|
|
356
|
+
}, {
|
|
357
|
+
key: "_remove_email",
|
|
358
|
+
value: function _remove_email(email, caller) {
|
|
359
|
+
var _this$__validate_emai3 = this.__validate_email(email, caller),
|
|
360
|
+
_this$__validate_emai4 = (0, _slicedToArray2["default"])(_this$__validate_emai3, 2),
|
|
361
|
+
value = _this$__validate_emai4[0],
|
|
362
|
+
is_valid = _this$__validate_emai4[1];
|
|
363
|
+
|
|
364
|
+
if (!is_valid) {
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
this.__dict_remove[CHANNEL_MAP.EMAIL] = value;
|
|
369
|
+
} // mobile methods
|
|
370
|
+
|
|
371
|
+
}, {
|
|
372
|
+
key: "__validate_mobile_no",
|
|
373
|
+
value: function __validate_mobile_no(value, caller) {
|
|
374
|
+
var _this$__check_ident_v3 = this.__check_ident_val_string(value, caller),
|
|
375
|
+
_this$__check_ident_v4 = (0, _slicedToArray2["default"])(_this$__check_ident_v3, 2),
|
|
376
|
+
mobile = _this$__check_ident_v4[0],
|
|
377
|
+
is_valid = _this$__check_ident_v4[1];
|
|
378
|
+
|
|
379
|
+
if (!is_valid) {
|
|
380
|
+
return [mobile, false];
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
var message = "number must start with + and must contain country code. e.g. +41446681800";
|
|
384
|
+
var min_length = 8;
|
|
385
|
+
var is_valid_mobile = MOBILE_REGEX.test(mobile);
|
|
386
|
+
|
|
387
|
+
if (!is_valid_mobile) {
|
|
388
|
+
this.__errors.push("[".concat(caller, "] invalid value ").concat(mobile, ". ").concat(message));
|
|
389
|
+
|
|
390
|
+
return [mobile, false];
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
if (mobile.length < min_length) {
|
|
394
|
+
this.__errors.push("[".concat(caller, "] invalid value ").concat(mobile, ". mobile_no.length must be >= 8"));
|
|
395
|
+
|
|
396
|
+
return [mobile, false];
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
return [mobile, true];
|
|
400
|
+
}
|
|
401
|
+
}, {
|
|
402
|
+
key: "_add_sms",
|
|
403
|
+
value: function _add_sms(mobile_no, caller) {
|
|
404
|
+
var _this$__validate_mobi = this.__validate_mobile_no(mobile_no, caller),
|
|
405
|
+
_this$__validate_mobi2 = (0, _slicedToArray2["default"])(_this$__validate_mobi, 2),
|
|
406
|
+
value = _this$__validate_mobi2[0],
|
|
407
|
+
is_valid = _this$__validate_mobi2[1];
|
|
408
|
+
|
|
409
|
+
if (!is_valid) {
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
this.__dict_append[CHANNEL_MAP.SMS] = value;
|
|
414
|
+
}
|
|
415
|
+
}, {
|
|
416
|
+
key: "_remove_sms",
|
|
417
|
+
value: function _remove_sms(mobile_no, caller) {
|
|
418
|
+
var _this$__validate_mobi3 = this.__validate_mobile_no(mobile_no, caller),
|
|
419
|
+
_this$__validate_mobi4 = (0, _slicedToArray2["default"])(_this$__validate_mobi3, 2),
|
|
420
|
+
value = _this$__validate_mobi4[0],
|
|
421
|
+
is_valid = _this$__validate_mobi4[1];
|
|
422
|
+
|
|
423
|
+
if (!is_valid) {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
this.__dict_remove[CHANNEL_MAP.SMS] = value;
|
|
428
|
+
}
|
|
429
|
+
}, {
|
|
430
|
+
key: "_add_whatsapp",
|
|
431
|
+
value: function _add_whatsapp(mobile_no, caller) {
|
|
432
|
+
var _this$__validate_mobi5 = this.__validate_mobile_no(mobile_no, caller),
|
|
433
|
+
_this$__validate_mobi6 = (0, _slicedToArray2["default"])(_this$__validate_mobi5, 2),
|
|
434
|
+
value = _this$__validate_mobi6[0],
|
|
435
|
+
is_valid = _this$__validate_mobi6[1];
|
|
436
|
+
|
|
437
|
+
if (!is_valid) {
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
this.__dict_append[CHANNEL_MAP.WHATSAPP] = value;
|
|
442
|
+
}
|
|
443
|
+
}, {
|
|
444
|
+
key: "_remove_whatsapp",
|
|
445
|
+
value: function _remove_whatsapp(mobile_no, caller) {
|
|
446
|
+
var _this$__validate_mobi7 = this.__validate_mobile_no(mobile_no, caller),
|
|
447
|
+
_this$__validate_mobi8 = (0, _slicedToArray2["default"])(_this$__validate_mobi7, 2),
|
|
448
|
+
value = _this$__validate_mobi8[0],
|
|
449
|
+
is_valid = _this$__validate_mobi8[1];
|
|
450
|
+
|
|
451
|
+
if (!is_valid) {
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
this.__dict_remove[CHANNEL_MAP.WHATSAPP] = value;
|
|
456
|
+
} // android push methods
|
|
457
|
+
|
|
458
|
+
}, {
|
|
459
|
+
key: "__check_androidpush_value",
|
|
460
|
+
value: function __check_androidpush_value(value, provider, caller) {
|
|
461
|
+
var _this$__check_ident_v5 = this.__check_ident_val_string(value, caller),
|
|
462
|
+
_this$__check_ident_v6 = (0, _slicedToArray2["default"])(_this$__check_ident_v5, 2),
|
|
463
|
+
push_token = _this$__check_ident_v6[0],
|
|
464
|
+
is_valid = _this$__check_ident_v6[1];
|
|
465
|
+
|
|
466
|
+
if (!is_valid) {
|
|
467
|
+
return [push_token, provider, false];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
if (!provider) {
|
|
471
|
+
provider = "fcm";
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
if (!ANDROID_PUSH_VENDORS.includes(provider)) {
|
|
475
|
+
this.__errors.push("[".concat(caller, "] unsupported androidpush provider ").concat(provider));
|
|
476
|
+
|
|
477
|
+
return [push_token, provider, false];
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
return [push_token, provider, true];
|
|
481
|
+
}
|
|
482
|
+
}, {
|
|
483
|
+
key: "_add_androidpush",
|
|
484
|
+
value: function _add_androidpush(push_token) {
|
|
485
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "fcm";
|
|
486
|
+
var caller = arguments.length > 2 ? arguments[2] : undefined;
|
|
487
|
+
|
|
488
|
+
var _this$__check_android = this.__check_androidpush_value(push_token, provider, caller),
|
|
489
|
+
_this$__check_android2 = (0, _slicedToArray2["default"])(_this$__check_android, 3),
|
|
490
|
+
value = _this$__check_android2[0],
|
|
491
|
+
vendor = _this$__check_android2[1],
|
|
492
|
+
is_valid = _this$__check_android2[2];
|
|
493
|
+
|
|
494
|
+
if (!is_valid) {
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
this.__dict_append[CHANNEL_MAP.ANDROID_PUSH] = value;
|
|
499
|
+
this.__dict_append[KEY_PUSHVENDOR] = vendor;
|
|
500
|
+
}
|
|
501
|
+
}, {
|
|
502
|
+
key: "_remove_androidpush",
|
|
503
|
+
value: function _remove_androidpush(push_token) {
|
|
504
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "fcm";
|
|
505
|
+
var caller = "remove_androidpush";
|
|
506
|
+
|
|
507
|
+
var _this$__check_android3 = this.__check_androidpush_value(push_token, provider, caller),
|
|
508
|
+
_this$__check_android4 = (0, _slicedToArray2["default"])(_this$__check_android3, 3),
|
|
509
|
+
value = _this$__check_android4[0],
|
|
510
|
+
vendor = _this$__check_android4[1],
|
|
511
|
+
is_valid = _this$__check_android4[2];
|
|
512
|
+
|
|
513
|
+
if (!is_valid) {
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
this.__dict_remove[CHANNEL_MAP.ANDROID_PUSH] = value;
|
|
518
|
+
this.__dict_remove[KEY_PUSHVENDOR] = vendor;
|
|
519
|
+
} // ios push methods
|
|
520
|
+
|
|
521
|
+
}, {
|
|
522
|
+
key: "__check_iospush_value",
|
|
523
|
+
value: function __check_iospush_value(value, provider, caller) {
|
|
524
|
+
var _this$__check_ident_v7 = this.__check_ident_val_string(value, caller),
|
|
525
|
+
_this$__check_ident_v8 = (0, _slicedToArray2["default"])(_this$__check_ident_v7, 2),
|
|
526
|
+
push_token = _this$__check_ident_v8[0],
|
|
527
|
+
is_valid = _this$__check_ident_v8[1];
|
|
528
|
+
|
|
529
|
+
if (!is_valid) {
|
|
530
|
+
return [push_token, provider, false];
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
if (!provider) {
|
|
534
|
+
provider = "apns";
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
if (!IOS_PUSH_VENDORS.includes(provider)) {
|
|
538
|
+
this.__errors.push("[".concat(caller, "] unsupported iospush provider ").concat(provider));
|
|
539
|
+
|
|
540
|
+
return [push_token, provider, false];
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
return [push_token, provider, true];
|
|
544
|
+
}
|
|
545
|
+
}, {
|
|
546
|
+
key: "_add_iospush",
|
|
547
|
+
value: function _add_iospush(push_token) {
|
|
548
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "apns";
|
|
549
|
+
var caller = arguments.length > 2 ? arguments[2] : undefined;
|
|
550
|
+
|
|
551
|
+
var _this$__check_iospush = this.__check_iospush_value(push_token, provider, caller),
|
|
552
|
+
_this$__check_iospush2 = (0, _slicedToArray2["default"])(_this$__check_iospush, 3),
|
|
553
|
+
value = _this$__check_iospush2[0],
|
|
554
|
+
vendor = _this$__check_iospush2[1],
|
|
555
|
+
is_valid = _this$__check_iospush2[2];
|
|
556
|
+
|
|
557
|
+
if (!is_valid) {
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
this.__dict_append[CHANNEL_MAP.IOS_PUSH] = value;
|
|
562
|
+
this.__dict_append[KEY_PUSHVENDOR] = vendor;
|
|
563
|
+
}
|
|
564
|
+
}, {
|
|
565
|
+
key: "_remove_iospush",
|
|
566
|
+
value: function _remove_iospush(push_token) {
|
|
567
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "apns";
|
|
568
|
+
var caller = arguments.length > 2 ? arguments[2] : undefined;
|
|
569
|
+
|
|
570
|
+
var _this$__check_iospush3 = this.__check_iospush_value(push_token, provider, caller),
|
|
571
|
+
_this$__check_iospush4 = (0, _slicedToArray2["default"])(_this$__check_iospush3, 3),
|
|
572
|
+
value = _this$__check_iospush4[0],
|
|
573
|
+
vendor = _this$__check_iospush4[1],
|
|
574
|
+
is_valid = _this$__check_iospush4[2];
|
|
575
|
+
|
|
576
|
+
if (!is_valid) {
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
this.__dict_remove[CHANNEL_MAP.IOS_PUSH] = value;
|
|
581
|
+
this.__dict_remove[KEY_PUSHVENDOR] = vendor;
|
|
582
|
+
} // web push methods
|
|
583
|
+
|
|
584
|
+
}, {
|
|
585
|
+
key: "__check_webpush_dict",
|
|
586
|
+
value: function __check_webpush_dict(value, provider, caller) {
|
|
587
|
+
if (!(0, _utils.is_object)(value)) {
|
|
588
|
+
this.__errors.push("[".concat(caller, "] value must be a valid dict representing webpush-token"));
|
|
589
|
+
|
|
590
|
+
return [value, provider, false];
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
if (!provider) {
|
|
594
|
+
provider = "vapid";
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
if (!WEB_PUSH_VENDORS.includes(provider)) {
|
|
598
|
+
this.__errors.push("[".concat(caller, "] unsupported webpush provider ").concat(provider));
|
|
599
|
+
|
|
600
|
+
return [value, provider, false];
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
return [value, provider, true];
|
|
604
|
+
}
|
|
605
|
+
}, {
|
|
606
|
+
key: "_add_webpush",
|
|
607
|
+
value: function _add_webpush(push_token) {
|
|
608
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "vapid";
|
|
609
|
+
var caller = arguments.length > 2 ? arguments[2] : undefined;
|
|
610
|
+
|
|
611
|
+
var _this$__check_webpush = this.__check_webpush_dict(push_token, provider, caller),
|
|
612
|
+
_this$__check_webpush2 = (0, _slicedToArray2["default"])(_this$__check_webpush, 3),
|
|
613
|
+
value = _this$__check_webpush2[0],
|
|
614
|
+
vendor = _this$__check_webpush2[1],
|
|
615
|
+
is_valid = _this$__check_webpush2[2];
|
|
616
|
+
|
|
617
|
+
if (!is_valid) {
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
this.__dict_append[CHANNEL_MAP.WEB_PUSH] = value;
|
|
622
|
+
this.__dict_append[KEY_PUSHVENDOR] = vendor;
|
|
623
|
+
}
|
|
624
|
+
}, {
|
|
625
|
+
key: "_remove_webpush",
|
|
626
|
+
value: function _remove_webpush(push_token) {
|
|
627
|
+
var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "vapid";
|
|
628
|
+
var caller = arguments.length > 2 ? arguments[2] : undefined;
|
|
629
|
+
|
|
630
|
+
var _this$__check_webpush3 = this.__check_webpush_dict(push_token, provider, caller),
|
|
631
|
+
_this$__check_webpush4 = (0, _slicedToArray2["default"])(_this$__check_webpush3, 3),
|
|
632
|
+
value = _this$__check_webpush4[0],
|
|
633
|
+
vendor = _this$__check_webpush4[1],
|
|
634
|
+
is_valid = _this$__check_webpush4[2];
|
|
635
|
+
|
|
636
|
+
if (!is_valid) {
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
this.__dict_remove[CHANNEL_MAP.WEB_PUSH] = value;
|
|
641
|
+
this.__dict_remove[KEY_PUSHVENDOR] = vendor;
|
|
642
|
+
}
|
|
643
|
+
}]);
|
|
644
|
+
return _IdentityEventInternalHelper;
|
|
645
|
+
}();
|
|
646
|
+
|
|
647
|
+
exports["default"] = _IdentityEventInternalHelper;
|
|
648
|
+
module.exports = exports.default;
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,10 @@ var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
|
21
21
|
|
|
22
22
|
var _utils = require("./utils");
|
|
23
23
|
|
|
24
|
+
var _identity = _interopRequireDefault(require("./identity"));
|
|
25
|
+
|
|
26
|
+
var _event = _interopRequireDefault(require("./event"));
|
|
27
|
+
|
|
24
28
|
var package_json = require("../package.json");
|
|
25
29
|
|
|
26
30
|
var Suprsend = /*#__PURE__*/function () {
|
|
@@ -34,6 +38,8 @@ var Suprsend = /*#__PURE__*/function () {
|
|
|
34
38
|
this.auth_enabled = config.auth_enabled !== false;
|
|
35
39
|
this.include_signature_param = config.include_signature_param !== false;
|
|
36
40
|
this.user_agent = "suprsend/".concat(package_json.version, ";node/").concat(process.version.slice(1));
|
|
41
|
+
this.user = new _identity["default"](this);
|
|
42
|
+
this._eventcollector = new _event["default"](this);
|
|
37
43
|
|
|
38
44
|
this._validate();
|
|
39
45
|
}
|
|
@@ -110,6 +116,12 @@ var Suprsend = /*#__PURE__*/function () {
|
|
|
110
116
|
wf.validate_data();
|
|
111
117
|
return wf.execute_workflow();
|
|
112
118
|
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "track",
|
|
121
|
+
value: function track(distinct_id, event_name) {
|
|
122
|
+
var properties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
123
|
+
return this._eventcollector.collect(distinct_id, event_name, properties);
|
|
124
|
+
}
|
|
113
125
|
}]);
|
|
114
126
|
return Suprsend;
|
|
115
127
|
}();
|