@suprsend/node-sdk 1.12.0 → 1.13.1

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.
Files changed (44) hide show
  1. package/dist/constants.js +2 -8
  2. package/dist/event.js +2 -2
  3. package/dist/events_bulk.js +2 -2
  4. package/dist/index.js +21 -0
  5. package/dist/object_edit.js +6 -12
  6. package/dist/object_edit_internal_helper.js +40 -301
  7. package/dist/objects_api.js +193 -242
  8. package/dist/request_json/workflow.json +7 -29
  9. package/dist/request_json/workflow_trigger.json +7 -29
  10. package/dist/subscriber.js +10 -27
  11. package/dist/subscriber_helper.js +33 -291
  12. package/dist/subscriber_list.js +2 -2
  13. package/dist/user_edit.js +412 -0
  14. package/dist/user_edit_internal_helper.js +363 -0
  15. package/dist/users_api.js +400 -98
  16. package/dist/users_edit_bulk.js +312 -0
  17. package/dist/workflow.js +2 -2
  18. package/dist/workflow_request.js +2 -2
  19. package/dist/workflow_trigger_bulk.js +2 -2
  20. package/dist/workflows_bulk.js +2 -2
  21. package/package.json +1 -1
  22. package/src/constants.js +0 -4
  23. package/src/event.js +4 -5
  24. package/src/events_bulk.js +3 -5
  25. package/src/index.js +6 -0
  26. package/src/object_edit.js +6 -6
  27. package/src/object_edit_internal_helper.js +37 -295
  28. package/src/objects_api.js +97 -93
  29. package/src/request_json/workflow.json +7 -29
  30. package/src/request_json/workflow_trigger.json +7 -29
  31. package/src/subscriber.js +8 -20
  32. package/src/subscriber_helper.js +34 -284
  33. package/src/subscriber_list.js +4 -4
  34. package/src/user_edit.js +360 -0
  35. package/src/user_edit_internal_helper.js +297 -0
  36. package/src/users_api.js +208 -28
  37. package/src/users_edit_bulk.js +211 -0
  38. package/src/workflow.js +4 -5
  39. package/src/workflow_request.js +4 -4
  40. package/src/workflow_trigger_bulk.js +2 -4
  41. package/src/workflows_bulk.js +3 -5
  42. package/types/index.d.ts +113 -8
  43. package/dist/language_codes.js +0 -197
  44. package/src/language_codes.js +0 -188
@@ -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.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
75
- throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not cross ").concat(_constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
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
  }
@@ -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.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
70
- throw new _utils.InputValueError("workflow body too big - ".concat(apparent_size, " Bytes, must not exceed ").concat(_constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
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.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
65
- throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not exceed ").concat(_constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
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;
@@ -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.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
98
- throw new _utils.InputValueError("workflow body too big - ".concat(body_size, " Bytes, must not cross ").concat(_constants.SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suprsend/node-sdk",
3
- "version": "1.12.0",
3
+ "version": "1.13.1",
4
4
  "description": "Suprsend Node SDK to trigger workflow from backend",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
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
- SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES,
16
- SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE,
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 > SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
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 ${SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE}`
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];
@@ -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, SuprsendError, invalid_record_json } from "./utils";
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 > SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
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 ${SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE}`
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
@@ -14,6 +14,9 @@ import TenantsApi from "./tenant";
14
14
  import ObjectsApi from "./objects_api";
15
15
  import { DEFAULT_URL } from "./constants";
16
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";
17
20
 
18
21
  const package_json = require("../package.json");
19
22
 
@@ -144,4 +147,7 @@ export {
144
147
  Workflow,
145
148
  SubscriberListBroadcast,
146
149
  WorkflowTriggerRequest,
150
+ ObjectEdit,
151
+ UserEdit,
152
+ BulkUsersEdit,
147
153
  };
@@ -246,37 +246,37 @@ export default class ObjectEdit {
246
246
  this._collect_operation();
247
247
  }
248
248
 
249
- add_androidpush(push_token, provider = "fcm") {
249
+ add_androidpush(push_token, provider) {
250
250
  const caller = "add_androidpush";
251
251
  this._helper._add_androidpush(push_token, provider, caller);
252
252
  this._collect_operation();
253
253
  }
254
254
 
255
- remove_androidpush(push_token, provider = "fcm") {
255
+ remove_androidpush(push_token, provider) {
256
256
  const caller = "remove_androidpush";
257
257
  this._helper._remove_androidpush(push_token, provider, caller);
258
258
  this._collect_operation();
259
259
  }
260
260
 
261
- add_iospush(push_token, provider = "apns") {
261
+ add_iospush(push_token, provider) {
262
262
  const caller = "add_iospush";
263
263
  this._helper._add_iospush(push_token, provider, caller);
264
264
  this._collect_operation();
265
265
  }
266
266
 
267
- remove_iospush(push_token, provider = "apns") {
267
+ remove_iospush(push_token, provider) {
268
268
  const caller = "remove_iospush";
269
269
  this._helper._remove_iospush(push_token, provider, caller);
270
270
  this._collect_operation();
271
271
  }
272
272
 
273
- add_webpush(push_token, provider = "vapid") {
273
+ add_webpush(push_token, provider) {
274
274
  const caller = "add_webpush";
275
275
  this._helper._add_webpush(push_token, provider, caller);
276
276
  this._collect_operation();
277
277
  }
278
278
 
279
- remove_webpush(push_token, provider = "vapid") {
279
+ remove_webpush(push_token, provider) {
280
280
  const caller = "remove_webpush";
281
281
  this._helper._remove_webpush(push_token, provider, caller);
282
282
  this._collect_operation();