@coveo/push-api-client 1.7.0 → 2.0.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.
Files changed (54) hide show
  1. package/dist/definitions/environment.d.ts +3 -3
  2. package/dist/definitions/help/fileConsumer.d.ts +26 -0
  3. package/dist/definitions/{source.spec.d.ts → help/fileConsumer.spec.d.ts} +0 -0
  4. package/dist/definitions/index.d.ts +6 -2
  5. package/dist/definitions/interfaces.d.ts +36 -0
  6. package/dist/definitions/source/batchUpdateDocumentsFromFile.d.ts +10 -0
  7. package/dist/definitions/{source.d.ts → source/push.d.ts} +34 -69
  8. package/dist/definitions/source/push.spec.d.ts +1 -0
  9. package/dist/definitions/source/securityIdenty.d.ts +42 -0
  10. package/dist/definitions/source/source.d.ts +5 -0
  11. package/dist/docs/assets/search.js +1 -1
  12. package/dist/docs/classes/AnySecurityIdentityBuilder.html +3 -3
  13. package/dist/docs/classes/DocumentBuilder.html +17 -17
  14. package/dist/docs/classes/FieldAnalyser.html +3 -3
  15. package/dist/docs/classes/GroupSecurityIdentityBuilder.html +3 -3
  16. package/dist/docs/classes/PushSource.html +43 -0
  17. package/dist/docs/classes/UserSecurityIdentityBuilder.html +3 -3
  18. package/dist/docs/classes/VirtualGroupSecurityIdentityBuilder.html +3 -3
  19. package/dist/docs/enums/PlatformEnvironment.html +1 -1
  20. package/dist/docs/enums/Region.html +1 -1
  21. package/dist/docs/enums/SourceVisibility.html +1 -1
  22. package/dist/docs/index.html +1 -1
  23. package/dist/docs/interfaces/BatchUpdateDocuments.html +1 -1
  24. package/dist/docs/interfaces/Document.html +14 -14
  25. package/dist/docs/interfaces/SecurityIdentity.html +4 -4
  26. package/dist/docs/interfaces/SecurityIdentityBuilder.html +1 -1
  27. package/dist/docs/interfaces/UploadBatchCallbackData.html +1 -1
  28. package/dist/docs/modules.html +3 -2
  29. package/dist/environment.js.map +1 -1
  30. package/dist/help/fileConsumer.js +100 -0
  31. package/dist/help/fileConsumer.js.map +1 -0
  32. package/dist/help/fileConsumer.spec.js +75 -0
  33. package/dist/help/fileConsumer.spec.js.map +1 -0
  34. package/dist/index.js +6 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/interfaces.js +3 -0
  37. package/dist/interfaces.js.map +1 -0
  38. package/dist/localtest.js +2 -2
  39. package/dist/localtest.js.map +1 -1
  40. package/dist/source/batchUpdateDocumentsFromFile.js +42 -0
  41. package/dist/source/batchUpdateDocumentsFromFile.js.map +1 -0
  42. package/dist/{source.js → source/push.js} +42 -127
  43. package/dist/source/push.js.map +1 -0
  44. package/dist/{source.spec.js → source/push.spec.js} +41 -27
  45. package/dist/source/push.spec.js.map +1 -0
  46. package/dist/source/securityIdenty.js +59 -0
  47. package/dist/source/securityIdenty.js.map +1 -0
  48. package/dist/source/source.js +9 -0
  49. package/dist/source/source.js.map +1 -0
  50. package/package.json +1 -1
  51. package/dist/docs/classes/Source.html +0 -45
  52. package/dist/docs/interfaces/BatchUpdateDocumentsFromFiles.html +0 -7
  53. package/dist/source.js.map +0 -1
  54. package/dist/source.spec.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Source = exports.SourceVisibility = void 0;
3
+ exports.PushSource = exports.SourceVisibility = void 0;
4
4
  require('isomorphic-fetch');
