@suprsend/node-sdk 1.8.1 → 1.9.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/attachment.js +0 -13
- package/dist/brands.js +24 -55
- package/dist/bulk_response.js +2 -11
- package/dist/constants.js +14 -10
- package/dist/event.js +16 -62
- package/dist/events_bulk.js +13 -93
- package/dist/index.js +2 -35
- package/dist/language_codes.js +0 -3
- package/dist/request_json/event.json +5 -0
- package/dist/request_json/list_broadcast.json +7 -1
- package/dist/request_json/workflow.json +55 -2
- package/dist/signature.js +0 -9
- package/dist/subscriber.js +84 -105
- package/dist/subscriber_helper.js +190 -219
- package/dist/subscriber_list.js +386 -140
- package/dist/subscribers_bulk.js +13 -95
- package/dist/tenant.js +214 -0
- package/dist/utils.js +12 -101
- package/dist/workflow.js +12 -53
- package/dist/workflows_bulk.js +13 -92
- package/package.json +2 -2
- package/src/event.js +7 -0
- package/src/index.js +3 -0
- package/src/request_json/event.json +5 -0
- package/src/request_json/list_broadcast.json +7 -1
- package/src/request_json/workflow.json +55 -2
- package/src/subscriber.js +84 -0
- package/src/subscriber_helper.js +88 -0
- package/src/subscriber_list.js +228 -2
- package/src/tenant.js +120 -0
- package/src/workflow.js +7 -0
- package/types/index.d.ts +59 -4
package/dist/attachment.js
CHANGED
|
@@ -1,33 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = get_attachment_json;
|
|
9
|
-
|
|
10
8
|
var _path = _interopRequireDefault(require("path"));
|
|
11
|
-
|
|
12
9
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
13
|
-
|
|
14
10
|
var _utils = require("./utils");
|
|
15
|
-
|
|
16
11
|
function check_is_web_url() {
|
|
17
12
|
var file_path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
18
13
|
return file_path.startsWith("http://") || file_path.startsWith("https://");
|
|
19
14
|
}
|
|
20
|
-
|
|
21
15
|
function get_attachment_json_for_file(file_path, file_name, ignore_if_error) {
|
|
22
16
|
try {
|
|
23
17
|
var abs_path = _path["default"].resolve((0, _utils.resolveTilde)(file_path));
|
|
24
|
-
|
|
25
18
|
var final_file_name = _path["default"].basename(abs_path);
|
|
26
|
-
|
|
27
19
|
if (file_name && file_name.trim()) {
|
|
28
20
|
final_file_name = file_name.trim();
|
|
29
21
|
}
|
|
30
|
-
|
|
31
22
|
return {
|
|
32
23
|
filename: final_file_name,
|
|
33
24
|
contentType: _mimeTypes["default"].lookup(abs_path),
|
|
@@ -44,7 +35,6 @@ function get_attachment_json_for_file(file_path, file_name, ignore_if_error) {
|
|
|
44
35
|
}
|
|
45
36
|
}
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
function get_attachment_json_for_url(file_url, file_name, ignore_if_error) {
|
|
49
39
|
return {
|
|
50
40
|
filename: file_name,
|
|
@@ -54,15 +44,12 @@ function get_attachment_json_for_url(file_url, file_name, ignore_if_error) {
|
|
|
54
44
|
ignore_if_error: ignore_if_error
|
|
55
45
|
};
|
|
56
46
|
}
|
|
57
|
-
|
|
58
47
|
function get_attachment_json(file_path, file_name) {
|
|
59
48
|
var ignore_if_error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
60
|
-
|
|
61
49
|
if (check_is_web_url(file_path)) {
|
|
62
50
|
return get_attachment_json_for_url(file_path, file_name, ignore_if_error);
|
|
63
51
|
} else {
|
|
64
52
|
return get_attachment_json_for_file(file_path, file_name, ignore_if_error);
|
|
65
53
|
}
|
|
66
54
|
}
|
|
67
|
-
|
|
68
55
|
module.exports = exports.default;
|
package/dist/brands.js
CHANGED
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
14
|
var _signature = _interopRequireDefault(require("./signature"));
|
|
23
|
-
|
|
24
15
|
var _utils = require("./utils");
|
|
25
|
-
|
|
26
16
|
var _axios = _interopRequireDefault(require("axios"));
|
|
27
|
-
|
|
28
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
|
-
|
|
30
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
|
-
|
|
32
19
|
var BrandsApi = /*#__PURE__*/function () {
|
|
33
20
|
function BrandsApi(config) {
|
|
34
21
|
(0, _classCallCheck2["default"])(this, BrandsApi);
|
|
@@ -36,7 +23,6 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
36
23
|
this.list_url = this.__list_url();
|
|
37
24
|
this.__headers = this.__common_headers();
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
(0, _createClass2["default"])(BrandsApi, [{
|
|
41
27
|
key: "__list_url",
|
|
42
28
|
value: function __list_url() {
|
|
@@ -70,19 +56,18 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
70
56
|
value: function () {
|
|
71
57
|
var _list = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
72
58
|
var kwargs,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
59
|
+
limit,
|
|
60
|
+
offset,
|
|
61
|
+
_this$cleaned_limit_o,
|
|
62
|
+
_this$cleaned_limit_o2,
|
|
63
|
+
cleaned_limit,
|
|
64
|
+
cleaner_offset,
|
|
65
|
+
final_url_obj,
|
|
66
|
+
final_url_string,
|
|
67
|
+
headers,
|
|
68
|
+
signature,
|
|
69
|
+
response,
|
|
70
|
+
_args = arguments;
|
|
86
71
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
87
72
|
while (1) {
|
|
88
73
|
switch (_context.prev = _context.next) {
|
|
@@ -103,16 +88,13 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
103
88
|
return _axios["default"].get(final_url_string, {
|
|
104
89
|
headers: headers
|
|
105
90
|
});
|
|
106
|
-
|
|
107
91
|
case 14:
|
|
108
92
|
response = _context.sent;
|
|
109
93
|
return _context.abrupt("return", response.data);
|
|
110
|
-
|
|
111
94
|
case 18:
|
|
112
95
|
_context.prev = 18;
|
|
113
96
|
_context.t0 = _context["catch"](11);
|
|
114
97
|
throw new _utils.SuprsendApiError(_context.t0);
|
|
115
|
-
|
|
116
98
|
case 21:
|
|
117
99
|
case "end":
|
|
118
100
|
return _context.stop();
|
|
@@ -120,11 +102,9 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
120
102
|
}
|
|
121
103
|
}, _callee, this, [[11, 18]]);
|
|
122
104
|
}));
|
|
123
|
-
|
|
124
105
|
function list() {
|
|
125
106
|
return _list.apply(this, arguments);
|
|
126
107
|
}
|
|
127
|
-
|
|
128
108
|
return list;
|
|
129
109
|
}()
|
|
130
110
|
}, {
|
|
@@ -141,11 +121,11 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
141
121
|
value: function () {
|
|
142
122
|
var _get = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
143
123
|
var brand_id,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
124
|
+
url,
|
|
125
|
+
headers,
|
|
126
|
+
signature,
|
|
127
|
+
response,
|
|
128
|
+
_args2 = arguments;
|
|
149
129
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
150
130
|
while (1) {
|
|
151
131
|
switch (_context2.prev = _context2.next) {
|
|
@@ -160,16 +140,13 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
160
140
|
return _axios["default"].get(url, {
|
|
161
141
|
headers: headers
|
|
162
142
|
});
|
|
163
|
-
|
|
164
143
|
case 8:
|
|
165
144
|
response = _context2.sent;
|
|
166
145
|
return _context2.abrupt("return", response.data);
|
|
167
|
-
|
|
168
146
|
case 12:
|
|
169
147
|
_context2.prev = 12;
|
|
170
148
|
_context2.t0 = _context2["catch"](5);
|
|
171
149
|
throw new _utils.SuprsendApiError(_context2.t0);
|
|
172
|
-
|
|
173
150
|
case 15:
|
|
174
151
|
case "end":
|
|
175
152
|
return _context2.stop();
|
|
@@ -177,11 +154,9 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
177
154
|
}
|
|
178
155
|
}, _callee2, this, [[5, 12]]);
|
|
179
156
|
}));
|
|
180
|
-
|
|
181
157
|
function get() {
|
|
182
158
|
return _get.apply(this, arguments);
|
|
183
159
|
}
|
|
184
|
-
|
|
185
160
|
return get;
|
|
186
161
|
}()
|
|
187
162
|
}, {
|
|
@@ -189,13 +164,13 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
189
164
|
value: function () {
|
|
190
165
|
var _upsert = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
191
166
|
var brand_id,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
167
|
+
brand_payload,
|
|
168
|
+
url,
|
|
169
|
+
headers,
|
|
170
|
+
content_text,
|
|
171
|
+
signature,
|
|
172
|
+
response,
|
|
173
|
+
_args3 = arguments;
|
|
199
174
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
200
175
|
while (1) {
|
|
201
176
|
switch (_context3.prev = _context3.next) {
|
|
@@ -212,16 +187,13 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
212
187
|
return _axios["default"].post(url, content_text, {
|
|
213
188
|
headers: headers
|
|
214
189
|
});
|
|
215
|
-
|
|
216
190
|
case 10:
|
|
217
191
|
response = _context3.sent;
|
|
218
192
|
return _context3.abrupt("return", response.data);
|
|
219
|
-
|
|
220
193
|
case 14:
|
|
221
194
|
_context3.prev = 14;
|
|
222
195
|
_context3.t0 = _context3["catch"](7);
|
|
223
196
|
throw new _utils.SuprsendApiError(_context3.t0);
|
|
224
|
-
|
|
225
197
|
case 17:
|
|
226
198
|
case "end":
|
|
227
199
|
return _context3.stop();
|
|
@@ -229,17 +201,14 @@ var BrandsApi = /*#__PURE__*/function () {
|
|
|
229
201
|
}
|
|
230
202
|
}, _callee3, this, [[7, 14]]);
|
|
231
203
|
}));
|
|
232
|
-
|
|
233
204
|
function upsert() {
|
|
234
205
|
return _upsert.apply(this, arguments);
|
|
235
206
|
}
|
|
236
|
-
|
|
237
207
|
return upsert;
|
|
238
208
|
}()
|
|
239
209
|
}]);
|
|
240
210
|
return BrandsApi;
|
|
241
211
|
}();
|
|
242
|
-
|
|
243
212
|
var _default = BrandsApi;
|
|
244
213
|
exports["default"] = _default;
|
|
245
214
|
module.exports = exports.default;
|
package/dist/bulk_response.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var BulkResponse = /*#__PURE__*/function () {
|
|
17
12
|
function BulkResponse() {
|
|
18
13
|
(0, _classCallCheck2["default"])(this, BulkResponse);
|
|
@@ -23,15 +18,13 @@ var BulkResponse = /*#__PURE__*/function () {
|
|
|
23
18
|
this.failure = 0;
|
|
24
19
|
this.warnings = [];
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
(0, _createClass2["default"])(BulkResponse, [{
|
|
28
22
|
key: "merge_chunk_response",
|
|
29
23
|
value: function merge_chunk_response(ch_resp) {
|
|
30
24
|
if (!ch_resp) {
|
|
31
25
|
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
}
|
|
27
|
+
// possible status: success/partial/fail
|
|
35
28
|
if (!this.status) {
|
|
36
29
|
this.status = ch_resp["status"];
|
|
37
30
|
} else {
|
|
@@ -45,7 +38,6 @@ var BulkResponse = /*#__PURE__*/function () {
|
|
|
45
38
|
}
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
|
-
|
|
49
41
|
this.total += ch_resp.total || 0;
|
|
50
42
|
this.success += ch_resp.success || 0;
|
|
51
43
|
this.failure += ch_resp.failure || 0;
|
|
@@ -79,6 +71,5 @@ var BulkResponse = /*#__PURE__*/function () {
|
|
|
79
71
|
}]);
|
|
80
72
|
return BulkResponse;
|
|
81
73
|
}();
|
|
82
|
-
|
|
83
74
|
exports["default"] = BulkResponse;
|
|
84
75
|
module.exports = exports.default;
|
package/dist/constants.js
CHANGED
|
@@ -7,36 +7,40 @@ exports.WORKFLOW_RUNTIME_KEYS_POTENTIAL_SIZE_IN_BYTES = exports.SINGLE_EVENT_MAX
|
|
|
7
7
|
// Default urls
|
|
8
8
|
var DEFAULT_URL = "https://hub.suprsend.com/";
|
|
9
9
|
exports.DEFAULT_URL = DEFAULT_URL;
|
|
10
|
-
var DEFAULT_UAT_URL = "https://collector-staging.suprsend.workers.dev/";
|
|
10
|
+
var DEFAULT_UAT_URL = "https://collector-staging.suprsend.workers.dev/";
|
|
11
11
|
|
|
12
|
+
// an Event should not have apparent body size of more than 100KB
|
|
12
13
|
exports.DEFAULT_UAT_URL = DEFAULT_UAT_URL;
|
|
13
14
|
var SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 100 * 1024; // 100 * 1024
|
|
14
|
-
|
|
15
15
|
exports.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES;
|
|
16
|
-
var SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "100KB";
|
|
16
|
+
var SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "100KB";
|
|
17
17
|
|
|
18
|
+
// a API call should not have apparent body size of more than 800KB
|
|
18
19
|
exports.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE;
|
|
19
20
|
var BODY_MAX_APPARENT_SIZE_IN_BYTES = 800 * 1024; // 800 * 1024
|
|
20
|
-
|
|
21
21
|
exports.BODY_MAX_APPARENT_SIZE_IN_BYTES = BODY_MAX_APPARENT_SIZE_IN_BYTES;
|
|
22
|
-
var BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "800KB";
|
|
22
|
+
var BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "800KB";
|
|
23
23
|
|
|
24
|
+
// in general url-size wont exceed 2048 chars or 2048 utf-8 bytes
|
|
24
25
|
exports.BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE = BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE;
|
|
25
|
-
var ATTACHMENT_URL_POTENTIAL_SIZE_IN_BYTES = 2100;
|
|
26
|
+
var ATTACHMENT_URL_POTENTIAL_SIZE_IN_BYTES = 2100;
|
|
26
27
|
|
|
28
|
+
// few keys added in-flight, amounting to almost 200 bytes increase per workflow-body
|
|
27
29
|
exports.ATTACHMENT_URL_POTENTIAL_SIZE_IN_BYTES = ATTACHMENT_URL_POTENTIAL_SIZE_IN_BYTES;
|
|
28
|
-
var WORKFLOW_RUNTIME_KEYS_POTENTIAL_SIZE_IN_BYTES = 200;
|
|
30
|
+
var WORKFLOW_RUNTIME_KEYS_POTENTIAL_SIZE_IN_BYTES = 200;
|
|
29
31
|
|
|
32
|
+
// max workflow-records in one bulk api call.
|
|
30
33
|
exports.WORKFLOW_RUNTIME_KEYS_POTENTIAL_SIZE_IN_BYTES = WORKFLOW_RUNTIME_KEYS_POTENTIAL_SIZE_IN_BYTES;
|
|
31
|
-
var MAX_WORKFLOWS_IN_BULK_API = 100;
|
|
32
|
-
|
|
34
|
+
var MAX_WORKFLOWS_IN_BULK_API = 100;
|
|
35
|
+
// max event-records in one bulk api call
|
|
33
36
|
exports.MAX_WORKFLOWS_IN_BULK_API = MAX_WORKFLOWS_IN_BULK_API;
|
|
34
37
|
var MAX_EVENTS_IN_BULK_API = 100;
|
|
35
38
|
exports.MAX_EVENTS_IN_BULK_API = MAX_EVENTS_IN_BULK_API;
|
|
36
39
|
var ALLOW_ATTACHMENTS_IN_BULK_API = true;
|
|
37
40
|
exports.ALLOW_ATTACHMENTS_IN_BULK_API = ALLOW_ATTACHMENTS_IN_BULK_API;
|
|
38
|
-
var ATTACHMENT_UPLOAD_ENABLED = false;
|
|
41
|
+
var ATTACHMENT_UPLOAD_ENABLED = false;
|
|
39
42
|
|
|
43
|
+
// -- single Identity event limit
|
|
40
44
|
exports.ATTACHMENT_UPLOAD_ENABLED = ATTACHMENT_UPLOAD_ENABLED;
|
|
41
45
|
var IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 10 * 1024;
|
|
42
46
|
exports.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES;
|
package/dist/event.js
CHANGED
|
@@ -1,40 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.EventCollector = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
14
|
var _utils = require("./utils");
|
|
23
|
-
|
|
24
15
|
var _signature = _interopRequireDefault(require("./signature"));
|
|
25
|
-
|
|
26
16
|
var _axios = _interopRequireDefault(require("axios"));
|
|
27
|
-
|
|
28
17
|
var _attachment = _interopRequireDefault(require("./attachment"));
|
|
29
|
-
|
|
30
18
|
var _constants = require("./constants");
|
|
31
|
-
|
|
32
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
-
|
|
34
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
|
|
36
21
|
var RESERVED_EVENT_NAMES = ["$identify", "$notification_delivered", "$notification_dismiss", "$notification_clicked", "$app_launched", "$user_login", "$user_logout"];
|
|
37
|
-
|
|
38
22
|
var Event = /*#__PURE__*/function () {
|
|
39
23
|
function Event(distinct_id, event_name, properties) {
|
|
40
24
|
var kwargs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
@@ -43,26 +27,24 @@ var Event = /*#__PURE__*/function () {
|
|
|
43
27
|
this.event_name = event_name;
|
|
44
28
|
this.properties = properties;
|
|
45
29
|
this.idempotency_key = kwargs === null || kwargs === void 0 ? void 0 : kwargs.idempotency_key;
|
|
46
|
-
this.
|
|
30
|
+
this.tenant_id = kwargs === null || kwargs === void 0 ? void 0 : kwargs.tenant_id;
|
|
31
|
+
this.brand_id = kwargs === null || kwargs === void 0 ? void 0 : kwargs.brand_id;
|
|
47
32
|
|
|
33
|
+
// default values
|
|
48
34
|
if (!this.properties) {
|
|
49
35
|
this.properties = {};
|
|
50
36
|
}
|
|
51
37
|
}
|
|
52
|
-
|
|
53
38
|
(0, _createClass2["default"])(Event, [{
|
|
54
39
|
key: "__validate_distinct_id",
|
|
55
40
|
value: function __validate_distinct_id() {
|
|
56
41
|
if (typeof this.distinct_id !== "string") {
|
|
57
42
|
throw new _utils.InputValueError("distinct_id must be a string. an Id which uniquely identify a user in your app");
|
|
58
43
|
}
|
|
59
|
-
|
|
60
44
|
var distinct_id = this.distinct_id.trim();
|
|
61
|
-
|
|
62
45
|
if (!distinct_id) {
|
|
63
46
|
throw new _utils.InputValueError("distinct_id missing");
|
|
64
47
|
}
|
|
65
|
-
|
|
66
48
|
this.distinct_id = distinct_id;
|
|
67
49
|
}
|
|
68
50
|
}, {
|
|
@@ -87,56 +69,44 @@ var Event = /*#__PURE__*/function () {
|
|
|
87
69
|
if (!(0, _utils.is_string)(this.event_name)) {
|
|
88
70
|
throw new _utils.InputValueError("event_name must be a string");
|
|
89
71
|
}
|
|
90
|
-
|
|
91
72
|
var event_name = this.event_name.trim();
|
|
92
|
-
|
|
93
73
|
if (!event_name) {
|
|
94
74
|
throw new _utils.InputValueError("event_name missing");
|
|
95
75
|
}
|
|
96
|
-
|
|
97
76
|
this.__check_event_prefix(event_name);
|
|
98
|
-
|
|
99
77
|
this.event_name = event_name;
|
|
100
78
|
}
|
|
101
79
|
}, {
|
|
102
80
|
key: "add_attachment",
|
|
103
81
|
value: function add_attachment(file_path) {
|
|
104
82
|
var _kwargs$ignore_if_err;
|
|
105
|
-
|
|
106
83
|
var kwargs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
107
84
|
var file_name = kwargs === null || kwargs === void 0 ? void 0 : kwargs.file_name;
|
|
108
|
-
var ignore_if_error = (_kwargs$ignore_if_err = kwargs === null || kwargs === void 0 ? void 0 : kwargs.ignore_if_error) !== null && _kwargs$ignore_if_err !== void 0 ? _kwargs$ignore_if_err : false;
|
|
85
|
+
var ignore_if_error = (_kwargs$ignore_if_err = kwargs === null || kwargs === void 0 ? void 0 : kwargs.ignore_if_error) !== null && _kwargs$ignore_if_err !== void 0 ? _kwargs$ignore_if_err : false;
|
|
109
86
|
|
|
87
|
+
// if properties is not a dict, not raising error while adding attachment.
|
|
110
88
|
if (!(this.properties instanceof Object)) {
|
|
111
89
|
console.log("WARNING: attachment cannot be added. please make sure properties is a dictionary. Event" + JSON.stringify(this.as_json()));
|
|
112
90
|
return;
|
|
113
91
|
}
|
|
114
|
-
|
|
115
92
|
var attachment = (0, _attachment["default"])(file_path, file_name, ignore_if_error);
|
|
116
|
-
|
|
117
93
|
if (!attachment) {
|
|
118
94
|
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
95
|
+
}
|
|
96
|
+
// --- add the attachment to properties->$attachments
|
|
122
97
|
if (!this.properties["$attachments"]) {
|
|
123
98
|
this.properties["$attachments"] = [];
|
|
124
99
|
}
|
|
125
|
-
|
|
126
100
|
this.properties["$attachments"].push(attachment);
|
|
127
101
|
}
|
|
128
102
|
}, {
|
|
129
103
|
key: "get_final_json",
|
|
130
104
|
value: function get_final_json(config) {
|
|
131
105
|
var is_part_of_bulk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
132
|
-
|
|
133
106
|
// --- validate
|
|
134
107
|
this.__validate_distinct_id();
|
|
135
|
-
|
|
136
108
|
this.__validate_event_name();
|
|
137
|
-
|
|
138
109
|
this.__validate_properties();
|
|
139
|
-
|
|
140
110
|
var super_props = {
|
|
141
111
|
$ss_sdk_version: config.user_agent
|
|
142
112
|
};
|
|
@@ -148,22 +118,20 @@ var Event = /*#__PURE__*/function () {
|
|
|
148
118
|
distinct_id: this.distinct_id,
|
|
149
119
|
properties: _objectSpread(_objectSpread({}, this.properties), super_props)
|
|
150
120
|
};
|
|
151
|
-
|
|
152
121
|
if (this.idempotency_key) {
|
|
153
122
|
event_dict["$idempotency_key"] = this.idempotency_key;
|
|
154
123
|
}
|
|
155
|
-
|
|
124
|
+
if (this.tenant_id) {
|
|
125
|
+
event_dict["tenant_id"] = this.tenant_id;
|
|
126
|
+
}
|
|
156
127
|
if (this.brand_id) {
|
|
157
128
|
event_dict["brand_id"] = this.brand_id;
|
|
158
129
|
}
|
|
159
|
-
|
|
160
130
|
event_dict = (0, _utils.validate_track_event_schema)(event_dict);
|
|
161
131
|
var apparent_size = (0, _utils.get_apparent_event_size)(event_dict, is_part_of_bulk);
|
|
162
|
-
|
|
163
132
|
if (apparent_size > _constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
164
133
|
throw new _utils.InputValueError("Event size too big - ".concat(apparent_size, " Bytes,must not cross ").concat(_constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
165
134
|
}
|
|
166
|
-
|
|
167
135
|
return [event_dict, apparent_size];
|
|
168
136
|
}
|
|
169
137
|
}, {
|
|
@@ -174,23 +142,21 @@ var Event = /*#__PURE__*/function () {
|
|
|
174
142
|
distinct_id: this.distinct_id,
|
|
175
143
|
properties: this.properties
|
|
176
144
|
};
|
|
177
|
-
|
|
178
145
|
if (this.idempotency_key) {
|
|
179
146
|
event_dict["$idempotency_key"] = this.idempotency_key;
|
|
180
147
|
}
|
|
181
|
-
|
|
148
|
+
if (this.tenant_id) {
|
|
149
|
+
event_dict["tenant_id"] = this.tenant_id;
|
|
150
|
+
}
|
|
182
151
|
if (this.brand_id) {
|
|
183
152
|
event_dict["brand_id"] = this.brand_id;
|
|
184
153
|
}
|
|
185
|
-
|
|
186
154
|
return event_dict;
|
|
187
155
|
}
|
|
188
156
|
}]);
|
|
189
157
|
return Event;
|
|
190
158
|
}();
|
|
191
|
-
|
|
192
159
|
exports["default"] = Event;
|
|
193
|
-
|
|
194
160
|
var EventCollector = /*#__PURE__*/function () {
|
|
195
161
|
function EventCollector(config) {
|
|
196
162
|
(0, _classCallCheck2["default"])(this, EventCollector);
|
|
@@ -198,7 +164,6 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
198
164
|
this.__url = this.__get_url();
|
|
199
165
|
this.__headers = this.__common_headers();
|
|
200
166
|
}
|
|
201
|
-
|
|
202
167
|
(0, _createClass2["default"])(EventCollector, [{
|
|
203
168
|
key: "__get_url",
|
|
204
169
|
value: function __get_url() {
|
|
@@ -223,10 +188,9 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
223
188
|
key: "collect",
|
|
224
189
|
value: function collect(event) {
|
|
225
190
|
var _event$get_final_json = event.get_final_json(this.config, false),
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
191
|
+
_event$get_final_json2 = (0, _slicedToArray2["default"])(_event$get_final_json, 2),
|
|
192
|
+
event_dict = _event$get_final_json2[0],
|
|
193
|
+
event_size = _event$get_final_json2[1];
|
|
230
194
|
return this.send(event_dict);
|
|
231
195
|
}
|
|
232
196
|
}, {
|
|
@@ -247,23 +211,19 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
247
211
|
return _axios["default"].post(this.__url, content_text, {
|
|
248
212
|
headers: headers
|
|
249
213
|
});
|
|
250
|
-
|
|
251
214
|
case 7:
|
|
252
215
|
response = _context.sent;
|
|
253
216
|
ok_response = Math.floor(response.status / 100) == 2;
|
|
254
|
-
|
|
255
217
|
if (!ok_response) {
|
|
256
218
|
_context.next = 13;
|
|
257
219
|
break;
|
|
258
220
|
}
|
|
259
|
-
|
|
260
221
|
return _context.abrupt("return", {
|
|
261
222
|
success: true,
|
|
262
223
|
status: "success",
|
|
263
224
|
status_code: response.status,
|
|
264
225
|
message: response.statusText
|
|
265
226
|
});
|
|
266
|
-
|
|
267
227
|
case 13:
|
|
268
228
|
return _context.abrupt("return", {
|
|
269
229
|
success: false,
|
|
@@ -271,11 +231,9 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
271
231
|
status_code: response.status,
|
|
272
232
|
message: response.statusText
|
|
273
233
|
});
|
|
274
|
-
|
|
275
234
|
case 14:
|
|
276
235
|
_context.next = 19;
|
|
277
236
|
break;
|
|
278
|
-
|
|
279
237
|
case 16:
|
|
280
238
|
_context.prev = 16;
|
|
281
239
|
_context.t0 = _context["catch"](4);
|
|
@@ -285,7 +243,6 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
285
243
|
status_code: _context.t0.status || 500,
|
|
286
244
|
message: _context.t0.message
|
|
287
245
|
});
|
|
288
|
-
|
|
289
246
|
case 19:
|
|
290
247
|
case "end":
|
|
291
248
|
return _context.stop();
|
|
@@ -293,15 +250,12 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
293
250
|
}
|
|
294
251
|
}, _callee, this, [[4, 16]]);
|
|
295
252
|
}));
|
|
296
|
-
|
|
297
253
|
function send(_x) {
|
|
298
254
|
return _send.apply(this, arguments);
|
|
299
255
|
}
|
|
300
|
-
|
|
301
256
|
return send;
|
|
302
257
|
}()
|
|
303
258
|
}]);
|
|
304
259
|
return EventCollector;
|
|
305
260
|
}();
|
|
306
|
-
|
|
307
261
|
exports.EventCollector = EventCollector;
|