@suprsend/node-sdk 1.11.1 → 1.13.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/constants.js +2 -8
- package/dist/event.js +2 -2
- package/dist/events_bulk.js +2 -2
- package/dist/index.js +25 -2
- package/dist/object_edit.js +352 -0
- package/dist/object_edit_internal_helper.js +395 -0
- package/dist/objects_api.js +527 -0
- package/dist/request_json/workflow.json +7 -29
- package/dist/request_json/workflow_trigger.json +7 -29
- package/dist/subscriber.js +12 -28
- package/dist/subscriber_helper.js +40 -363
- package/dist/subscriber_list.js +2 -2
- package/dist/user_edit.js +412 -0
- package/dist/user_edit_internal_helper.js +363 -0
- package/dist/users_api.js +535 -0
- package/dist/users_edit_bulk.js +312 -0
- package/dist/workflow.js +2 -2
- package/dist/workflow_request.js +2 -2
- package/dist/workflow_trigger_bulk.js +2 -2
- package/dist/workflows_bulk.js +2 -2
- package/package.json +1 -1
- package/src/constants.js +0 -4
- package/src/event.js +4 -5
- package/src/events_bulk.js +3 -5
- package/src/index.js +9 -1
- package/src/object_edit.js +308 -0
- package/src/object_edit_internal_helper.js +332 -0
- package/src/objects_api.js +320 -0
- package/src/request_json/workflow.json +7 -29
- package/src/request_json/workflow_trigger.json +7 -29
- package/src/subscriber.js +10 -21
- package/src/subscriber_helper.js +41 -365
- package/src/subscriber_list.js +4 -4
- package/src/user_edit.js +360 -0
- package/src/user_edit_internal_helper.js +297 -0
- package/src/users_api.js +301 -0
- package/src/users_edit_bulk.js +211 -0
- package/src/workflow.js +4 -5
- package/src/workflow_request.js +4 -4
- package/src/workflow_trigger_bulk.js +2 -4
- package/src/workflows_bulk.js +3 -5
- package/types/index.d.ts +168 -13
- package/dist/language_codes.js +0 -197
- package/dist/object.js +0 -919
- package/dist/object_helper.js +0 -659
- package/src/language_codes.js +0 -188
- package/src/object.js +0 -621
- package/src/object_helper.js +0 -593
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
15
|
+
var _constants = require("./constants");
|
|
16
|
+
var _signature = _interopRequireDefault(require("./signature"));
|
|
17
|
+
var _utils = require("./utils");
|
|
18
|
+
var _lodash = require("lodash");
|
|
19
|
+
var _bulk_response = _interopRequireDefault(require("./bulk_response"));
|
|
20
|
+
var _user_edit = _interopRequireDefault(require("./user_edit"));
|
|
21
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
22
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
24
|
+
var _BulkUsersEditChunk = /*#__PURE__*/function () {
|
|
25
|
+
function _BulkUsersEditChunk(config) {
|
|
26
|
+
(0, _classCallCheck2["default"])(this, _BulkUsersEditChunk);
|
|
27
|
+
this._chunk_apparent_size_in_bytes = _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES;
|
|
28
|
+
this._max_records_in_chunk = _constants.MAX_IDENTITY_EVENTS_IN_BULK_API;
|
|
29
|
+
this.config = config;
|
|
30
|
+
this.__chunk = [];
|
|
31
|
+
this.__url = "".concat(this.config.base_url, "event/");
|
|
32
|
+
this.__running_size = 0;
|
|
33
|
+
this.__running_length = 0;
|
|
34
|
+
this.response = null;
|
|
35
|
+
}
|
|
36
|
+
(0, _createClass2["default"])(_BulkUsersEditChunk, [{
|
|
37
|
+
key: "__get_headers",
|
|
38
|
+
value: function __get_headers() {
|
|
39
|
+
return {
|
|
40
|
+
"Content-Type": "application/json; charset=utf-8",
|
|
41
|
+
"User-Agent": this.config.user_agent,
|
|
42
|
+
Date: new Date().toUTCString()
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "__add_event_to_chunk",
|
|
47
|
+
value: function __add_event_to_chunk(event, event_size) {
|
|
48
|
+
this.__running_size += event_size;
|
|
49
|
+
this.__chunk.push(event);
|
|
50
|
+
this.__running_length += 1;
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "__check_limit_reached",
|
|
54
|
+
value: function __check_limit_reached() {
|
|
55
|
+
return this.__running_length >= this._max_records_in_chunk || this.__running_size >= this._chunk_apparent_size_in_bytes;
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "try_to_add_into_chunk",
|
|
59
|
+
value: function try_to_add_into_chunk(event, event_size) {
|
|
60
|
+
if (!event) return true;
|
|
61
|
+
if (this.__check_limit_reached()) return false;
|
|
62
|
+
if (event_size > _constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
63
|
+
throw new _utils.InputValueError("Event too big - ".concat(event_size, " Bytes, ") + "must not cross ".concat(_constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
64
|
+
}
|
|
65
|
+
if (this.__running_size + event_size > this._chunk_apparent_size_in_bytes) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
this.__add_event_to_chunk(event, event_size);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "trigger",
|
|
73
|
+
value: function () {
|
|
74
|
+
var _trigger = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
75
|
+
var headers, content_text, sig, resp, ok_response, error_status;
|
|
76
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
77
|
+
while (1) {
|
|
78
|
+
switch (_context.prev = _context.next) {
|
|
79
|
+
case 0:
|
|
80
|
+
headers = this.__get_headers();
|
|
81
|
+
content_text = JSON.stringify(this.__chunk);
|
|
82
|
+
sig = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
|
|
83
|
+
headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(sig);
|
|
84
|
+
_context.prev = 4;
|
|
85
|
+
_context.next = 7;
|
|
86
|
+
return _axios["default"].post(this.__url, content_text, {
|
|
87
|
+
headers: headers
|
|
88
|
+
});
|
|
89
|
+
case 7:
|
|
90
|
+
resp = _context.sent;
|
|
91
|
+
ok_response = Math.floor(resp.status / 100) == 2;
|
|
92
|
+
if (ok_response) {
|
|
93
|
+
this.response = {
|
|
94
|
+
status: "success",
|
|
95
|
+
status_code: resp.status,
|
|
96
|
+
total: this.__chunk.length,
|
|
97
|
+
success: this.__chunk.length,
|
|
98
|
+
failure: 0,
|
|
99
|
+
failed_records: []
|
|
100
|
+
};
|
|
101
|
+
} else {
|
|
102
|
+
this.response = {
|
|
103
|
+
status: "fail",
|
|
104
|
+
status_code: resp.status,
|
|
105
|
+
total: this.__chunk.length,
|
|
106
|
+
success: 0,
|
|
107
|
+
failure: this.__chunk.length,
|
|
108
|
+
failed_records: this.__chunk.map(function (item) {
|
|
109
|
+
return {
|
|
110
|
+
record: item,
|
|
111
|
+
error: resp.statusText,
|
|
112
|
+
code: resp.status
|
|
113
|
+
};
|
|
114
|
+
})
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
_context.next = 16;
|
|
118
|
+
break;
|
|
119
|
+
case 12:
|
|
120
|
+
_context.prev = 12;
|
|
121
|
+
_context.t0 = _context["catch"](4);
|
|
122
|
+
error_status = err.status || 500;
|
|
123
|
+
this.response = {
|
|
124
|
+
status: "fail",
|
|
125
|
+
status_code: error_status,
|
|
126
|
+
total: this.__chunk.length,
|
|
127
|
+
success: 0,
|
|
128
|
+
failure: this.__chunk.length,
|
|
129
|
+
failed_records: this.__chunk.map(function (c) {
|
|
130
|
+
return {
|
|
131
|
+
record: c,
|
|
132
|
+
error: _context.t0.message,
|
|
133
|
+
code: error_status
|
|
134
|
+
};
|
|
135
|
+
})
|
|
136
|
+
};
|
|
137
|
+
case 16:
|
|
138
|
+
case "end":
|
|
139
|
+
return _context.stop();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, _callee, this, [[4, 12]]);
|
|
143
|
+
}));
|
|
144
|
+
function trigger() {
|
|
145
|
+
return _trigger.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
return trigger;
|
|
148
|
+
}()
|
|
149
|
+
}]);
|
|
150
|
+
return _BulkUsersEditChunk;
|
|
151
|
+
}();
|
|
152
|
+
var BulkUsersEdit = /*#__PURE__*/function () {
|
|
153
|
+
function BulkUsersEdit(config) {
|
|
154
|
+
(0, _classCallCheck2["default"])(this, BulkUsersEdit);
|
|
155
|
+
this.config = config;
|
|
156
|
+
this.__users = [];
|
|
157
|
+
this.__pending_records = [];
|
|
158
|
+
this.__invalid_records = [];
|
|
159
|
+
this.chunks = [];
|
|
160
|
+
this.response = new _bulk_response["default"]();
|
|
161
|
+
}
|
|
162
|
+
(0, _createClass2["default"])(BulkUsersEdit, [{
|
|
163
|
+
key: "__validate_users",
|
|
164
|
+
value: function __validate_users() {
|
|
165
|
+
var _iterator = _createForOfIteratorHelper(this.__users),
|
|
166
|
+
_step;
|
|
167
|
+
try {
|
|
168
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
169
|
+
var u = _step.value;
|
|
170
|
+
try {
|
|
171
|
+
var warnings_list = u.validate_body();
|
|
172
|
+
if (warnings_list) {
|
|
173
|
+
this.response.warnings = [].concat((0, _toConsumableArray2["default"])(this.response.warnings), (0, _toConsumableArray2["default"])(warnings_list));
|
|
174
|
+
}
|
|
175
|
+
var pl = u.get_async_payload();
|
|
176
|
+
var _u$validate_payload_s = u.validate_payload_size(pl),
|
|
177
|
+
_u$validate_payload_s2 = (0, _slicedToArray2["default"])(_u$validate_payload_s, 2),
|
|
178
|
+
pl_json = _u$validate_payload_s2[0],
|
|
179
|
+
pl_size = _u$validate_payload_s2[1];
|
|
180
|
+
this.__pending_records.push([pl_json, pl_size]);
|
|
181
|
+
} catch (ex) {
|
|
182
|
+
var inv_rec = (0, _utils.invalid_record_json)(u.as_json_async(), ex);
|
|
183
|
+
this.__invalid_records.push(inv_rec);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
} catch (err) {
|
|
187
|
+
_iterator.e(err);
|
|
188
|
+
} finally {
|
|
189
|
+
_iterator.f();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}, {
|
|
193
|
+
key: "__chunkify",
|
|
194
|
+
value: function __chunkify() {
|
|
195
|
+
var start_idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
196
|
+
var curr_chunk = new _BulkUsersEditChunk(this.config);
|
|
197
|
+
this.chunks.push(curr_chunk);
|
|
198
|
+
var entries = this.__pending_records.slice(start_idx).entries();
|
|
199
|
+
var _iterator2 = _createForOfIteratorHelper(entries),
|
|
200
|
+
_step2;
|
|
201
|
+
try {
|
|
202
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
203
|
+
var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 2),
|
|
204
|
+
rel_idx = _step2$value[0],
|
|
205
|
+
rec = _step2$value[1];
|
|
206
|
+
var is_added = curr_chunk.try_to_add_into_chunk(rec[0], rec[1]);
|
|
207
|
+
if (!is_added) {
|
|
208
|
+
this.__chunkify(start_idx + rel_idx);
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
} catch (err) {
|
|
213
|
+
_iterator2.e(err);
|
|
214
|
+
} finally {
|
|
215
|
+
_iterator2.f();
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}, {
|
|
219
|
+
key: "append",
|
|
220
|
+
value: function append() {
|
|
221
|
+
for (var _len = arguments.length, users = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
222
|
+
users[_key] = arguments[_key];
|
|
223
|
+
}
|
|
224
|
+
if (!users) return;
|
|
225
|
+
for (var _i = 0, _users = users; _i < _users.length; _i++) {
|
|
226
|
+
var u = _users[_i];
|
|
227
|
+
if (u && u instanceof _user_edit["default"]) {
|
|
228
|
+
var u_copy = (0, _lodash.cloneDeep)(u);
|
|
229
|
+
this.__users.push(u_copy);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "save",
|
|
235
|
+
value: function () {
|
|
236
|
+
var _save = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
237
|
+
var ch_response, _iterator3, _step3, _step3$value, c_idx, ch;
|
|
238
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
239
|
+
while (1) {
|
|
240
|
+
switch (_context2.prev = _context2.next) {
|
|
241
|
+
case 0:
|
|
242
|
+
this.__validate_users();
|
|
243
|
+
if (this.__invalid_records.length > 0) {
|
|
244
|
+
ch_response = _bulk_response["default"].invalid_records_chunk_response(this.__invalid_records);
|
|
245
|
+
this.response.merge_chunk_response(ch_response);
|
|
246
|
+
}
|
|
247
|
+
if (!(this.__pending_records.length > 0)) {
|
|
248
|
+
_context2.next = 25;
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
this.__chunkify();
|
|
252
|
+
_iterator3 = _createForOfIteratorHelper(this.chunks.entries());
|
|
253
|
+
_context2.prev = 5;
|
|
254
|
+
_iterator3.s();
|
|
255
|
+
case 7:
|
|
256
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
257
|
+
_context2.next = 15;
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
_step3$value = (0, _slicedToArray2["default"])(_step3.value, 2), c_idx = _step3$value[0], ch = _step3$value[1];
|
|
261
|
+
if (this.config.req_log_level > 0) {
|
|
262
|
+
console.log("DEBUG: triggering api call for chunk: ".concat(c_idx));
|
|
263
|
+
}
|
|
264
|
+
// do api call
|
|
265
|
+
_context2.next = 12;
|
|
266
|
+
return ch.trigger();
|
|
267
|
+
case 12:
|
|
268
|
+
// merge response
|
|
269
|
+
this.response.merge_chunk_response(ch.response);
|
|
270
|
+
case 13:
|
|
271
|
+
_context2.next = 7;
|
|
272
|
+
break;
|
|
273
|
+
case 15:
|
|
274
|
+
_context2.next = 20;
|
|
275
|
+
break;
|
|
276
|
+
case 17:
|
|
277
|
+
_context2.prev = 17;
|
|
278
|
+
_context2.t0 = _context2["catch"](5);
|
|
279
|
+
_iterator3.e(_context2.t0);
|
|
280
|
+
case 20:
|
|
281
|
+
_context2.prev = 20;
|
|
282
|
+
_iterator3.f();
|
|
283
|
+
return _context2.finish(20);
|
|
284
|
+
case 23:
|
|
285
|
+
_context2.next = 26;
|
|
286
|
+
break;
|
|
287
|
+
case 25:
|
|
288
|
+
// if no records. i.e. invalid_records.length and pending_records.length both are 0
|
|
289
|
+
// then add empty success response
|
|
290
|
+
if (this.__invalid_records.length === 0) {
|
|
291
|
+
this.response.merge_chunk_response(_bulk_response["default"].empty_chunk_success_response());
|
|
292
|
+
}
|
|
293
|
+
case 26:
|
|
294
|
+
return _context2.abrupt("return", this.response);
|
|
295
|
+
case 27:
|
|
296
|
+
case "end":
|
|
297
|
+
return _context2.stop();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}, _callee2, this, [[5, 17, 20, 23]]);
|
|
301
|
+
}));
|
|
302
|
+
function save() {
|
|
303
|
+
return _save.apply(this, arguments);
|
|
304
|
+
}
|
|
305
|
+
return save;
|
|
306
|
+
}()
|
|
307
|
+
}]);
|
|
308
|
+
return BulkUsersEdit;
|
|
309
|
+
}();
|
|
310
|
+
var _default = BulkUsersEdit;
|
|
311
|
+
exports["default"] = _default;
|
|
312
|
+
module.exports = exports.default;
|
package/dist/workflow.js
CHANGED
|
@@ -71,8 +71,8 @@ var Workflow = /*#__PURE__*/function () {
|
|
|
71
71
|
}
|
|
72
72
|
this.body = (0, _utils.validate_workflow_body_schema)(this.body);
|
|
73
73
|
var apparent_size = (0, _utils.get_apparent_workflow_body_size)(this.body, is_part_of_bulk); // review
|
|
74
|
-
if (apparent_size > _constants.
|
|
75
|
-
throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not cross ").concat(_constants.
|
|
74
|
+
if (apparent_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
75
|
+
throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not cross ").concat(_constants.BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
76
76
|
}
|
|
77
77
|
return [this.body, apparent_size];
|
|
78
78
|
}
|
package/dist/workflow_request.js
CHANGED
|
@@ -66,8 +66,8 @@ var WorkflowTriggerRequest = /*#__PURE__*/function () {
|
|
|
66
66
|
}
|
|
67
67
|
this.body = (0, _utils.validate_workflow_trigger_body_schema)(this.body);
|
|
68
68
|
var apparent_size = (0, _utils.get_apparent_workflow_body_size)(this.body, is_part_of_bulk);
|
|
69
|
-
if (apparent_size > _constants.
|
|
70
|
-
throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not exceed ").concat(_constants.
|
|
69
|
+
if (apparent_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
70
|
+
throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not exceed ").concat(_constants.BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
71
71
|
}
|
|
72
72
|
return [this.body, apparent_size];
|
|
73
73
|
}
|
|
@@ -61,8 +61,8 @@ var _BulkWorkflowTriggerChunk = /*#__PURE__*/function () {
|
|
|
61
61
|
if (this._check_limit_reached()) {
|
|
62
62
|
return false;
|
|
63
63
|
}
|
|
64
|
-
if (body_size > _constants.
|
|
65
|
-
throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not exceed ").concat(_constants.
|
|
64
|
+
if (body_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
65
|
+
throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not exceed ").concat(_constants.BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
66
66
|
}
|
|
67
67
|
if (this.__running_size + body_size > _BulkWorkflowTriggerChunk._chunk_apparent_size_in_bytes) {
|
|
68
68
|
return false;
|
package/dist/workflows_bulk.js
CHANGED
|
@@ -94,8 +94,8 @@ var _BulkWorkflowsChunk = /*#__PURE__*/function () {
|
|
|
94
94
|
if (this.__check_limit_reached()) {
|
|
95
95
|
return false;
|
|
96
96
|
}
|
|
97
|
-
if (body_size > _constants.
|
|
98
|
-
throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not cross ").concat(_constants.
|
|
97
|
+
if (body_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
98
|
+
throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not cross ").concat(_constants.BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
|
|
99
99
|
}
|
|
100
100
|
if (this.__running_size + body_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
101
101
|
return false;
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// Default urls
|
|
2
2
|
export const DEFAULT_URL = "https://hub.suprsend.com/";
|
|
3
3
|
|
|
4
|
-
// an Event should not have apparent body size of more than 100KB
|
|
5
|
-
export const SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 100 * 1024; // 100 * 1024
|
|
6
|
-
export const SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "100KB";
|
|
7
|
-
|
|
8
4
|
// a API call should not have apparent body size of more than 800KB
|
|
9
5
|
export const BODY_MAX_APPARENT_SIZE_IN_BYTES = 800 * 1024; // 800 * 1024
|
|
10
6
|
export const BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "800KB";
|
package/src/event.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
2
|
is_string,
|
|
3
|
-
SuprsendError,
|
|
4
3
|
has_special_char,
|
|
5
4
|
uuid,
|
|
6
5
|
epoch_milliseconds,
|
|
@@ -12,8 +11,8 @@ import get_request_signature from "./signature";
|
|
|
12
11
|
import axios from "axios";
|
|
13
12
|
import get_attachment_json from "./attachment";
|
|
14
13
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
BODY_MAX_APPARENT_SIZE_IN_BYTES,
|
|
15
|
+
BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE,
|
|
17
16
|
} from "./constants";
|
|
18
17
|
|
|
19
18
|
const RESERVED_EVENT_NAMES = [
|
|
@@ -137,9 +136,9 @@ export default class Event {
|
|
|
137
136
|
}
|
|
138
137
|
event_dict = validate_track_event_schema(event_dict);
|
|
139
138
|
const apparent_size = get_apparent_event_size(event_dict, is_part_of_bulk);
|
|
140
|
-
if (apparent_size >
|
|
139
|
+
if (apparent_size > BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
141
140
|
throw new InputValueError(
|
|
142
|
-
`Event size too big - ${apparent_size} Bytes,must not cross ${
|
|
141
|
+
`Event size too big - ${apparent_size} Bytes,must not cross ${BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE}`
|
|
143
142
|
);
|
|
144
143
|
}
|
|
145
144
|
return [event_dict, apparent_size];
|
package/src/events_bulk.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES,
|
|
3
|
-
SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE,
|
|
4
2
|
ALLOW_ATTACHMENTS_IN_BULK_API,
|
|
5
3
|
BODY_MAX_APPARENT_SIZE_IN_BYTES,
|
|
6
4
|
BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE,
|
|
@@ -9,7 +7,7 @@ import {
|
|
|
9
7
|
import get_request_signature from "./signature";
|
|
10
8
|
import BulkResponse from "./bulk_response";
|
|
11
9
|
import Event from "./event";
|
|
12
|
-
import { InputValueError,
|
|
10
|
+
import { InputValueError, invalid_record_json } from "./utils";
|
|
13
11
|
import { cloneDeep } from "lodash";
|
|
14
12
|
import axios from "axios";
|
|
15
13
|
|
|
@@ -78,9 +76,9 @@ class _BulkEventsChunk {
|
|
|
78
76
|
if (this.__check_limit_reached()) {
|
|
79
77
|
return false;
|
|
80
78
|
}
|
|
81
|
-
if (event_size >
|
|
79
|
+
if (event_size > BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
|
82
80
|
throw new InputValueError(
|
|
83
|
-
`Event properties too big - ${event_size} Bytes, must not cross ${
|
|
81
|
+
`Event properties too big - ${event_size} Bytes, must not cross ${BODY_MAX_APPARENT_SIZE_IN_BYTES_READABLE}`
|
|
84
82
|
);
|
|
85
83
|
}
|
|
86
84
|
if (this.__running_size + event_size > BODY_MAX_APPARENT_SIZE_IN_BYTES) {
|
package/src/index.js
CHANGED
|
@@ -11,8 +11,12 @@ import BulkSubscribersFactory from "./subscribers_bulk";
|
|
|
11
11
|
import { SubscriberListsApi, SubscriberListBroadcast } from "./subscriber_list";
|
|
12
12
|
import BrandsApi from "./brands";
|
|
13
13
|
import TenantsApi from "./tenant";
|
|
14
|
-
import ObjectsApi from "./
|
|
14
|
+
import ObjectsApi from "./objects_api";
|
|
15
15
|
import { DEFAULT_URL } from "./constants";
|
|
16
|
+
import UsersApi from "./users_api";
|
|
17
|
+
import ObjectEdit from "./object_edit";
|
|
18
|
+
import UserEdit from "./user_edit";
|
|
19
|
+
import BulkUsersEdit from "./users_edit_bulk";
|
|
16
20
|
|
|
17
21
|
const package_json = require("../package.json");
|
|
18
22
|
|
|
@@ -40,6 +44,7 @@ class Suprsend {
|
|
|
40
44
|
this.tenants = new TenantsApi(this);
|
|
41
45
|
this.workflows = new WorkflowsApi(this);
|
|
42
46
|
this.objects = new ObjectsApi(this);
|
|
47
|
+
this.users = new UsersApi(this);
|
|
43
48
|
|
|
44
49
|
this.subscriber_lists = new SubscriberListsApi(this);
|
|
45
50
|
|
|
@@ -142,4 +147,7 @@ export {
|
|
|
142
147
|
Workflow,
|
|
143
148
|
SubscriberListBroadcast,
|
|
144
149
|
WorkflowTriggerRequest,
|
|
150
|
+
ObjectEdit,
|
|
151
|
+
UserEdit,
|
|
152
|
+
BulkUsersEdit,
|
|
145
153
|
};
|