5
5
  require('abortcontroller-polyfill');
6
6
  const platform_client_1 = require("@coveord/platform-client");
@@ -9,20 +9,18 @@ Object.defineProperty(exports, "SourceVisibility", { enumerable: true, get: func
9
9
  const axios_1 = require("axios");
10
10
  const dayjs = require("dayjs");
11
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 fieldUtils_1 = require("./fieldAnalyser/fieldUtils");
12
+ const environment_1 = require("../environment");
13
+ const fieldAnalyser_1 = require("../fieldAnalyser/fieldAnalyser");
14
+ const fieldErrors_1 = require("../errors/fieldErrors");
15
+ const fieldUtils_1 = require("../fieldAnalyser/fieldUtils");
16
+ const securityIdenty_1 = require("./securityIdenty");
17
+ const batchUpdateDocumentsFromFile_1 = require("./batchUpdateDocumentsFromFile");
20
18
  /**
21
19
  * Manage a push source.
22
20
  *
23
21
  * Allows you to create a new push source, manage security identities and documents in a Coveo organization.
24
22
  */
25
- class Source {
23
+ class PushSource {
26
24
  /**
27
25
  *
28
26
  * @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).
@@ -31,7 +29,7 @@ class Source {
31
29
  constructor(apikey, organizationid, options) {
32
30
  this.apikey = apikey;
33
31
  this.organizationid = organizationid;
34
- this.options = Object.assign(Object.assign({}, Source.defaultOptions), options);
32
+ this.options = Object.assign(Object.assign({}, PushSource.defaultOptions), options);
35
33
  this.platformClient = new platform_client_1.PlatformClient({
36
34
  accessToken: this.apikey,
37
35
  environment: (0, environment_1.castEnvironmentToPlatformClient)(this.options.environment),
@@ -54,46 +52,47 @@ class Source {
54
52
  });
55
53
  }
56
54
  /**
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
55
+ * @deprecated use `identity.createSecurityIdentity`
56
+ *
57
+ * See {@link Source.identity}
61
58
  */
62
59
  createSecurityIdentity(securityProviderId, securityIdentity) {
63
- return this.platformClient.pushApi.createOrUpdateSecurityIdentity(securityProviderId, securityIdentity);
60
+ return this.identity.createSecurityIdentity(securityProviderId, securityIdentity);
64
61
  }
65
62
  /**
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
63
+ * @deprecated use `identity.createOrUpdateSecurityIdentityAlias`
64
+ *
65
+ * See {@link Source.identity}
70
66
  */
71
67
  createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias) {
72
- return this.platformClient.pushApi.createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias);
68
+ return this.identity.createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias);
73
69
  }
74
70
  /**
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
71
+ * @deprecated use `identity.deleteSecurityIdentity`
72
+ *
73
+ * See {@link Source.identity}
79
74
  */
80
75
  deleteSecurityIdentity(securityProviderId, securityIdentityToDelete) {
81
- return this.platformClient.pushApi.deleteSecurityIdentity(securityProviderId, securityIdentityToDelete);
76
+ return this.identity.deleteSecurityIdentity(securityProviderId, securityIdentityToDelete);
82
77
  }
83
78
  /**
84
- * Delete old security identities. See [Disabling Old Security Identities](https://docs.coveo.com/en/33).
85
- * @param securityProviderId
86
- * @param batchDelete
87
- * @returns
79
+ * @deprecated use `identity.deleteOldSecurityIdentities`
80
+ *
81
+ * See {@link Source.identity}
88
82
  */
89
83
  deleteOldSecurityIdentities(securityProviderId, batchDelete) {
90
- return this.platformClient.pushApi.deleteOldSecurityIdentities(securityProviderId, batchDelete);
84
+ return this.identity.deleteOldSecurityIdentities(securityProviderId, batchDelete);
91
85
  }
92
86
  /**
93
- * Manage batches of security identities. See [Manage Batches of Security Identities](https://docs.coveo.com/en/55).
87
+ * @deprecated use `identity.manageSecurityIdentities`
88
+ *
89
+ * See {@link Source.identity}
94
90
  */
95
91
  manageSecurityIdentities(securityProviderId, batchConfig) {
96
- return this.platformClient.pushApi.manageSecurityIdentities(securityProviderId, batchConfig);
92
+ return this.identity.manageSecurityIdentities(securityProviderId, batchConfig);
93
+ }
94
+ get identity() {
95
+ return new securityIdenty_1.SecurityIdentity(this.platformClient);
97
96
  }
98
97
  /**
99
98
  * 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).
@@ -137,46 +136,8 @@ class Source {
137
136
  * @param {UploadBatchCallback} callback Callback executed when a batch of documents is either successfully uploaded or when an error occurs during the upload
138
137
  * @param {BatchUpdateDocumentsFromFiles} options
139
138
  */
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();
139
+ batchUpdateDocumentsFromFiles(sourceID, filesOrDirectories, options) {
140
+ return new batchUpdateDocumentsFromFile_1.BatchUpdateDocumentsFromFilesReturn(this, sourceID, filesOrDirectories, options);
180
141
  }
181
142
  /**
182
143
  * 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).
@@ -214,6 +175,11 @@ class Source {
214
175
  urlStatus.searchParams.append('statusType', status);
215
176
  return axios_1.default.post(urlStatus.toString(), {}, this.documentsAxiosConfig);
216
177
  }
178
+ async uploadBatch(sourceID, batch) {
179
+ const fileContainer = await this.createFileContainer();
180
+ await this.uploadContentToFileContainer(fileContainer, batch);
181
+ return this.pushFileContainerContent(sourceID, fileContainer);
182
+ }
217
183
  get baseAPIURL() {
218
184
  return `${(0, environment_1.platformUrl)(this.options)}/${this.organizationid}`;
219
185
  }
@@ -262,61 +228,10 @@ class Source {
262
228
  pushURL.searchParams.append('fileId', fileContainer.fileId);
263
229
  return axios_1.default.put(pushURL.toString(), {}, this.documentsAxiosConfig);
264
230
  }
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
231
  }
316
- exports.Source = Source;
317
- Source.defaultOptions = {
232
+ exports.PushSource = PushSource;
233
+ PushSource.defaultOptions = {
318
234
  region: environment_1.DEFAULT_REGION,
319
235
  environment: environment_1.DEFAULT_ENVIRONMENT,
320
236
  };
321
- Source.maxContentLength = 5 * 1024 * 1024;
322
- //# sourceMappingURL=source.js.map
237
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/source/push.ts"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5B,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAEpC,8DASkC;AAClC,4DAA0D;AAAlD,mHAAA,gBAAgB,OAAA;AACxB,iCAAgD;AAEhD,+BAAgC;AAChC,6BAAwB;AACxB,gDAMwB;AACxB,kEAA6D;AAC7D,uDAAkE;AAClE,4DAAyD;AACzD,qDAAkD;AAMlD,iFAAmF;AAUnF;;;;GAIG;AACH,MAAa,UAAU;IAOrB;;;;OAIG;IACH,YACU,MAAc,EACd,cAAsB,EAC9B,OAA4B;QAFpB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAQ;QAG9B,IAAI,CAAC,OAAO,mCAAO,UAAU,CAAC,cAAc,GAAK,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,WAAW,EAAE,IAAA,6CAA+B,EAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACtE,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,IAAY,EAAE,gBAAkC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,UAAU,EAAE,4BAAU,CAAC,IAAI;YAC3B,WAAW,EAAE,IAAI;YACjB,IAAI;YACJ,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,sBAAsB,CAC3B,kBAA0B,EAC1B,gBAAuC;QAEvC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CACzC,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,mCAAmC,CACxC,kBAA0B,EAC1B,qBAAiD;QAEjD,OAAO,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CACtD,kBAAkB,EAClB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,sBAAsB,CAC3B,kBAA0B,EAC1B,wBAAgD;QAEhD,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CACzC,kBAAkB,EAClB,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,2BAA2B,CAChC,kBAA0B,EAC1B,WAA0C;QAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAC9C,kBAAkB,EAClB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,wBAAwB,CAC7B,kBAA0B,EAC1B,WAAwC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAC3C,kBAAkB,EAClB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,iCAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,QAAgB,EAChB,UAA2B,EAC3B,EAAC,YAAY,EAAE,YAAY,GAAG,IAAI,KAAiC,EAAE;QAErE,IAAI,YAAY,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACnC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,eAAK,CAAC,GAAG,CACd,MAAM,CAAC,QAAQ,EAAE,EACjB,UAAU,CAAC,OAAO,EAAE,EACpB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,oBAAoB,CAC/B,QAAgB,EAChB,KAA2B,EAC3B,EAAC,YAAY,EAAE,YAAY,GAAG,IAAI,KAAiC,EAAE;QAErE,IAAI,YAAY,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACnC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACI,6BAA6B,CAClC,QAAgB,EAChB,kBAA4B,EAC5B,OAAuC;QAEvC,OAAO,IAAI,kEAAmC,CAC5C,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,QAAgB,EAChB,UAAkB,EAClB,cAAc,GAAG,KAAK;QAEtB,MAAM,SAAS,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACxD,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;QACrE,OAAO,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAC7B,QAAgB,EAChB,SAAiC;QAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,SAAG,CACvB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,CACxD,CAAC;QACF,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,QAAgB,EAAE,MAAoB;QAC3D,MAAM,SAAS,GAAG,IAAI,SAAG,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,QAAQ,SAAS,CAAC,CAAC;QAC3E,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,KAA2B;QACpE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/D,CAAC;IAEO,yBAAyB,CAAC,QAAgB;QAChD,OAAO,GAAG,IAAI,CAAC,UAAU,YAAY,QAAQ,YAAY,CAAC;IAC5D,CAAC;IAED,IAAY,oBAAoB;QAC9B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,uBAAuB;SACtC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAuB;QAC/C,MAAM,EAAC,MAAM,EAAE,eAAe,EAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEpD,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,yCAA2B,CAAC,eAAe,CAAC,CAAC;SACxD;QACD,MAAM,IAAA,yBAAY,EAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,2BAA2B,CACjC,aAAoC;QAEpC,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,eAAe;SACvC,CAAC;IACJ,CAAC;IAED,IAAY,uBAAuB;QACjC,uCACK,IAAI,CAAC,mBAAmB,KAC3B,cAAc,EAAE,kBAAkB,EAClC,MAAM,EAAE,kBAAkB,IAC1B;IACJ,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO;YACL,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;SACvC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,SAAG,CAAC,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,OAAO,GAAG,CAAC,IAA6B,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,aAAoC,EACpC,KAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,SAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,MAAM,eAAK,CAAC,GAAG,CACpB,SAAS,CAAC,QAAQ,EAAE,EACpB;YACE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChD,UAAU,CAAC,OAAO,EAAE,CACrB;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EACD,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAChD,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,QAAgB,EAChB,aAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,SAAG,CACrB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CACpD,CAAC;QACF,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;;AAtUH,gCAuUC;AApUgB,yBAAc,GAAiC;IAC5D,MAAM,EAAE,4BAAc;IACtB,WAAW,EAAE,iCAAmB;CACjC,CAAC"}
@@ -3,23 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /* eslint-disable node/no-unpublished-import */
4
4
  jest.mock('@coveord/platform-client');
5
5
  jest.mock('axios');
6
- jest.mock('./fieldAnalyser/fieldAnalyser');
6
+ jest.mock('../fieldAnalyser/fieldAnalyser');
7
7
  const platform_client_1 = require("@coveord/platform-client");
8
- const source_1 = require("./source");
9
- const documentBuilder_1 = require("./documentBuilder");
8
+ const push_1 = require("./push");
9
+ const documentBuilder_1 = require("../documentBuilder");
10
10
  const axios_1 = require("axios");
11
11
  const path_1 = require("path");
12
12
  const process_1 = require("process");
13
- const _1 = require(".");
14
- const inconsistencies_1 = require("./fieldAnalyser/inconsistencies");
15
- const fieldErrors_1 = require("./errors/fieldErrors");
13
+ const __1 = require("..");
14
+ const inconsistencies_1 = require("../fieldAnalyser/inconsistencies");
15
+ const fieldErrors_1 = require("../errors/fieldErrors");
16
16
  const mockAxios = axios_1.default;
17
- const mockedFieldAnalyser = jest.mocked(_1.FieldAnalyser);
17
+ const mockedFieldAnalyser = jest.mocked(__1.FieldAnalyser);
18
18
  const mockedPlatformClient = jest.mocked(platform_client_1.default);
19
19
  const mockCreateSource = jest.fn();
20
20
  const mockCreateField = jest.fn();
21
21
  const mockAnalyserAdd = jest.fn();
22
22
  const mockAnalyserReport = jest.fn();
23
+ const mockedSuccessCallback = jest.fn();
24
+ const mockedErrorCallback = jest.fn();
23
25
  const pathToStub = (0, path_1.join)((0, process_1.cwd)(), 'src', '__stub__');
24
26
  const doAxiosMockPost = () => {
25
27
  mockAxios.post.mockImplementationOnce((url) => {
@@ -51,14 +53,14 @@ const doMockFieldAnalyser = () => {
51
53
  report: mockAnalyserReport,
52
54
  }));
53
55
  };
54
- describe('Source', () => {
56
+ describe('PushSource', () => {
55
57
  let source;
56
58
  beforeAll(() => {
57
59
  doMockPlatformClient();
58
60
  doMockFieldAnalyser();
59
61
  });
60
62
  beforeEach(() => {
61
- source = new source_1.Source('the_key', 'the_org');
63
+ source = new push_1.PushSource('the_key', 'the_org');
62
64
  });
63
65
  const expectedDocumentsHeaders = {
64
66
  headers: {
@@ -81,22 +83,22 @@ describe('Source', () => {
81
83
  expect(mockAxios.put).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
82
84
  });
83
85
  it('should call axios on add document with right region', async () => {
84
- const australianSource = new source_1.Source('the_key', 'the_org', {
85
- region: _1.Region.AU,
86
+ const australianSource = new push_1.PushSource('the_key', 'the_org', {
87
+ region: __1.Region.AU,
86
88
  });
87
89
  await australianSource.addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
88
90
  expect(mockAxios.put).toHaveBeenCalledWith('https://api-au.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
89
91
  });
90
92
  it('should call axios on add document with right environment', async () => {
91
- await new source_1.Source('the_key', 'the_org', {
92
- environment: _1.PlatformEnvironment.Dev,
93
+ await new push_1.PushSource('the_key', 'the_org', {
94
+ environment: __1.PlatformEnvironment.Dev,
93
95
  }).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
94
96
  expect(mockAxios.put).toHaveBeenCalledWith('https://apidev.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
95
97
  });
96
98
  it('should call axios on add document with right region and environment', async () => {
97
- await new source_1.Source('the_key', 'the_org', {
98
- environment: _1.PlatformEnvironment.QA,
99
- region: _1.Region.EU,
99
+ await new push_1.PushSource('the_key', 'the_org', {
100
+ environment: __1.PlatformEnvironment.QA,
101
+ region: __1.Region.EU,
100
102
  }).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
101
103
  expect(mockAxios.put).toHaveBeenCalledWith('https://apiqa-eu.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
102
104
  });
@@ -171,7 +173,6 @@ describe('Source', () => {
171
173
  });
172
174
  });
173
175
  describe('when doing batch update from local files', () => {
174
- const mockedCallback = jest.fn();
175
176
  afterAll(() => {
176
177
  mockAxios.post.mockReset();
177
178
  });
@@ -179,7 +180,9 @@ describe('Source', () => {
179
180
  doAxiosMockPost();
180
181
  });
181
182
  it('should upload documents from local file', async () => {
182
- await source.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], mockedCallback, { createFields: false });
183
+ await source
184
+ .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
185
+ .batch();
183
186
  expect(mockAxios.put).toHaveBeenCalledWith('https://fake.upload.url/', expect.objectContaining({
184
187
  addOrUpdate: expect.arrayContaining([
185
188
  expect.objectContaining({
@@ -197,21 +200,32 @@ describe('Source', () => {
197
200
  });
198
201
  });
199
202
  it('should throw an error if the path is invalid', () => {
200
- expect(() => source.batchUpdateDocumentsFromFiles('the_id', ['path/to/invalid/document'], mockedCallback, { createFields: false })).rejects.toThrow("no such file or directory, lstat 'path/to/invalid/document'");
203
+ expect(() => source
204
+ .batchUpdateDocumentsFromFiles('the_id', ['path/to/invalid/document'], { createFields: false })
205
+ .batch()).rejects.toThrow("no such file or directory, lstat 'path/to/invalid/document'");
201
206
  });
202
207
  it('should call the callback without error when uploading documents', async () => {
203
- await source.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], mockedCallback, { createFields: false });
204
- expect(mockedCallback).toHaveBeenCalledWith(null, expect.anything());
208
+ await source
209
+ .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
210
+ .onBatchError(mockedErrorCallback)
211
+ .batch();
212
+ expect(mockedErrorCallback).not.toHaveBeenCalled();
205
213
  });
206
214
  it('should only push JSON files', async () => {
207
- await source.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], mockedCallback, { createFields: false });
208
- expect(mockedCallback).toHaveBeenCalledWith(null, expect.objectContaining({ files: ['valid.json'] }));
215
+ await source
216
+ .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
217
+ .onBatchUpload(mockedSuccessCallback)
218
+ .batch();
219
+ expect(mockedSuccessCallback).toHaveBeenCalledWith(expect.objectContaining({ files: ['valid.json'] }));
209
220
  });
210
221
  it('should call the errorCallback on a failure from the API', async () => {
211
222
  mockAxios.post.mockReset();
212
223
  mockAxios.post.mockRejectedValue({ message: 'Error Message' });
213
- await source.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], mockedCallback, { createFields: false });
214
- expect(mockedCallback).toHaveBeenCalledWith({
224
+ await source
225
+ .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
226
+ .onBatchError(mockedErrorCallback)
227
+ .batch();
228
+ expect(mockedErrorCallback).toHaveBeenCalledWith({
215
229
  message: 'Error Message',
216
230
  }, expect.anything());
217
231
  });
@@ -230,7 +244,7 @@ describe('Source', () => {
230
244
  });
231
245
  beforeEach(() => {
232
246
  doAxiosMockPost();
233
- source = new source_1.Source('the_key', 'the_org');
247
+ source = new push_1.PushSource('the_key', 'the_org');
234
248
  });
235
249
  describe('when there are no inconsistencies', () => {
236
250
  beforeEach(() => {
@@ -290,4 +304,4 @@ describe('Source', () => {
290
304
  });
291
305
  });
292
306
  });
293
- //# sourceMappingURL=source.spec.js.map
307
+ //# sourceMappingURL=push.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.spec.js","sourceRoot":"","sources":["../../src/source/push.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityIdentity = void 0;
4
+ require('isomorphic-fetch');
5
+ require('abortcontroller-polyfill');
6
+ class SecurityIdentity {
7
+ /**
8
+ *
9
+ * @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).
10
+ * @param organizationid The Coveo Organization identifier.
11
+ */
12
+ constructor(platformClient) {
13
+ this.platformClient = platformClient;
14
+ }
15
+ /**
16
+ * 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).
17
+ * @param securityProviderId
18
+ * @param securityIdentity
19
+ * @returns
20
+ */
21
+ createSecurityIdentity(securityProviderId, securityIdentity) {
22
+ return this.platformClient.pushApi.createOrUpdateSecurityIdentity(securityProviderId, securityIdentity);
23
+ }
24
+ /**
25
+ * 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).
26
+ * @param securityProviderId
27
+ * @param securityIdentityAlias
28
+ * @returns
29
+ */
30
+ createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias) {
31
+ return this.platformClient.pushApi.createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias);
32
+ }
33
+ /**
34
+ * Delete a security identity. See [Disabling a Single Security Identity](https://docs.coveo.com/en/84).
35
+ * @param securityProviderId
36
+ * @param securityIdentityToDelete
37
+ * @returns
38
+ */
39
+ deleteSecurityIdentity(securityProviderId, securityIdentityToDelete) {
40
+ return this.platformClient.pushApi.deleteSecurityIdentity(securityProviderId, securityIdentityToDelete);
41
+ }
42
+ /**
43
+ * Delete old security identities. See [Disabling Old Security Identities](https://docs.coveo.com/en/33).
44
+ * @param securityProviderId
45
+ * @param batchDelete
46
+ * @returns
47
+ */
48
+ deleteOldSecurityIdentities(securityProviderId, batchDelete) {
49
+ return this.platformClient.pushApi.deleteOldSecurityIdentities(securityProviderId, batchDelete);
50
+ }
51
+ /**
52
+ * Manage batches of security identities. See [Manage Batches of Security Identities](https://docs.coveo.com/en/55).
53
+ */
54
+ manageSecurityIdentities(securityProviderId, batchConfig) {
55
+ return this.platformClient.pushApi.manageSecurityIdentities(securityProviderId, batchConfig);
56
+ }
57
+ }
58
+ exports.SecurityIdentity = SecurityIdentity;
59
+ //# sourceMappingURL=securityIdenty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securityIdenty.js","sourceRoot":"","sources":["../../src/source/securityIdenty.ts"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5B,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAWpC,MAAa,gBAAgB;IAC3B;;;;OAIG;IACH,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEtD;;;;;OAKG;IACI,sBAAsB,CAC3B,kBAA0B,EAC1B,gBAAuC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAC/D,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,mCAAmC,CACxC,kBAA0B,EAC1B,qBAAiD;QAEjD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mCAAmC,CACpE,kBAAkB,EAClB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,sBAAsB,CAC3B,kBAA0B,EAC1B,wBAAgD;QAEhD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CACvD,kBAAkB,EAClB,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,2BAA2B,CAChC,kBAA0B,EAC1B,WAA0C;QAE1C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAC5D,kBAAkB,EAClB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,wBAAwB,CAC7B,kBAA0B,EAC1B,WAAwC;QAExC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,wBAAwB,CACzD,kBAAkB,EAClB,WAAW,CACZ,CAAC;IACJ,CAAC;CACF;AApFD,4CAoFC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Source = void 0;
4
+ const push_1 = require("./push");
5
+ /**
6
+ * @deprecated This class has been replaced by {@link PushSource}
7
+ */
8
+ exports.Source = push_1.PushSource;
9
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/source/source.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAElC;;GAEG;AACU,QAAA,MAAM,GAAG,iBAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coveo/push-api-client",
3
- "version": "1.7.0",
3
+ "version": "2.0.0",
4
4
  "description": "Push API client",
5
5
  "main": "./dist/index.js",
6
6
  "files": [