@or-sdk/contacts 3.5.5 → 3.5.6
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/CHANGELOG.md +9 -0
- package/dist/cjs/Contacts.js +14 -0
- package/dist/cjs/Contacts.js.map +1 -1
- package/dist/cjs/api/baseWithPolingApi.js +106 -0
- package/dist/cjs/api/baseWithPolingApi.js.map +1 -0
- package/dist/cjs/api/batchProcessApi.js +30 -0
- package/dist/cjs/api/batchProcessApi.js.map +1 -1
- package/dist/cjs/api/bulkContactsCreateApi.js +233 -0
- package/dist/cjs/api/bulkContactsCreateApi.js.map +1 -0
- package/dist/cjs/api/contactApi.js +6 -40
- package/dist/cjs/api/contactApi.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/Contacts.js +14 -0
- package/dist/esm/Contacts.js.map +1 -1
- package/dist/esm/api/baseWithPolingApi.js +47 -0
- package/dist/esm/api/baseWithPolingApi.js.map +1 -0
- package/dist/esm/api/batchProcessApi.js +25 -1
- package/dist/esm/api/batchProcessApi.js.map +1 -1
- package/dist/esm/api/bulkContactsCreateApi.js +118 -0
- package/dist/esm/api/bulkContactsCreateApi.js.map +1 -0
- package/dist/esm/api/contactApi.js +4 -30
- package/dist/esm/api/contactApi.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/types/Contacts.d.ts +4 -0
- package/dist/types/Contacts.d.ts.map +1 -1
- package/dist/types/api/baseWithPolingApi.d.ts +11 -0
- package/dist/types/api/baseWithPolingApi.d.ts.map +1 -0
- package/dist/types/api/batchProcessApi.d.ts +3 -0
- package/dist/types/api/batchProcessApi.d.ts.map +1 -1
- package/dist/types/api/bulkContactsCreateApi.d.ts +17 -0
- package/dist/types/api/bulkContactsCreateApi.d.ts.map +1 -0
- package/dist/types/api/contactApi.d.ts +3 -4
- package/dist/types/api/contactApi.d.ts.map +1 -1
- package/dist/types/types.d.ts +10 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/Contacts.ts +17 -0
- package/src/api/baseWithPolingApi.ts +51 -0
- package/src/api/batchProcessApi.ts +25 -1
- package/src/api/bulkContactsCreateApi.ts +167 -0
- package/src/api/contactApi.ts +5 -40
- package/src/types.ts +16 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { BaseApi } from './baseApi';
|
|
11
|
+
import { BatchProcessStatus } from '@onereach/types-contacts-api';
|
|
12
|
+
import { debouncePromise } from '../utils';
|
|
13
|
+
import { FAILED_REQUEST_REPEATS } from '../constants';
|
|
14
|
+
import { CreateContactsBatchError } from '../apiError';
|
|
15
|
+
export default class BaseWithPoling extends BaseApi {
|
|
16
|
+
constructor(apiCall, batchProcessApi) {
|
|
17
|
+
super(apiCall);
|
|
18
|
+
this.apiCall = apiCall;
|
|
19
|
+
this.batchProcessApi = batchProcessApi;
|
|
20
|
+
}
|
|
21
|
+
polling(batchId, repeats = 0) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
let batchProcess;
|
|
24
|
+
try {
|
|
25
|
+
batchProcess = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
if (repeats < FAILED_REQUEST_REPEATS
|
|
29
|
+
&& 'statusCode' in e
|
|
30
|
+
&& e.statusCode === 410) {
|
|
31
|
+
return yield debouncePromise(() => this.polling(batchId, repeats + 1), 2000);
|
|
32
|
+
}
|
|
33
|
+
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
34
|
+
return this.polling(batchId, repeats + 1);
|
|
35
|
+
}
|
|
36
|
+
throw new CreateContactsBatchError(e.message, batchId);
|
|
37
|
+
}
|
|
38
|
+
if (batchProcess.status === BatchProcessStatus.failed) {
|
|
39
|
+
throw new CreateContactsBatchError('Could not complete batch process', batchId, batchProcess.messages);
|
|
40
|
+
}
|
|
41
|
+
return batchProcess.status === BatchProcessStatus.pending
|
|
42
|
+
? this.polling(batchId)
|
|
43
|
+
: batchProcess;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=baseWithPolingApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseWithPolingApi.js","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAA2B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAY,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,YACqB,OAAgD,EACzD,eAAgC;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHI,YAAO,GAAP,OAAO,CAAyC;QACzD,oBAAe,GAAf,eAAe,CAAiB;IAG5C,CAAC;IAKe,OAAO,CAAC,OAAe,EAAE,OAAO,GAAG,CAAC;;YAClD,IAAI,YAAqC,CAAC;YAE1C,IAAI;gBACF,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;aACjG;YAAC,OAAO,CAAC,EAAE;gBACV,IACE,OAAO,GAAG,sBAAsB;uBAC7B,YAAY,IAAK,CAAY;uBAC5B,CAAyB,CAAC,UAAU,KAAK,GAAG,EAChD;oBACA,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC9E;gBACD,IAAI,OAAO,GAAG,sBAAsB,EAAE;oBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;iBAC3C;gBACD,MAAM,IAAI,wBAAwB,CAAE,CAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC9E;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;gBACrD,MAAM,IAAI,wBAAwB,CAChC,kCAAkC,EAClC,OAAO,EACP,YAAY,CAAC,QAAQ,CACtB,CAAC;aACH;YAED,OAAO,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO;gBACvD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvB,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC;KAAA;CACF"}
|
|
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { BaseApi } from './baseApi';
|
|
11
|
-
import { BatchProcessStatus } from '@onereach/types-contacts-api';
|
|
11
|
+
import { BatchProcessStatus, } from '@onereach/types-contacts-api';
|
|
12
12
|
export default class BatchProcessApi extends BaseApi {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
@@ -35,5 +35,29 @@ export default class BatchProcessApi extends BaseApi {
|
|
|
35
35
|
return result;
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
+
getBatchProcessesGroup(groupId) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
return this.apiCall({
|
|
41
|
+
method: 'GET',
|
|
42
|
+
route: `${this.apiBasePath}/group/${groupId}`,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
indicesOn() {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return this.apiCall({
|
|
49
|
+
method: 'POST',
|
|
50
|
+
route: `${this.apiBasePath}/indices-on`,
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
indicesOff() {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return this.apiCall({
|
|
57
|
+
method: 'POST',
|
|
58
|
+
route: `${this.apiBasePath}/indices-off`,
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
38
62
|
}
|
|
39
63
|
//# sourceMappingURL=batchProcessApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAApD;;QACmB,gBAAW,GAAG,eAAe,CAAC;IA4DjD,CAAC;IA1DC,eAAe,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAOK,iBAAiB,CAAC,EAAU;;YAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,MAAM,GAA8B;gBACtC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE;gBACtD,MAAM,mCACD,MAAM,KACT,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC;aACH;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;gBACrD,MAAM,mCACD,MAAM,KACT,MAAM,EAAE,YAAY,CAAC,QAAQ,EAC7B,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC;aACH;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,sBAAsB,CAAC,OAAe;;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,UAAU,OAAO,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,aAAa;aACxC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU;;YACd,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,cAAc;aACzC,CAAC,CAAC;QACL,CAAC;KAAA;CAEF"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
+
var t = {};
|
|
12
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
+
t[p] = s[p];
|
|
14
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
+
t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
21
|
+
import BaseWithPoling from './baseWithPolingApi';
|
|
22
|
+
import { REQUEST_PAYLOAD_MAX_BYTES } from '../constants';
|
|
23
|
+
import { chunkArrByMaxSize, debouncePromise, getObjectSizeInBytes } from '../utils';
|
|
24
|
+
import { v4 } from 'uuid';
|
|
25
|
+
export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
26
|
+
constructor(apiCall, batchProcessApi) {
|
|
27
|
+
super(apiCall, batchProcessApi);
|
|
28
|
+
this.apiCall = apiCall;
|
|
29
|
+
this.batchProcessApi = batchProcessApi;
|
|
30
|
+
this.apiBasePath = 'bulk-create';
|
|
31
|
+
}
|
|
32
|
+
bulkCreateContacts(data) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
35
|
+
yield this.batchProcessApi.indicesOff();
|
|
36
|
+
let results = {
|
|
37
|
+
created: {},
|
|
38
|
+
failed: {},
|
|
39
|
+
};
|
|
40
|
+
try {
|
|
41
|
+
const { contacts } = dataWithContactKeys, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
42
|
+
const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
|
|
43
|
+
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
44
|
+
const batchGroupId = v4();
|
|
45
|
+
if (contactsChunks.length === 1) {
|
|
46
|
+
yield this.createContactsInSingleBatch(dataWithContactKeys, batchGroupId);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
yield this.createContactsInMultiBatches(contactsChunks, rest, batchGroupId);
|
|
50
|
+
}
|
|
51
|
+
results = yield this.getBulkCreateResults(batchGroupId);
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
yield this.batchProcessApi.indicesOn();
|
|
55
|
+
}
|
|
56
|
+
return results;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
updateContactsWithContactKeys(data) {
|
|
60
|
+
const dataWithContactKeys = Object.assign(Object.assign({}, data), { contacts: data.contacts.map((c, idx) => {
|
|
61
|
+
if (c.contactKey !== undefined) {
|
|
62
|
+
return c;
|
|
63
|
+
}
|
|
64
|
+
return Object.assign(Object.assign({}, c), { contactKey: `${idx}` });
|
|
65
|
+
}) });
|
|
66
|
+
this.checkContactKeysDuplications(dataWithContactKeys.contacts);
|
|
67
|
+
return dataWithContactKeys;
|
|
68
|
+
}
|
|
69
|
+
checkContactKeysDuplications(contacts) {
|
|
70
|
+
contacts.map(({ contactKey }) => contactKey).forEach((key, index, array) => {
|
|
71
|
+
if (index !== array.lastIndexOf(key)) {
|
|
72
|
+
throw new Error(`The ${key} contactKey is assigned to more than 1 contact...`);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
getBulkCreateResults(batchGroupId) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const batchProcessesGroup = yield this.batchProcessApi.getBatchProcessesGroup(batchGroupId);
|
|
79
|
+
return batchProcessesGroup.reduce((acc, batch) => {
|
|
80
|
+
const createdContacts = batch.results.reduce((acc, result) => (Object.assign(Object.assign({}, acc), JSON.parse(result))), {});
|
|
81
|
+
const failedContacts = batch.messages.reduce((acc, message) => (Object.assign(Object.assign({}, acc), JSON.parse(message))), {});
|
|
82
|
+
return {
|
|
83
|
+
created: Object.assign(Object.assign({}, acc.created), createdContacts),
|
|
84
|
+
failed: Object.assign(Object.assign({}, acc.failed), failedContacts),
|
|
85
|
+
};
|
|
86
|
+
}, {
|
|
87
|
+
created: {},
|
|
88
|
+
failed: {},
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
createContactsInSingleBatch(data, batchGroupId) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const batchId = v4();
|
|
95
|
+
this.apiCall({
|
|
96
|
+
method: 'POST',
|
|
97
|
+
route: `${this.apiBasePath}/bulk`,
|
|
98
|
+
data: Object.assign(Object.assign({}, data), { batchId,
|
|
99
|
+
batchGroupId }),
|
|
100
|
+
});
|
|
101
|
+
yield debouncePromise(() => this.polling(batchId), 3000);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
createContactsInMultiBatches(contactsChunks, data, batchGroupId) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const batchPromises = contactsChunks
|
|
107
|
+
.map((chunkContacts) => () => __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
return this.createContactsInSingleBatch(Object.assign({ contacts: chunkContacts }, data), batchGroupId);
|
|
109
|
+
}));
|
|
110
|
+
const promisesBatchSize = 4;
|
|
111
|
+
for (let i = 0; i < batchPromises.length; i += promisesBatchSize) {
|
|
112
|
+
const batch = batchPromises.slice(i, i + promisesBatchSize);
|
|
113
|
+
yield Promise.all(batch.map((p) => p()));
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=bulkContactsCreateApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,14 +19,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
21
|
import { v4 } from 'uuid';
|
|
22
|
-
import { BatchProcessStatus, } from '@onereach/types-contacts-api';
|
|
23
|
-
import { BaseApi } from './baseApi';
|
|
24
22
|
import { getObjectSizeInBytes, chunkArrByMaxSize, debouncePromise } from '../utils';
|
|
25
|
-
import { REQUEST_PAYLOAD_MAX_BYTES,
|
|
23
|
+
import { REQUEST_PAYLOAD_MAX_BYTES, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
|
|
26
24
|
import { ApiError, CreateContactsBatchError } from '../apiError';
|
|
27
|
-
|
|
25
|
+
import BaseWithPoling from './baseWithPolingApi';
|
|
26
|
+
export default class ContactApi extends BaseWithPoling {
|
|
28
27
|
constructor(apiCall, batchProcessApi, bookServiceApi) {
|
|
29
|
-
super(apiCall);
|
|
28
|
+
super(apiCall, batchProcessApi);
|
|
30
29
|
this.apiCall = apiCall;
|
|
31
30
|
this.batchProcessApi = batchProcessApi;
|
|
32
31
|
this.bookServiceApi = bookServiceApi;
|
|
@@ -240,30 +239,5 @@ export default class ContactApi extends BaseApi {
|
|
|
240
239
|
};
|
|
241
240
|
});
|
|
242
241
|
}
|
|
243
|
-
polling(batchId, repeats = 0) {
|
|
244
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
245
|
-
let batchProcess;
|
|
246
|
-
try {
|
|
247
|
-
batchProcess = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
|
|
248
|
-
}
|
|
249
|
-
catch (e) {
|
|
250
|
-
if (repeats < FAILED_REQUEST_REPEATS
|
|
251
|
-
&& 'statusCode' in e
|
|
252
|
-
&& e.statusCode === 410) {
|
|
253
|
-
return yield debouncePromise(() => this.polling(batchId, repeats + 1), 2000);
|
|
254
|
-
}
|
|
255
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
256
|
-
return this.polling(batchId, repeats + 1);
|
|
257
|
-
}
|
|
258
|
-
throw new CreateContactsBatchError(e.message, batchId);
|
|
259
|
-
}
|
|
260
|
-
if (batchProcess.status === BatchProcessStatus.failed) {
|
|
261
|
-
throw new CreateContactsBatchError('Could not complete batch process', batchId, batchProcess.messages);
|
|
262
|
-
}
|
|
263
|
-
return batchProcess.status === BatchProcessStatus.pending
|
|
264
|
-
? this.polling(batchId)
|
|
265
|
-
: batchProcess;
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
242
|
}
|
|
269
243
|
//# sourceMappingURL=contactApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAYA,cAAc,8BAA8B,CAAC;AAK7C,OAAO,EAAE,cAAc,EAAmC,MAAM,cAAc,CAAC"}
|
package/dist/types/Contacts.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { AxiosError, Base } from '@or-sdk/base';
|
|
|
2
2
|
import { ContactsConfig } from './types';
|
|
3
3
|
import { ContactBookApi, MigrationsApi, ContactApi, FieldSchemaApi, SchemaPresetApi, FilterApi, SharedBookContactPermissionApi, FieldValueApi } from './api';
|
|
4
4
|
import BatchProcessApi from './api/batchProcessApi';
|
|
5
|
+
import BulkContactsCreateApi from './api/bulkContactsCreateApi';
|
|
5
6
|
export declare class Contacts extends Base {
|
|
6
7
|
readonly batchProcessApi: BatchProcessApi;
|
|
7
8
|
readonly contactBookApi: ContactBookApi;
|
|
@@ -12,7 +13,10 @@ export declare class Contacts extends Base {
|
|
|
12
13
|
readonly filterApi: FilterApi;
|
|
13
14
|
readonly sharedBookContactPermissionApi: SharedBookContactPermissionApi;
|
|
14
15
|
readonly fieldValueApi: FieldValueApi;
|
|
16
|
+
readonly bulkCreateApi: BulkContactsCreateApi;
|
|
17
|
+
private withApiErrorLog;
|
|
15
18
|
constructor(params: ContactsConfig);
|
|
16
19
|
parseError(e: AxiosError): Error;
|
|
20
|
+
private logApiError;
|
|
17
21
|
}
|
|
18
22
|
//# sourceMappingURL=Contacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.d.ts","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,8BAA8B,EAC9B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf,OAAO,eAAe,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Contacts.d.ts","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,8BAA8B,EAC9B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAShE,qBAAa,QAAS,SAAQ,IAAI;IAChC,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,8BAA8B,EAAE,8BAA8B,CAAC;IAC/E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,OAAO,CAAC,eAAe,CAAU;gBAQrB,MAAM,EAAE,cAAc;IAyBlC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK;IAahC,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CalApiParams } from '@or-sdk/base';
|
|
2
|
+
import { BaseApi } from './baseApi';
|
|
3
|
+
import BatchProcessApi from './batchProcessApi';
|
|
4
|
+
import { BatchProcessResponseDto } from '@onereach/types-contacts-api';
|
|
5
|
+
export default class BaseWithPoling extends BaseApi {
|
|
6
|
+
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
|
|
7
|
+
protected batchProcessApi: BatchProcessApi;
|
|
8
|
+
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
|
|
9
|
+
protected polling(batchId: string, repeats?: number): Promise<BatchProcessResponseDto>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=baseWithPolingApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseWithPolingApi.d.ts","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAsB,MAAM,8BAA8B,CAAC;AAK3F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAE/C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;gBADvB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe;cAQ5B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC;CA+BxF"}
|
|
@@ -5,5 +5,8 @@ export default class BatchProcessApi extends BaseApi {
|
|
|
5
5
|
private readonly apiBasePath;
|
|
6
6
|
getBatchProcess(id: string): Promise<BatchProcessResponseDto>;
|
|
7
7
|
trackBatchProcess(id: string): Promise<TrackBatchProcessResponse>;
|
|
8
|
+
getBatchProcessesGroup(groupId: string): Promise<BatchProcessResponseDto[]>;
|
|
9
|
+
indicesOn(): Promise<void>;
|
|
10
|
+
indicesOff(): Promise<void>;
|
|
8
11
|
}
|
|
9
12
|
//# sourceMappingURL=batchProcessApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchProcessApi.d.ts","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"batchProcessApi.d.ts","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAE/C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYvD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAyBjE,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAO3E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CalApiParams } from '@or-sdk/base';
|
|
2
|
+
import BaseWithPoling from './baseWithPolingApi';
|
|
3
|
+
import BatchProcessApi from './batchProcessApi';
|
|
4
|
+
import { BulkCreateData, CreateBulkResults } from '../types';
|
|
5
|
+
export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
6
|
+
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
|
|
7
|
+
protected batchProcessApi: BatchProcessApi;
|
|
8
|
+
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
|
|
9
|
+
private readonly apiBasePath;
|
|
10
|
+
bulkCreateContacts(data: BulkCreateData): Promise<CreateBulkResults>;
|
|
11
|
+
private updateContactsWithContactKeys;
|
|
12
|
+
private checkContactKeysDuplications;
|
|
13
|
+
private getBulkCreateResults;
|
|
14
|
+
private createContactsInSingleBatch;
|
|
15
|
+
private createContactsInMultiBatches;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=bulkContactsCreateApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.d.ts","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAAuB,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAE7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;gBADvB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe;IAK5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IA4BvC,kBAAkB,CACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA4B7B,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,4BAA4B;YAQtB,oBAAoB;YA2BpB,2BAA2B;YAkB3B,4BAA4B;CAmB3C"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ContactParamsDto, ContactResponseDto, CreateContactDto, CreateMultipleContactsDto, DeleteContactParamsDto, FindAllParamsDto, LinkContactMultiParamsDto, LinkContactParamsDto, MergeContactParamsDto, UnlinkContactMultiParamsDto, UnlinkContactParamsDto, UpdateContactDto } from '@onereach/types-contacts-api';
|
|
2
2
|
import { CalApiParams, List } from '@or-sdk/base';
|
|
3
|
-
import { BaseApi } from './baseApi';
|
|
4
3
|
import BatchProcessApi from './batchProcessApi';
|
|
5
4
|
import { InitCreateBatchResponse } from '../types';
|
|
6
5
|
import ContactBookApi from './contactBookApi';
|
|
7
6
|
import { DeleteContactsData } from '../types';
|
|
8
|
-
|
|
7
|
+
import BaseWithPoling from './baseWithPolingApi';
|
|
8
|
+
export default class ContactApi extends BaseWithPoling {
|
|
9
9
|
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
|
|
10
|
-
|
|
10
|
+
protected batchProcessApi: BatchProcessApi;
|
|
11
11
|
private bookServiceApi;
|
|
12
12
|
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi, bookServiceApi: ContactBookApi);
|
|
13
13
|
private readonly apiBasePath;
|
|
@@ -34,6 +34,5 @@ export default class ContactApi extends BaseApi {
|
|
|
34
34
|
private runSingleDeleteContactsBulk;
|
|
35
35
|
private createContactsInMultiBatches;
|
|
36
36
|
private createContactsInSingleBatch;
|
|
37
|
-
private polling;
|
|
38
37
|
}
|
|
39
38
|
//# sourceMappingURL=contactApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EAEzB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAA8B,MAAM,UAAU,CAAC;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,cAAc;IAElD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,OAAO,CAAC,cAAc;gBAFH,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe,EAClC,cAAc,EAAE,cAAc;IAKxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAOzC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY7E,WAAW,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAa3E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa9E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3E,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,UAAQ;;;;;IA6BzE,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkB5D,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlE,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0BxF,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAanF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtE,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,kBAAkB;YAwBlB,2BAA2B;YAsB3B,4BAA4B;YA6B5B,2BAA2B;CAkB1C"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Token } from '@or-sdk/base';
|
|
2
|
-
import { BatchProcessStatus, ContactBookParamsDto, CreateFieldSchemaDto, DeleteContactMultiParamsDto, ListApiParams, OrderParams } from '@onereach/types-contacts-api';
|
|
2
|
+
import { BatchProcessStatus, BulkContactDto, BulkCreateRequestDto, ContactBookParamsDto, CreateFieldSchemaDto, DeleteContactMultiParamsDto, ListApiParams, OrderParams } from '@onereach/types-contacts-api';
|
|
3
3
|
import { OrderOptions, PaginationOptions } from '@or-sdk/base';
|
|
4
4
|
export * from '@onereach/types-contacts-api';
|
|
5
5
|
declare type OptionalBy<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
@@ -10,6 +10,7 @@ export declare type ContactsConfig = {
|
|
|
10
10
|
contactsApiUrl?: string;
|
|
11
11
|
accountId?: string;
|
|
12
12
|
withKeepAliveAgents?: boolean;
|
|
13
|
+
withApiErrorLog?: boolean;
|
|
13
14
|
};
|
|
14
15
|
export interface ContactBookParams extends AdaptedListParams<ContactBookParamsDto> {
|
|
15
16
|
orderProperty?: 'label' | 'created_at' | 'updated_at';
|
|
@@ -35,4 +36,12 @@ export declare type TrackBatchProcessResponse = {
|
|
|
35
36
|
export declare type CreateFieldSchemaParams = CreateFieldSchemaDto & {
|
|
36
37
|
presetIds?: string[];
|
|
37
38
|
};
|
|
39
|
+
export declare type BulkCreateData = Omit<BulkCreateRequestDto, 'batchId' | 'batchGroupId' | 'contacts'> & {
|
|
40
|
+
contacts: OptionalBy<BulkContactDto, 'contactKey'>[];
|
|
41
|
+
};
|
|
42
|
+
export declare type BatchBulkCreateData = Omit<BulkCreateRequestDto, 'batchId' | 'batchGroupId'>;
|
|
43
|
+
export declare type CreateBulkResults = {
|
|
44
|
+
created: Record<string, string>;
|
|
45
|
+
failed: Record<string, string>;
|
|
46
|
+
};
|
|
38
47
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAE7C,aAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,oBAAY,cAAc,GAAG;IAI3B,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAE7C,aAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,oBAAY,cAAc,GAAG;IAI3B,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAM9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC;IAChF,aAAa,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;CACvD;AAED,oBAAY,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,IACjE,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,GAAG,YAAY,CAAC,CAAC;AAEjF,oBAAY,0BAA0B,GAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,kBAAkB,GAAG,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;CAAC,CAAC;AAEpG,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,oBAAY,uBAAuB,GAAG,oBAAoB,GAAG;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CAAC,CAAC;AAErF,oBAAY,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC,GAC9F;IAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;CAAE,CAAC;AAE5D,oBAAY,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;AAEzF,oBAAY,iBAAiB,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.5.
|
|
2
|
+
"version": "3.5.6",
|
|
3
3
|
"name": "@or-sdk/contacts",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"test:watch": "vitest --watch"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@onereach/types-contacts-api": "5.1
|
|
22
|
+
"@onereach/types-contacts-api": "5.3.1-beta.2487.0",
|
|
23
23
|
"@or-sdk/base": "^0.29.1",
|
|
24
24
|
"agentkeepalive": "^4.5.0",
|
|
25
25
|
"uuid": "^8.3.2"
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "7b0a01b61d68b6434c3e425d15249cc6401adb35"
|
|
40
40
|
}
|
package/src/Contacts.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
} from './api';
|
|
15
15
|
import { ApiError } from './apiError';
|
|
16
16
|
import BatchProcessApi from './api/batchProcessApi';
|
|
17
|
+
import BulkContactsCreateApi from './api/bulkContactsCreateApi';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* OneReach Contacts service client
|
|
@@ -32,6 +33,8 @@ export class Contacts extends Base {
|
|
|
32
33
|
public readonly filterApi: FilterApi;
|
|
33
34
|
public readonly sharedBookContactPermissionApi: SharedBookContactPermissionApi;
|
|
34
35
|
public readonly fieldValueApi: FieldValueApi;
|
|
36
|
+
public readonly bulkCreateApi: BulkContactsCreateApi;
|
|
37
|
+
private withApiErrorLog: boolean;
|
|
35
38
|
|
|
36
39
|
/**
|
|
37
40
|
* ```typescript
|
|
@@ -60,11 +63,16 @@ export class Contacts extends Base {
|
|
|
60
63
|
this.filterApi = new FilterApi(apiCall);
|
|
61
64
|
this.sharedBookContactPermissionApi = new SharedBookContactPermissionApi(apiCall);
|
|
62
65
|
this.fieldValueApi = new FieldValueApi(apiCall);
|
|
66
|
+
this.bulkCreateApi = new BulkContactsCreateApi(apiCall, this.batchProcessApi);
|
|
67
|
+
this.withApiErrorLog = Boolean(params.withApiErrorLog);
|
|
63
68
|
}
|
|
64
69
|
|
|
65
70
|
parseError(e: AxiosError): Error {
|
|
66
71
|
if (e.isAxiosError) {
|
|
67
72
|
const { code, message, stack } = e;
|
|
73
|
+
if (this.withApiErrorLog) {
|
|
74
|
+
this.logApiError(e);
|
|
75
|
+
}
|
|
68
76
|
return new ApiError(code, message, stack);
|
|
69
77
|
}
|
|
70
78
|
|
|
@@ -72,4 +80,13 @@ export class Contacts extends Base {
|
|
|
72
80
|
return parsedError;
|
|
73
81
|
}
|
|
74
82
|
|
|
83
|
+
private logApiError(e: AxiosError): void {
|
|
84
|
+
console.error(`protocol : ${e.request.protocol}`);
|
|
85
|
+
console.error(`host : ${e.request.host}`);
|
|
86
|
+
console.error(`path : ${e.request.path}`);
|
|
87
|
+
console.error(`method : ${e.request.method}`);
|
|
88
|
+
console.error(`status code : ${e.request.statusCode}`);
|
|
89
|
+
console.error(`status message: ${e.request.statusMessage}`);
|
|
90
|
+
}
|
|
91
|
+
|
|
75
92
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CalApiParams } from '@or-sdk/base';
|
|
2
|
+
import { BaseApi } from './baseApi';
|
|
3
|
+
import BatchProcessApi from './batchProcessApi';
|
|
4
|
+
import { BatchProcessResponseDto, BatchProcessStatus } from '@onereach/types-contacts-api';
|
|
5
|
+
import { debouncePromise } from '../utils';
|
|
6
|
+
import { FAILED_REQUEST_REPEATS } from '../constants';
|
|
7
|
+
import { ApiError, CreateContactsBatchError } from '../apiError';
|
|
8
|
+
|
|
9
|
+
export default class BaseWithPoling extends BaseApi {
|
|
10
|
+
constructor(
|
|
11
|
+
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>,
|
|
12
|
+
protected batchProcessApi: BatchProcessApi,
|
|
13
|
+
) {
|
|
14
|
+
super(apiCall);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Pols specific batch process until status of it isn't turned from 'pending to something else.
|
|
19
|
+
*/
|
|
20
|
+
protected async polling(batchId: string, repeats = 0): Promise<BatchProcessResponseDto> {
|
|
21
|
+
let batchProcess: BatchProcessResponseDto;
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
batchProcess = await debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
|
|
25
|
+
} catch (e) {
|
|
26
|
+
if (
|
|
27
|
+
repeats < FAILED_REQUEST_REPEATS
|
|
28
|
+
&& 'statusCode' in (e as object)
|
|
29
|
+
&& (e as unknown as ApiError).statusCode === 410
|
|
30
|
+
) {
|
|
31
|
+
return await debouncePromise(() => this.polling(batchId, repeats + 1), 2000);
|
|
32
|
+
}
|
|
33
|
+
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
34
|
+
return this.polling(batchId, repeats + 1);
|
|
35
|
+
}
|
|
36
|
+
throw new CreateContactsBatchError((e as unknown as Error).message, batchId);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (batchProcess.status === BatchProcessStatus.failed) {
|
|
40
|
+
throw new CreateContactsBatchError(
|
|
41
|
+
'Could not complete batch process',
|
|
42
|
+
batchId,
|
|
43
|
+
batchProcess.messages
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return batchProcess.status === BatchProcessStatus.pending
|
|
48
|
+
? this.polling(batchId)
|
|
49
|
+
: batchProcess;
|
|
50
|
+
}
|
|
51
|
+
}
|