@suprsend/node-sdk 1.8.0 → 1.8.2
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 +9 -62
- package/dist/events_bulk.js +13 -93
- package/dist/index.js +0 -35
- package/dist/language_codes.js +0 -3
- package/dist/request_json/event.json +1 -1
- package/dist/request_json/list_broadcast.json +1 -1
- package/dist/request_json/workflow.json +1 -1
- package/dist/signature.js +0 -9
- package/dist/subscriber.js +1 -105
- package/dist/subscriber_helper.js +79 -214
- package/dist/subscriber_list.js +27 -119
- package/dist/subscribers_bulk.js +13 -95
- package/dist/utils.js +12 -101
- package/dist/workflow.js +5 -53
- package/dist/workflows_bulk.js +13 -92
- package/package.json +1 -1
- package/src/request_json/event.json +1 -1
- package/src/request_json/list_broadcast.json +1 -1
- package/src/request_json/workflow.json +1 -1
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,23 @@ 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.brand_id = kwargs === null || kwargs === void 0 ? void 0 : kwargs.brand_id;
|
|
30
|
+
this.brand_id = kwargs === null || kwargs === void 0 ? void 0 : kwargs.brand_id;
|
|
47
31
|
|
|
32
|
+
// default values
|
|
48
33
|
if (!this.properties) {
|
|
49
34
|
this.properties = {};
|
|
50
35
|
}
|
|
51
36
|
}
|
|
52
|
-
|
|
53
37
|
(0, _createClass2["default"])(Event, [{
|
|
54
38
|
key: "__validate_distinct_id",
|
|
55
39
|
value: function __validate_distinct_id() {
|
|
56
40
|
if (typeof this.distinct_id !== "string") {
|
|
57
41
|
throw new _utils.InputValueError("distinct_id must be a string. an Id which uniquely identify a user in your app");
|
|
58
42
|
}
|
|
59
|
-
|
|
60
43
|
var distinct_id = this.distinct_id.trim();
|
|
61
|
-
|
|
62
44
|
if (!distinct_id) {
|
|
63
45
|
throw new _utils.InputValueError("distinct_id missing");
|
|
64
46
|
}
|
|
65
|
-
|
|
66
47
|
this.distinct_id = distinct_id;
|
|
67
48
|
}
|
|
68
49
|
}, {
|
|
@@ -87,56 +68,44 @@ var Event = /*#__PURE__*/function () {
|
|
|
87
68
|
if (!(0, _utils.is_string)(this.event_name)) {
|
|
88
69
|
throw new _utils.InputValueError("event_name must be a string");
|
|
89
70
|
}
|
|
90
|
-
|
|
91
71
|
var event_name = this.event_name.trim();
|
|
92
|
-
|
|
93
72
|
if (!event_name) {
|
|
94
73
|
throw new _utils.InputValueError("event_name missing");
|
|
95
74
|
}
|
|
96
|
-
|
|
97
75
|
this.__check_event_prefix(event_name);
|
|
98
|
-
|
|
99
76
|
this.event_name = event_name;
|
|
100
77
|
}
|
|
101
78
|
}, {
|
|
102
79
|
key: "add_attachment",
|
|
103
80
|
value: function add_attachment(file_path) {
|
|
104
81
|
var _kwargs$ignore_if_err;
|
|
105
|
-
|
|
106
82
|
var kwargs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
107
83
|
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;
|
|
84
|
+
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
85
|
|
|
86
|
+
// if properties is not a dict, not raising error while adding attachment.
|
|
110
87
|
if (!(this.properties instanceof Object)) {
|
|
111
88
|
console.log("WARNING: attachment cannot be added. please make sure properties is a dictionary. Event" + JSON.stringify(this.as_json()));
|
|
112
89
|
return;
|
|
113
90
|
}
|
|
114
|
-
|
|
115
91
|
var attachment = (0, _attachment["default"])(file_path, file_name, ignore_if_error);
|
|
116
|
-
|
|
117
92
|
if (!attachment) {
|
|
118
93
|
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
94
|
+
}
|
|
95
|
+
// --- add the attachment to properties->$attachments
|
|
122
96
|
if (!this.properties["$attachments"]) {
|
|
123
97
|
this.properties["$attachments"] = [];
|
|
124
98
|
}
|
|
125
|
-
|
|
126
99
|
this.properties["$attachments"].push(attachment);
|
|
127
100
|
}
|
|
128
101
|
}, {
|
|
129
102
|
key: "get_final_json",
|
|
130
103
|
value: function get_final_json(config) {
|
|
131
104
|
var is_part_of_bulk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
132
|
-
|
|
133
105
|
// --- validate
|
|
134
106
|
this.__validate_distinct_id();
|
|
135
|
-
|
|
136
107
|
this.__validate_event_name();
|
|
137
|
-
|
|
138
108
|
this.__validate_properties();
|
|
139
|
-
|
|
140
109
|
var super_props = {
|
|
141
110
|
$ss_sdk_version: config.user_agent
|
|
142
111
|
};
|
|
@@ -148,22 +117,17 @@ var Event = /*#__PURE__*/function () {
|
|
|
148
117
|
distinct_id: this.distinct_id,
|
|
149
118
|
properties: _objectSpread(_objectSpread({}, this.properties), super_props)
|
|
150
119
|
};
|
|
151
|
-
|
|
152
120
|
if (this.idempotency_key) {
|
|
153
121
|
event_dict["$idempotency_key"] = this.idempotency_key;
|
|
154
122
|
}
|
|
155
|
-
|
|
156
123
|
if (this.brand_id) {
|
|
157
124
|
event_dict["brand_id"] = this.brand_id;
|
|
158
125
|
}
|
|
159
|
-
|
|
160
126
|
event_dict = (0, _utils.validate_track_event_schema)(event_dict);
|
|
161
127
|
var apparent_size = (0, _utils.get_apparent_event_size)(event_dict, is_part_of_bulk);
|
|
162
|
-
|
|
163
128
|
if (apparent_size > _constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
164
129
|
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
130
|
}
|
|
166
|
-
|
|
167
131
|
return [event_dict, apparent_size];
|
|
168
132
|
}
|
|
169
133
|
}, {
|
|
@@ -174,23 +138,18 @@ var Event = /*#__PURE__*/function () {
|
|
|
174
138
|
distinct_id: this.distinct_id,
|
|
175
139
|
properties: this.properties
|
|
176
140
|
};
|
|
177
|
-
|
|
178
141
|
if (this.idempotency_key) {
|
|
179
142
|
event_dict["$idempotency_key"] = this.idempotency_key;
|
|
180
143
|
}
|
|
181
|
-
|
|
182
144
|
if (this.brand_id) {
|
|
183
145
|
event_dict["brand_id"] = this.brand_id;
|
|
184
146
|
}
|
|
185
|
-
|
|
186
147
|
return event_dict;
|
|
187
148
|
}
|
|
188
149
|
}]);
|
|
189
150
|
return Event;
|
|
190
151
|
}();
|
|
191
|
-
|
|
192
152
|
exports["default"] = Event;
|
|
193
|
-
|
|
194
153
|
var EventCollector = /*#__PURE__*/function () {
|
|
195
154
|
function EventCollector(config) {
|
|
196
155
|
(0, _classCallCheck2["default"])(this, EventCollector);
|
|
@@ -198,7 +157,6 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
198
157
|
this.__url = this.__get_url();
|
|
199
158
|
this.__headers = this.__common_headers();
|
|
200
159
|
}
|
|
201
|
-
|
|
202
160
|
(0, _createClass2["default"])(EventCollector, [{
|
|
203
161
|
key: "__get_url",
|
|
204
162
|
value: function __get_url() {
|
|
@@ -223,10 +181,9 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
223
181
|
key: "collect",
|
|
224
182
|
value: function collect(event) {
|
|
225
183
|
var _event$get_final_json = event.get_final_json(this.config, false),
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
184
|
+
_event$get_final_json2 = (0, _slicedToArray2["default"])(_event$get_final_json, 2),
|
|
185
|
+
event_dict = _event$get_final_json2[0],
|
|
186
|
+
event_size = _event$get_final_json2[1];
|
|
230
187
|
return this.send(event_dict);
|
|
231
188
|
}
|
|
232
189
|
}, {
|
|
@@ -247,23 +204,19 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
247
204
|
return _axios["default"].post(this.__url, content_text, {
|
|
248
205
|
headers: headers
|
|
249
206
|
});
|
|
250
|
-
|
|
251
207
|
case 7:
|
|
252
208
|
response = _context.sent;
|
|
253
209
|
ok_response = Math.floor(response.status / 100) == 2;
|
|
254
|
-
|
|
255
210
|
if (!ok_response) {
|
|
256
211
|
_context.next = 13;
|
|
257
212
|
break;
|
|
258
213
|
}
|
|
259
|
-
|
|
260
214
|
return _context.abrupt("return", {
|
|
261
215
|
success: true,
|
|
262
216
|
status: "success",
|
|
263
217
|
status_code: response.status,
|
|
264
218
|
message: response.statusText
|
|
265
219
|
});
|
|
266
|
-
|
|
267
220
|
case 13:
|
|
268
221
|
return _context.abrupt("return", {
|
|
269
222
|
success: false,
|
|
@@ -271,11 +224,9 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
271
224
|
status_code: response.status,
|
|
272
225
|
message: response.statusText
|
|
273
226
|
});
|
|
274
|
-
|
|
275
227
|
case 14:
|
|
276
228
|
_context.next = 19;
|
|
277
229
|
break;
|
|
278
|
-
|
|
279
230
|
case 16:
|
|
280
231
|
_context.prev = 16;
|
|
281
232
|
_context.t0 = _context["catch"](4);
|
|
@@ -285,7 +236,6 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
285
236
|
status_code: _context.t0.status || 500,
|
|
286
237
|
message: _context.t0.message
|
|
287
238
|
});
|
|
288
|
-
|
|
289
239
|
case 19:
|
|
290
240
|
case "end":
|
|
291
241
|
return _context.stop();
|
|
@@ -293,15 +243,12 @@ var EventCollector = /*#__PURE__*/function () {
|
|
|
293
243
|
}
|
|
294
244
|
}, _callee, this, [[4, 16]]);
|
|
295
245
|
}));
|
|
296
|
-
|
|
297
246
|
function send(_x) {
|
|
298
247
|
return _send.apply(this, arguments);
|
|
299
248
|
}
|
|
300
|
-
|
|
301
249
|
return send;
|
|
302
250
|
}()
|
|
303
251
|
}]);
|
|
304
252
|
return EventCollector;
|
|
305
253
|
}();
|
|
306
|
-
|
|
307
254
|
exports.EventCollector = EventCollector;
|