@coveo/push-api-client 1.6.9 → 2.1.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/README.md +2 -2
- package/dist/definitions/environment.d.ts +3 -3
- package/dist/definitions/errors/privilegeError.d.ts +6 -0
- package/dist/definitions/fieldAnalyser/fieldAnalyser.d.ts +2 -10
- package/dist/definitions/fieldAnalyser/{utils.d.ts → fieldUtils.d.ts} +0 -0
- package/dist/definitions/fieldAnalyser/{utils.spec.d.ts → fieldsUtils.spec.d.ts} +0 -0
- package/dist/definitions/fieldAnalyser/inconsistencies.d.ts +1 -1
- package/dist/definitions/fieldAnalyser/typeUtils.d.ts +3 -0
- package/dist/definitions/{source.spec.d.ts → fieldAnalyser/typeUtils.spec.d.ts} +0 -0
- package/dist/definitions/help/axiosUtils.d.ts +2 -0
- package/dist/definitions/help/fileConsumer.d.ts +26 -0
- package/dist/definitions/help/fileConsumer.spec.d.ts +1 -0
- package/dist/definitions/help/fileContainer.d.ts +9 -0
- package/dist/definitions/help/fileContainer.spec.d.ts +1 -0
- package/dist/definitions/help/urlUtils.d.ts +27 -0
- package/dist/definitions/index.d.ts +6 -2
- package/dist/definitions/interfaces.d.ts +39 -0
- package/dist/definitions/source/batchUploadDocumentsFromFile.d.ts +11 -0
- package/dist/definitions/source/catalog.d.ts +69 -0
- package/dist/definitions/source/catalog.spec.d.ts +1 -0
- package/dist/definitions/source/catalog.stream.spec.d.ts +1 -0
- package/dist/definitions/source/documentUploader.d.ts +5 -0
- package/dist/definitions/{source.d.ts → source/push.d.ts} +35 -77
- package/dist/definitions/source/push.spec.d.ts +1 -0
- package/dist/definitions/source/securityIdenty.d.ts +42 -0
- package/dist/definitions/source/source.d.ts +5 -0
- package/dist/definitions/uploadStrategy/fileContainerStrategy.d.ts +23 -0
- package/dist/definitions/uploadStrategy/index.d.ts +3 -0
- package/dist/definitions/uploadStrategy/strategy.d.ts +16 -0
- package/dist/definitions/uploadStrategy/streamChunkStrategy.d.ts +27 -0
- package/dist/definitions/validation/preconditions/apiKeyPrivilege.d.ts +3 -0
- package/dist/definitions/validation/preconditions/apiKeyPrivilege.spec.d.ts +1 -0
- package/dist/definitions/validation/preconditions/platformPrivilege.d.ts +7 -0
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/classes/AnySecurityIdentityBuilder.html +3 -3
- package/dist/docs/classes/DocumentBuilder.html +17 -17
- package/dist/docs/classes/FieldAnalyser.html +3 -3
- package/dist/docs/classes/GroupSecurityIdentityBuilder.html +3 -3
- package/dist/docs/classes/PushSource.html +43 -0
- package/dist/docs/classes/UserSecurityIdentityBuilder.html +3 -3
- package/dist/docs/classes/VirtualGroupSecurityIdentityBuilder.html +3 -3
- package/dist/docs/enums/PlatformEnvironment.html +1 -1
- package/dist/docs/enums/Region.html +1 -1
- package/dist/docs/enums/SourceVisibility.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs/interfaces/BatchUpdateDocuments.html +1 -1
- package/dist/docs/interfaces/Document.html +14 -14
- package/dist/docs/interfaces/SecurityIdentity.html +4 -4
- package/dist/docs/interfaces/SecurityIdentityBuilder.html +1 -1
- package/dist/docs/interfaces/UploadBatchCallbackData.html +1 -1
- package/dist/docs/modules.html +3 -2
- package/dist/environment.js.map +1 -1
- package/dist/errors/privilegeError.js +13 -0
- package/dist/errors/privilegeError.js.map +1 -0
- package/dist/fieldAnalyser/fieldAnalyser.js +24 -62
- package/dist/fieldAnalyser/fieldAnalyser.js.map +1 -1
- package/dist/fieldAnalyser/fieldAnalyser.spec.js +28 -22
- package/dist/fieldAnalyser/fieldAnalyser.spec.js.map +1 -1
- package/dist/fieldAnalyser/{utils.js → fieldUtils.js} +5 -1
- package/dist/fieldAnalyser/fieldUtils.js.map +1 -0
- package/dist/fieldAnalyser/{utils.spec.js → fieldsUtils.spec.js} +7 -4
- package/dist/fieldAnalyser/fieldsUtils.spec.js.map +1 -0
- package/dist/fieldAnalyser/inconsistencies.js.map +1 -1
- package/dist/fieldAnalyser/typeUtils.js +39 -0
- package/dist/fieldAnalyser/typeUtils.js.map +1 -0
- package/dist/fieldAnalyser/typeUtils.spec.js +48 -0
- package/dist/fieldAnalyser/typeUtils.spec.js.map +1 -0
- package/dist/help/axiosUtils.js +12 -0
- package/dist/help/axiosUtils.js.map +1 -0
- package/dist/help/fileConsumer.js +100 -0
- package/dist/help/fileConsumer.js.map +1 -0
- package/dist/help/fileConsumer.spec.js +75 -0
- package/dist/help/fileConsumer.spec.js.map +1 -0
- package/dist/help/fileContainer.js +20 -0
- package/dist/help/fileContainer.js.map +1 -0
- package/dist/help/fileContainer.spec.js +34 -0
- package/dist/help/fileContainer.spec.js.map +1 -0
- package/dist/help/urlUtils.js +43 -0
- package/dist/help/urlUtils.js.map +1 -0
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces.js +3 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/localtest.js +2 -2
- package/dist/localtest.js.map +1 -1
- package/dist/source/batchUploadDocumentsFromFile.js +50 -0
- package/dist/source/batchUploadDocumentsFromFile.js.map +1 -0
- package/dist/source/catalog.js +115 -0
- package/dist/source/catalog.js.map +1 -0
- package/dist/source/catalog.spec.js +239 -0
- package/dist/source/catalog.spec.js.map +1 -0
- package/dist/source/catalog.stream.spec.js +189 -0
- package/dist/source/catalog.stream.spec.js.map +1 -0
- package/dist/source/documentUploader.js +23 -0
- package/dist/source/documentUploader.js.map +1 -0
- package/dist/source/push.js +199 -0
- package/dist/source/push.js.map +1 -0
- package/dist/{source.spec.js → source/push.spec.js} +44 -27
- package/dist/source/push.spec.js.map +1 -0
- package/dist/source/securityIdenty.js +59 -0
- package/dist/source/securityIdenty.js.map +1 -0
- package/dist/source/source.js +9 -0
- package/dist/source/source.js.map +1 -0
- package/dist/uploadStrategy/fileContainerStrategy.js +34 -0
- package/dist/uploadStrategy/fileContainerStrategy.js.map +1 -0
- package/dist/uploadStrategy/index.js +7 -0
- package/dist/uploadStrategy/index.js.map +1 -0
- package/dist/uploadStrategy/strategy.js +3 -0
- package/dist/uploadStrategy/strategy.js.map +1 -0
- package/dist/uploadStrategy/streamChunkStrategy.js +51 -0
- package/dist/uploadStrategy/streamChunkStrategy.js.map +1 -0
- package/dist/validation/preconditions/apiKeyPrivilege.js +21 -0
- package/dist/validation/preconditions/apiKeyPrivilege.js.map +1 -0
- package/dist/validation/preconditions/apiKeyPrivilege.spec.js +70 -0
- package/dist/validation/preconditions/apiKeyPrivilege.spec.js.map +1 -0
- package/dist/validation/preconditions/platformPrivilege.js +35 -0
- package/dist/validation/preconditions/platformPrivilege.js.map +1 -0
- package/package.json +1 -1
- package/dist/docs/classes/Source.html +0 -45
- package/dist/docs/interfaces/BatchUpdateDocumentsFromFiles.html +0 -7
- package/dist/fieldAnalyser/utils.js.map +0 -1
- package/dist/fieldAnalyser/utils.spec.js.map +0 -1
- package/dist/source.js +0 -322
- package/dist/source.js.map +0 -1
- package/dist/source.spec.js.map +0 -1
package/dist/source.js
DELETED
@@ -1,322 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.Source = exports.SourceVisibility = void 0;
|
4
|
-
require('isomorphic-fetch');
|
5
|
-
require('abortcontroller-polyfill');
|
6
|
-
const platform_client_1 = require("@coveord/platform-client");
|
7
|
-
var platform_client_2 = require("@coveord/platform-client");
|
8
|
-
Object.defineProperty(exports, "SourceVisibility", { enumerable: true, get: function () { return platform_client_2.SourceVisibility; } });
|
9
|
-
const axios_1 = require("axios");
|
10
|
-
const dayjs = require("dayjs");
|
11
|
-
const url_1 = require("url");
|
12
|
-
const generator_1 = require("./help/generator");
|
13
|
-
const parseFile_1 = require("./validation/parseFile");
|
14
|
-
const path_1 = require("path");
|
15
|
-
const file_1 = require("./help/file");
|
16
|
-
const environment_1 = require("./environment");
|
17
|
-
const fieldAnalyser_1 = require("./fieldAnalyser/fieldAnalyser");
|
18
|
-
const fieldErrors_1 = require("./errors/fieldErrors");
|
19
|
-
const utils_1 = require("./fieldAnalyser/utils");
|
20
|
-
/**
|
21
|
-
* Manage a push source.
|
22
|
-
*
|
23
|
-
* Allows you to create a new push source, manage security identities and documents in a Coveo organization.
|
24
|
-
*/
|
25
|
-
class Source {
|
26
|
-
/**
|
27
|
-
*
|
28
|
-
* @param apikey An apiKey capable of pushing documents and managing sources in a Coveo organization. See [Manage API Keys](https://docs.coveo.com/en/1718).
|
29
|
-
* @param organizationid The Coveo Organization identifier.
|
30
|
-
*/
|
31
|
-
constructor(apikey, organizationid, options) {
|
32
|
-
this.apikey = apikey;
|
33
|
-
this.organizationid = organizationid;
|
34
|
-
this.options = Object.assign(Object.assign({}, Source.defaultOptions), options);
|
35
|
-
this.platformClient = new platform_client_1.PlatformClient({
|
36
|
-
accessToken: this.apikey,
|
37
|
-
environment: (0, environment_1.castEnvironmentToPlatformClient)(this.options.environment),
|
38
|
-
organizationId: this.organizationid,
|
39
|
-
region: this.options.region,
|
40
|
-
});
|
41
|
-
}
|
42
|
-
/**
|
43
|
-
* Create a new push source
|
44
|
-
* @param name The name of the source to create.
|
45
|
-
* @param sourceVisibility The security option that should be applied to the content of the source. See [Content Security](https://docs.coveo.com/en/1779).
|
46
|
-
* @returns
|
47
|
-
*/
|
48
|
-
create(name, sourceVisibility) {
|
49
|
-
return this.platformClient.source.create({
|
50
|
-
sourceType: platform_client_1.SourceType.PUSH,
|
51
|
-
pushEnabled: true,
|
52
|
-
name,
|
53
|
-
sourceVisibility,
|
54
|
-
});
|
55
|
-
}
|
56
|
-
/**
|
57
|
-
* Create or update a security identity. See [Adding a Single Security Identity](https://docs.coveo.com/en/167) and [Security Identity Models](https://docs.coveo.com/en/139).
|
58
|
-
* @param securityProviderId
|
59
|
-
* @param securityIdentity
|
60
|
-
* @returns
|
61
|
-
*/
|
62
|
-
createSecurityIdentity(securityProviderId, securityIdentity) {
|
63
|
-
return this.platformClient.pushApi.createOrUpdateSecurityIdentity(securityProviderId, securityIdentity);
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* Create or update a security identity alias. See [Adding a Single Alias](https://docs.coveo.com/en/142) and [User Alias Definition Examples](https://docs.coveo.com/en/46).
|
67
|
-
* @param securityProviderId
|
68
|
-
* @param securityIdentityAlias
|
69
|
-
* @returns
|
70
|
-
*/
|
71
|
-
createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias) {
|
72
|
-
return this.platformClient.pushApi.createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias);
|
73
|
-
}
|
74
|
-
/**
|
75
|
-
* Delete a security identity. See [Disabling a Single Security Identity](https://docs.coveo.com/en/84).
|
76
|
-
* @param securityProviderId
|
77
|
-
* @param securityIdentityToDelete
|
78
|
-
* @returns
|
79
|
-
*/
|
80
|
-
deleteSecurityIdentity(securityProviderId, securityIdentityToDelete) {
|
81
|
-
return this.platformClient.pushApi.deleteSecurityIdentity(securityProviderId, securityIdentityToDelete);
|
82
|
-
}
|
83
|
-
/**
|
84
|
-
* Delete old security identities. See [Disabling Old Security Identities](https://docs.coveo.com/en/33).
|
85
|
-
* @param securityProviderId
|
86
|
-
* @param batchDelete
|
87
|
-
* @returns
|
88
|
-
*/
|
89
|
-
deleteOldSecurityIdentities(securityProviderId, batchDelete) {
|
90
|
-
return this.platformClient.pushApi.deleteOldSecurityIdentities(securityProviderId, batchDelete);
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* Manage batches of security identities. See [Manage Batches of Security Identities](https://docs.coveo.com/en/55).
|
94
|
-
*/
|
95
|
-
manageSecurityIdentities(securityProviderId, batchConfig) {
|
96
|
-
return this.platformClient.pushApi.manageSecurityIdentities(securityProviderId, batchConfig);
|
97
|
-
}
|
98
|
-
/**
|
99
|
-
* Adds or updates an individual item in a push source. See [Adding a Single Item in a Push Source](https://docs.coveo.com/en/133).
|
100
|
-
* @param sourceID
|
101
|
-
* @param docBuilder
|
102
|
-
* @param {BatchUpdateDocumentsOptions} [{createFields = true}={}]
|
103
|
-
* @returns
|
104
|
-
*/
|
105
|
-
async addOrUpdateDocument(sourceID, docBuilder, { createFields: createFields = true } = {}) {
|
106
|
-
if (createFields) {
|
107
|
-
const analyser = new fieldAnalyser_1.FieldAnalyser(this.platformClient);
|
108
|
-
await analyser.add([docBuilder]);
|
109
|
-
await this.createFields(analyser);
|
110
|
-
}
|
111
|
-
const doc = docBuilder.build();
|
112
|
-
const addURL = new url_1.URL(this.getBaseAPIURLForDocuments(sourceID));
|
113
|
-
addURL.searchParams.append('documentId', doc.uri);
|
114
|
-
return axios_1.default.put(addURL.toString(), docBuilder.marshal(), this.documentsAxiosConfig);
|
115
|
-
}
|
116
|
-
/**
|
117
|
-
* Manage batches of items in a push source. See [Manage Batches of Items in a Push Source](https://docs.coveo.com/en/90)
|
118
|
-
* @param sourceID
|
119
|
-
* @param batch
|
120
|
-
* @returns
|
121
|
-
*/
|
122
|
-
async batchUpdateDocuments(sourceID, batch, { createFields: createFields = true } = {}) {
|
123
|
-
if (createFields) {
|
124
|
-
const analyser = new fieldAnalyser_1.FieldAnalyser(this.platformClient);
|
125
|
-
await analyser.add(batch.addOrUpdate);
|
126
|
-
await this.createFields(analyser);
|
127
|
-
}
|
128
|
-
const fileContainer = await this.createFileContainer();
|
129
|
-
await this.uploadContentToFileContainer(fileContainer, batch);
|
130
|
-
return this.pushFileContainerContent(sourceID, fileContainer);
|
131
|
-
}
|
132
|
-
/**
|
133
|
-
*
|
134
|
-
* Manage batches of items in a push source from a list of JSON files. See [Manage Batches of Items in a Push Source](https://docs.coveo.com/en/90)
|
135
|
-
* @param {string} sourceID The unique identifier of the target Push source
|
136
|
-
* @param {string[]} filesOrDirectories A list of JSON files or directories (containing JSON files) from which to extract documents.
|
137
|
-
* @param {UploadBatchCallback} callback Callback executed when a batch of documents is either successfully uploaded or when an error occurs during the upload
|
138
|
-
* @param {BatchUpdateDocumentsFromFiles} options
|
139
|
-
*/
|
140
|
-
async batchUpdateDocumentsFromFiles(sourceID, filesOrDirectories, callback, options) {
|
141
|
-
const defaultOptions = {
|
142
|
-
maxConcurrent: 10,
|
143
|
-
createFields: true,
|
144
|
-
};
|
145
|
-
const { maxConcurrent, createFields: createFields } = Object.assign(Object.assign({}, defaultOptions), options);
|
146
|
-
const files = (0, file_1.getAllJsonFilesFromEntries)(filesOrDirectories);
|
147
|
-
if (createFields) {
|
148
|
-
const analyser = new fieldAnalyser_1.FieldAnalyser(this.platformClient);
|
149
|
-
for (const filePath of files.values()) {
|
150
|
-
const docBuilders = (0, parseFile_1.parseAndGetDocumentBuilderFromJSONDocument)(filePath);
|
151
|
-
await analyser.add(docBuilders);
|
152
|
-
}
|
153
|
-
await this.createFields(analyser);
|
154
|
-
}
|
155
|
-
const fileNames = files.map((path) => (0, path_1.basename)(path));
|
156
|
-
const { chunksToUpload, close } = this.splitByChunkAndUpload(sourceID, fileNames, callback);
|
157
|
-
if (createFields) {
|
158
|
-
const analyser = new fieldAnalyser_1.FieldAnalyser(this.platformClient);
|
159
|
-
for (const filePath of files.values()) {
|
160
|
-
const docBuilders = (0, parseFile_1.parseAndGetDocumentBuilderFromJSONDocument)(filePath);
|
161
|
-
await analyser.add(docBuilders);
|
162
|
-
}
|
163
|
-
await this.createFields(analyser);
|
164
|
-
}
|
165
|
-
// parallelize uploads within the same file
|
166
|
-
const docBuilderGenerator = function* (docBuilders) {
|
167
|
-
for (const upload of chunksToUpload(docBuilders)) {
|
168
|
-
yield upload();
|
169
|
-
}
|
170
|
-
};
|
171
|
-
// parallelize uploads across multiple files
|
172
|
-
const fileGenerator = function* () {
|
173
|
-
for (const filePath of files.values()) {
|
174
|
-
const docBuilders = (0, parseFile_1.parseAndGetDocumentBuilderFromJSONDocument)(filePath);
|
175
|
-
yield* docBuilderGenerator(docBuilders);
|
176
|
-
}
|
177
|
-
};
|
178
|
-
await (0, generator_1.consumeGenerator)(fileGenerator.bind(this), maxConcurrent);
|
179
|
-
await close();
|
180
|
-
}
|
181
|
-
/**
|
182
|
-
* Deletes a specific item from a Push source. Optionally, the child items of that item can also be deleted. See [Deleting an Item in a Push Source](https://docs.coveo.com/en/171).
|
183
|
-
* @param sourceID
|
184
|
-
* @param documentId
|
185
|
-
* @param deleteChildren
|
186
|
-
* @returns
|
187
|
-
*/
|
188
|
-
deleteDocument(sourceID, documentId, deleteChildren = false) {
|
189
|
-
const deleteURL = new url_1.URL(this.getBaseAPIURLForDocuments(sourceID));
|
190
|
-
deleteURL.searchParams.append('documentId', documentId);
|
191
|
-
deleteURL.searchParams.append('deleteChildren', `${deleteChildren}`);
|
192
|
-
return axios_1.default.delete(deleteURL.toString(), this.documentsAxiosConfig);
|
193
|
-
}
|
194
|
-
/**
|
195
|
-
* Deletes all items whose last update was made by a Push API operation whose orderingId is strictly lower than a specified value. See [Deleting Old Items in a Push Source](https://docs.coveo.com/en/131).
|
196
|
-
* @param sourceID
|
197
|
-
* @param olderThan
|
198
|
-
* @returns
|
199
|
-
*/
|
200
|
-
deleteDocumentsOlderThan(sourceID, olderThan) {
|
201
|
-
const date = dayjs(olderThan);
|
202
|
-
const deleteURL = new url_1.URL(`${this.getBaseAPIURLForDocuments(sourceID)}/olderthan`);
|
203
|
-
deleteURL.searchParams.append('orderingId', `${date.valueOf()}`);
|
204
|
-
return axios_1.default.delete(deleteURL.toString(), this.documentsAxiosConfig);
|
205
|
-
}
|
206
|
-
/**
|
207
|
-
* Set the status of a push source. See [Updating the Status of a Push Source](https://docs.coveo.com/en/35/)
|
208
|
-
* @param sourceID
|
209
|
-
* @param status
|
210
|
-
* @returns
|
211
|
-
*/
|
212
|
-
setSourceStatus(sourceID, status) {
|
213
|
-
const urlStatus = new url_1.URL(`${this.baseAPIURL}/sources/${sourceID}/status`);
|
214
|
-
urlStatus.searchParams.append('statusType', status);
|
215
|
-
return axios_1.default.post(urlStatus.toString(), {}, this.documentsAxiosConfig);
|
216
|
-
}
|
217
|
-
get baseAPIURL() {
|
218
|
-
return `${(0, environment_1.platformUrl)(this.options)}/${this.organizationid}`;
|
219
|
-
}
|
220
|
-
getBaseAPIURLForDocuments(sourceID) {
|
221
|
-
return `${this.baseAPIURL}/sources/${sourceID}/documents`;
|
222
|
-
}
|
223
|
-
get documentsAxiosConfig() {
|
224
|
-
return {
|
225
|
-
headers: this.documentsRequestHeaders,
|
226
|
-
};
|
227
|
-
}
|
228
|
-
async createFields(analyser) {
|
229
|
-
const { fields, inconsistencies } = analyser.report();
|
230
|
-
if (inconsistencies.size > 0) {
|
231
|
-
throw new fieldErrors_1.FieldTypeInconsistencyError(inconsistencies);
|
232
|
-
}
|
233
|
-
await (0, utils_1.createFields)(this.platformClient, fields);
|
234
|
-
}
|
235
|
-
getFileContainerAxiosConfig(fileContainer) {
|
236
|
-
return {
|
237
|
-
headers: fileContainer.requiredHeaders,
|
238
|
-
};
|
239
|
-
}
|
240
|
-
get documentsRequestHeaders() {
|
241
|
-
return Object.assign(Object.assign({}, this.authorizationHeader), { 'Content-Type': 'application/json', Accept: 'application/json' });
|
242
|
-
}
|
243
|
-
get authorizationHeader() {
|
244
|
-
return {
|
245
|
-
Authorization: `Bearer ${this.apikey}`,
|
246
|
-
};
|
247
|
-
}
|
248
|
-
async createFileContainer() {
|
249
|
-
const fileContainerURL = new url_1.URL(`${this.baseAPIURL}/files`);
|
250
|
-
const res = await axios_1.default.post(fileContainerURL.toString(), {}, this.documentsAxiosConfig);
|
251
|
-
return res.data;
|
252
|
-
}
|
253
|
-
async uploadContentToFileContainer(fileContainer, batch) {
|
254
|
-
const uploadURL = new url_1.URL(fileContainer.uploadUri);
|
255
|
-
return await axios_1.default.put(uploadURL.toString(), {
|
256
|
-
addOrUpdate: batch.addOrUpdate.map((docBuilder) => docBuilder.marshal()),
|
257
|
-
delete: batch.delete,
|
258
|
-
}, this.getFileContainerAxiosConfig(fileContainer));
|
259
|
-
}
|
260
|
-
pushFileContainerContent(sourceID, fileContainer) {
|
261
|
-
const pushURL = new url_1.URL(`${this.getBaseAPIURLForDocuments(sourceID)}/batch`);
|
262
|
-
pushURL.searchParams.append('fileId', fileContainer.fileId);
|
263
|
-
return axios_1.default.put(pushURL.toString(), {}, this.documentsAxiosConfig);
|
264
|
-
}
|
265
|
-
splitByChunkAndUpload(sourceID, fileNames, callback, accumulator = this.accumulator) {
|
266
|
-
const chunksToUpload = (documentBuilders) => {
|
267
|
-
const batchesToUpload = [];
|
268
|
-
for (const docBuilder of documentBuilders) {
|
269
|
-
const sizeOfDoc = Buffer.byteLength(JSON.stringify(docBuilder.marshal()));
|
270
|
-
if (accumulator.size + sizeOfDoc >= Source.maxContentLength) {
|
271
|
-
const chunks = accumulator.chunks;
|
272
|
-
if (chunks.length > 0) {
|
273
|
-
batchesToUpload.push(() => this.uploadBatch(sourceID, chunks, fileNames, callback));
|
274
|
-
}
|
275
|
-
accumulator.chunks = [docBuilder];
|
276
|
-
accumulator.size = sizeOfDoc;
|
277
|
-
}
|
278
|
-
else {
|
279
|
-
accumulator.size += sizeOfDoc;
|
280
|
-
accumulator.chunks.push(docBuilder);
|
281
|
-
}
|
282
|
-
}
|
283
|
-
return batchesToUpload;
|
284
|
-
};
|
285
|
-
const close = async () => {
|
286
|
-
await this.uploadBatch(sourceID, accumulator.chunks, fileNames, callback);
|
287
|
-
};
|
288
|
-
return { chunksToUpload, close };
|
289
|
-
}
|
290
|
-
async uploadBatch(sourceID, batch, fileNames, callback) {
|
291
|
-
try {
|
292
|
-
const res = await this.batchUpdateDocuments(sourceID, {
|
293
|
-
addOrUpdate: batch,
|
294
|
-
delete: [],
|
295
|
-
}, { createFields: false });
|
296
|
-
callback(null, {
|
297
|
-
files: fileNames,
|
298
|
-
batch,
|
299
|
-
res,
|
300
|
-
});
|
301
|
-
}
|
302
|
-
catch (e) {
|
303
|
-
callback(e, {
|
304
|
-
files: fileNames,
|
305
|
-
batch,
|
306
|
-
});
|
307
|
-
}
|
308
|
-
}
|
309
|
-
get accumulator() {
|
310
|
-
return {
|
311
|
-
size: 0,
|
312
|
-
chunks: [],
|
313
|
-
};
|
314
|
-
}
|
315
|
-
}
|
316
|
-
exports.Source = Source;
|
317
|
-
Source.defaultOptions = {
|
318
|
-
region: environment_1.DEFAULT_REGION,
|
319
|
-
environment: environment_1.DEFAULT_ENVIRONMENT,
|
320
|
-
};
|
321
|
-
Source.maxContentLength = 5 * 1024 * 1024;
|
322
|
-
//# sourceMappingURL=source.js.map
|
package/dist/source.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
|
package/dist/source.spec.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"source.spec.js","sourceRoot":"","sources":["../src/source.spec.ts"],"names":[],"mappings":"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"}
|