@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
@@ -0,0 +1,199 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.PushSource = 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 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 axiosUtils_1 = require("../help/axiosUtils");
|
18
|
+
const documentUploader_1 = require("./documentUploader");
|
19
|
+
const urlUtils_1 = require("../help/urlUtils");
|
20
|
+
const uploadStrategy_1 = require("../uploadStrategy");
|
21
|
+
const batchUploadDocumentsFromFile_1 = require("./batchUploadDocumentsFromFile");
|
22
|
+
/**
|
23
|
+
* Manage a push source.
|
24
|
+
*
|
25
|
+
* Allows you to create a new push source, manage security identities and documents in a Coveo organization.
|
26
|
+
*/
|
27
|
+
class PushSource {
|
28
|
+
/**
|
29
|
+
*
|
30
|
+
* @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
|
+
* @param organizationid The Coveo Organization identifier.
|
32
|
+
*/
|
33
|
+
constructor(apikey, organizationid, options) {
|
34
|
+
this.apikey = apikey;
|
35
|
+
this.organizationid = organizationid;
|
36
|
+
this.options = Object.assign(Object.assign({}, PushSource.defaultOptions), options);
|
37
|
+
this.platformClient = new platform_client_1.PlatformClient({
|
38
|
+
accessToken: this.apikey,
|
39
|
+
environment: (0, environment_1.castEnvironmentToPlatformClient)(this.options.environment),
|
40
|
+
organizationId: this.organizationid,
|
41
|
+
region: this.options.region,
|
42
|
+
});
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* Create a new push source
|
46
|
+
* @param name The name of the source to create.
|
47
|
+
* @param sourceVisibility The security option that should be applied to the content of the source. See [Content Security](https://docs.coveo.com/en/1779).
|
48
|
+
* @returns
|
49
|
+
*/
|
50
|
+
create(name, sourceVisibility) {
|
51
|
+
return this.platformClient.source.create({
|
52
|
+
sourceType: platform_client_1.SourceType.PUSH,
|
53
|
+
pushEnabled: true,
|
54
|
+
name,
|
55
|
+
sourceVisibility,
|
56
|
+
});
|
57
|
+
}
|
58
|
+
/**
|
59
|
+
* @deprecated use `identity.createSecurityIdentity`
|
60
|
+
*
|
61
|
+
* See {@link Source.identity}
|
62
|
+
*/
|
63
|
+
createSecurityIdentity(securityProviderId, securityIdentity) {
|
64
|
+
return this.identity.createSecurityIdentity(securityProviderId, securityIdentity);
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* @deprecated use `identity.createOrUpdateSecurityIdentityAlias`
|
68
|
+
*
|
69
|
+
* See {@link Source.identity}
|
70
|
+
*/
|
71
|
+
createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias) {
|
72
|
+
return this.identity.createOrUpdateSecurityIdentityAlias(securityProviderId, securityIdentityAlias);
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* @deprecated use `identity.deleteSecurityIdentity`
|
76
|
+
*
|
77
|
+
* See {@link Source.identity}
|
78
|
+
*/
|
79
|
+
deleteSecurityIdentity(securityProviderId, securityIdentityToDelete) {
|
80
|
+
return this.identity.deleteSecurityIdentity(securityProviderId, securityIdentityToDelete);
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* @deprecated use `identity.deleteOldSecurityIdentities`
|
84
|
+
*
|
85
|
+
* See {@link Source.identity}
|
86
|
+
*/
|
87
|
+
deleteOldSecurityIdentities(securityProviderId, batchDelete) {
|
88
|
+
return this.identity.deleteOldSecurityIdentities(securityProviderId, batchDelete);
|
89
|
+
}
|
90
|
+
/**
|
91
|
+
* @deprecated use `identity.manageSecurityIdentities`
|
92
|
+
*
|
93
|
+
* See {@link Source.identity}
|
94
|
+
*/
|
95
|
+
manageSecurityIdentities(securityProviderId, batchConfig) {
|
96
|
+
return this.identity.manageSecurityIdentities(securityProviderId, batchConfig);
|
97
|
+
}
|
98
|
+
get identity() {
|
99
|
+
return new securityIdenty_1.SecurityIdentity(this.platformClient);
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* 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).
|
103
|
+
* @param sourceID
|
104
|
+
* @param docBuilder
|
105
|
+
* @param {BatchUpdateDocumentsOptions} [{createFields = true}={}]
|
106
|
+
* @returns
|
107
|
+
*/
|
108
|
+
async addOrUpdateDocument(sourceID, docBuilder, { createFields: createFields = true } = {}) {
|
109
|
+
if (createFields) {
|
110
|
+
const analyser = new fieldAnalyser_1.FieldAnalyser(this.platformClient);
|
111
|
+
await analyser.add([docBuilder]);
|
112
|
+
await this.createFields(analyser);
|
113
|
+
}
|
114
|
+
const doc = docBuilder.build();
|
115
|
+
const addURL = new url_1.URL(`${this.urlBuilder(sourceID).baseURL}/documents`);
|
116
|
+
addURL.searchParams.append('documentId', doc.uri);
|
117
|
+
return axios_1.default.put(addURL.toString(), docBuilder.marshal(), this.documentsAxiosConfig);
|
118
|
+
}
|
119
|
+
/**
|
120
|
+
* Manage batches of items in a push source. See [Manage Batches of Items in a Push Source](https://docs.coveo.com/en/90)
|
121
|
+
* @param sourceID
|
122
|
+
* @param batch
|
123
|
+
* @returns
|
124
|
+
*/
|
125
|
+
async batchUpdateDocuments(sourceID, batch, { createFields: createFields = true } = {}) {
|
126
|
+
return (0, documentUploader_1.uploadBatch)(this.platformClient, this.fileContainerStrategy(sourceID), batch, createFields);
|
127
|
+
}
|
128
|
+
/**
|
129
|
+
*
|
130
|
+
* 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)
|
131
|
+
* @param {string} sourceID The unique identifier of the target Push source
|
132
|
+
* @param {string[]} filesOrDirectories A list of JSON files or directories (containing JSON files) from which to extract documents.
|
133
|
+
* @param {UploadBatchCallback} callback Callback executed when a batch of documents is either successfully uploaded or when an error occurs during the upload
|
134
|
+
* @param {BatchUpdateDocumentsFromFiles} options
|
135
|
+
*/
|
136
|
+
batchUpdateDocumentsFromFiles(sourceID, filesOrDirectories, options) {
|
137
|
+
return new batchUploadDocumentsFromFile_1.BatchUploadDocumentsFromFilesReturn(this.platformClient, this.fileContainerStrategy(sourceID), filesOrDirectories, options);
|
138
|
+
}
|
139
|
+
/**
|
140
|
+
* 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).
|
141
|
+
* @param sourceID
|
142
|
+
* @param documentId
|
143
|
+
* @param deleteChildren
|
144
|
+
* @returns
|
145
|
+
*/
|
146
|
+
deleteDocument(sourceID, documentId, deleteChildren = false) {
|
147
|
+
const deleteURL = new url_1.URL(`${this.urlBuilder(sourceID).baseURL}/documents`);
|
148
|
+
deleteURL.searchParams.append('documentId', documentId);
|
149
|
+
deleteURL.searchParams.append('deleteChildren', `${deleteChildren}`);
|
150
|
+
return axios_1.default.delete(deleteURL.toString(), this.documentsAxiosConfig);
|
151
|
+
}
|
152
|
+
/**
|
153
|
+
* 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).
|
154
|
+
* @param sourceID
|
155
|
+
* @param olderThan
|
156
|
+
* @returns
|
157
|
+
*/
|
158
|
+
deleteDocumentsOlderThan(sourceID, olderThan) {
|
159
|
+
const date = dayjs(olderThan);
|
160
|
+
const deleteURL = new url_1.URL(`${this.urlBuilder(sourceID).baseURL}/documents/olderthan`);
|
161
|
+
deleteURL.searchParams.append('orderingId', `${date.valueOf()}`);
|
162
|
+
return axios_1.default.delete(deleteURL.toString(), this.documentsAxiosConfig);
|
163
|
+
}
|
164
|
+
/**
|
165
|
+
* Set the status of a push source. See [Updating the Status of a Push Source](https://docs.coveo.com/en/35/)
|
166
|
+
* @param sourceID
|
167
|
+
* @param status
|
168
|
+
* @returns
|
169
|
+
*/
|
170
|
+
setSourceStatus(sourceID, status) {
|
171
|
+
const urlStatus = new url_1.URL(`${this.urlBuilder(sourceID).baseURL}/status`);
|
172
|
+
urlStatus.searchParams.append('statusType', status);
|
173
|
+
return axios_1.default.post(urlStatus.toString(), {}, this.documentsAxiosConfig);
|
174
|
+
}
|
175
|
+
get documentsAxiosConfig() {
|
176
|
+
return (0, axiosUtils_1.axiosRequestHeaders)(this.apikey);
|
177
|
+
}
|
178
|
+
async createFields(analyser) {
|
179
|
+
const { fields, inconsistencies } = analyser.report();
|
180
|
+
if (inconsistencies.size > 0) {
|
181
|
+
throw new fieldErrors_1.FieldTypeInconsistencyError(inconsistencies);
|
182
|
+
}
|
183
|
+
await (0, fieldUtils_1.createFields)(this.platformClient, fields);
|
184
|
+
}
|
185
|
+
urlBuilder(sourceId) {
|
186
|
+
return new urlUtils_1.PushUrlBuilder(sourceId, this.organizationid, this.options);
|
187
|
+
}
|
188
|
+
fileContainerStrategy(sourceId) {
|
189
|
+
const urlBuilder = this.urlBuilder(sourceId);
|
190
|
+
const documentsAxiosConfig = (0, axiosUtils_1.axiosRequestHeaders)(this.apikey);
|
191
|
+
return new uploadStrategy_1.FileContainerStrategy(urlBuilder, documentsAxiosConfig);
|
192
|
+
}
|
193
|
+
}
|
194
|
+
exports.PushSource = PushSource;
|
195
|
+
PushSource.defaultOptions = {
|
196
|
+
region: environment_1.DEFAULT_REGION,
|
197
|
+
environment: environment_1.DEFAULT_ENVIRONMENT,
|
198
|
+
};
|
199
|
+
//# sourceMappingURL=push.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/source/push.ts"],"names":[],"mappings":"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"}
|
@@ -3,23 +3,26 @@ 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('
|
6
|
+
jest.mock('../fieldAnalyser/fieldAnalyser');
|
7
7
|
const platform_client_1 = require("@coveord/platform-client");
|
8
|
-
const
|
9
|
-
const documentBuilder_1 = require("
|
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
|
14
|
-
const inconsistencies_1 = require("
|
15
|
-
const fieldErrors_1 = require("
|
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(
|
17
|
+
const mockedFieldAnalyser = jest.mocked(__1.FieldAnalyser);
|
18
18
|
const mockedPlatformClient = jest.mocked(platform_client_1.default);
|
19
19
|
const mockCreateSource = jest.fn();
|
20
|
+
const mockEvaluate = jest.fn();
|
20
21
|
const mockCreateField = jest.fn();
|
21
22
|
const mockAnalyserAdd = jest.fn();
|
22
23
|
const mockAnalyserReport = jest.fn();
|
24
|
+
const mockedSuccessCallback = jest.fn();
|
25
|
+
const mockedErrorCallback = jest.fn();
|
23
26
|
const pathToStub = (0, path_1.join)((0, process_1.cwd)(), 'src', '__stub__');
|
24
27
|
const doAxiosMockPost = () => {
|
25
28
|
mockAxios.post.mockImplementationOnce((url) => {
|
@@ -37,6 +40,7 @@ const doAxiosMockPost = () => {
|
|
37
40
|
};
|
38
41
|
const doMockPlatformClient = () => {
|
39
42
|
mockedPlatformClient.mockImplementation(() => ({
|
43
|
+
privilegeEvaluator: { evaluate: mockEvaluate },
|
40
44
|
source: {
|
41
45
|
create: mockCreateSource,
|
42
46
|
},
|
@@ -51,14 +55,15 @@ const doMockFieldAnalyser = () => {
|
|
51
55
|
report: mockAnalyserReport,
|
52
56
|
}));
|
53
57
|
};
|
54
|
-
describe('
|
58
|
+
describe('PushSource', () => {
|
55
59
|
let source;
|
56
60
|
beforeAll(() => {
|
57
61
|
doMockPlatformClient();
|
58
62
|
doMockFieldAnalyser();
|
59
63
|
});
|
60
64
|
beforeEach(() => {
|
61
|
-
source = new
|
65
|
+
source = new push_1.PushSource('the_key', 'the_org');
|
66
|
+
mockEvaluate.mockResolvedValue({ approved: true });
|
62
67
|
});
|
63
68
|
const expectedDocumentsHeaders = {
|
64
69
|
headers: {
|
@@ -81,22 +86,22 @@ describe('Source', () => {
|
|
81
86
|
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
87
|
});
|
83
88
|
it('should call axios on add document with right region', async () => {
|
84
|
-
const australianSource = new
|
85
|
-
region:
|
89
|
+
const australianSource = new push_1.PushSource('the_key', 'the_org', {
|
90
|
+
region: __1.Region.AU,
|
86
91
|
});
|
87
92
|
await australianSource.addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
|
88
93
|
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
94
|
});
|
90
95
|
it('should call axios on add document with right environment', async () => {
|
91
|
-
await new
|
92
|
-
environment:
|
96
|
+
await new push_1.PushSource('the_key', 'the_org', {
|
97
|
+
environment: __1.PlatformEnvironment.Dev,
|
93
98
|
}).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
|
94
99
|
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
100
|
});
|
96
101
|
it('should call axios on add document with right region and environment', async () => {
|
97
|
-
await new
|
98
|
-
environment:
|
99
|
-
region:
|
102
|
+
await new push_1.PushSource('the_key', 'the_org', {
|
103
|
+
environment: __1.PlatformEnvironment.QA,
|
104
|
+
region: __1.Region.EU,
|
100
105
|
}).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
|
101
106
|
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
107
|
});
|
@@ -171,7 +176,6 @@ describe('Source', () => {
|
|
171
176
|
});
|
172
177
|
});
|
173
178
|
describe('when doing batch update from local files', () => {
|
174
|
-
const mockedCallback = jest.fn();
|
175
179
|
afterAll(() => {
|
176
180
|
mockAxios.post.mockReset();
|
177
181
|
});
|
@@ -179,7 +183,9 @@ describe('Source', () => {
|
|
179
183
|
doAxiosMockPost();
|
180
184
|
});
|
181
185
|
it('should upload documents from local file', async () => {
|
182
|
-
await source
|
186
|
+
await source
|
187
|
+
.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
|
188
|
+
.batch();
|
183
189
|
expect(mockAxios.put).toHaveBeenCalledWith('https://fake.upload.url/', expect.objectContaining({
|
184
190
|
addOrUpdate: expect.arrayContaining([
|
185
191
|
expect.objectContaining({
|
@@ -197,21 +203,32 @@ describe('Source', () => {
|
|
197
203
|
});
|
198
204
|
});
|
199
205
|
it('should throw an error if the path is invalid', () => {
|
200
|
-
expect(() => source
|
206
|
+
expect(() => source
|
207
|
+
.batchUpdateDocumentsFromFiles('the_id', ['path/to/invalid/document'], { createFields: false })
|
208
|
+
.batch()).rejects.toThrow("no such file or directory, lstat 'path/to/invalid/document'");
|
201
209
|
});
|
202
210
|
it('should call the callback without error when uploading documents', async () => {
|
203
|
-
await source
|
204
|
-
|
211
|
+
await source
|
212
|
+
.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
|
213
|
+
.onBatchError(mockedErrorCallback)
|
214
|
+
.batch();
|
215
|
+
expect(mockedErrorCallback).not.toHaveBeenCalled();
|
205
216
|
});
|
206
217
|
it('should only push JSON files', async () => {
|
207
|
-
await source
|
208
|
-
|
218
|
+
await source
|
219
|
+
.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
|
220
|
+
.onBatchUpload(mockedSuccessCallback)
|
221
|
+
.batch();
|
222
|
+
expect(mockedSuccessCallback).toHaveBeenCalledWith(expect.objectContaining({ files: ['valid.json'] }));
|
209
223
|
});
|
210
224
|
it('should call the errorCallback on a failure from the API', async () => {
|
211
225
|
mockAxios.post.mockReset();
|
212
226
|
mockAxios.post.mockRejectedValue({ message: 'Error Message' });
|
213
|
-
await source
|
214
|
-
|
227
|
+
await source
|
228
|
+
.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
|
229
|
+
.onBatchError(mockedErrorCallback)
|
230
|
+
.batch();
|
231
|
+
expect(mockedErrorCallback).toHaveBeenCalledWith({
|
215
232
|
message: 'Error Message',
|
216
233
|
}, expect.anything());
|
217
234
|
});
|
@@ -230,7 +247,7 @@ describe('Source', () => {
|
|
230
247
|
});
|
231
248
|
beforeEach(() => {
|
232
249
|
doAxiosMockPost();
|
233
|
-
source = new
|
250
|
+
source = new push_1.PushSource('the_key', 'the_org');
|
234
251
|
});
|
235
252
|
describe('when there are no inconsistencies', () => {
|
236
253
|
beforeEach(() => {
|
@@ -290,4 +307,4 @@ describe('Source', () => {
|
|
290
307
|
});
|
291
308
|
});
|
292
309
|
});
|
293
|
-
//# sourceMappingURL=
|
310
|
+
//# 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"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FileContainerStrategy = void 0;
|
4
|
+
const axios_1 = require("axios");
|
5
|
+
const fileContainer_1 = require("../help/fileContainer");
|
6
|
+
/**
|
7
|
+
* Upload documents using the [File container](https://docs.coveo.com/en/43/index-content/creating-a-file-container)
|
8
|
+
*
|
9
|
+
* @class FileContainerStrategy
|
10
|
+
* @implements {UploadStrategy}
|
11
|
+
*/
|
12
|
+
class FileContainerStrategy {
|
13
|
+
constructor(urlBuilder, documentsAxiosConfig) {
|
14
|
+
this.urlBuilder = urlBuilder;
|
15
|
+
this.documentsAxiosConfig = documentsAxiosConfig;
|
16
|
+
}
|
17
|
+
async upload(batch) {
|
18
|
+
const fileContainer = await this.createFileContainer();
|
19
|
+
await (0, fileContainer_1.uploadContentToFileContainer)(fileContainer, batch);
|
20
|
+
return this.pushFileContainerContent(fileContainer);
|
21
|
+
}
|
22
|
+
async createFileContainer() {
|
23
|
+
const fileContainerURL = this.urlBuilder.fileContainerUrl.toString();
|
24
|
+
const res = await axios_1.default.post(fileContainerURL, {}, this.documentsAxiosConfig);
|
25
|
+
return res.data;
|
26
|
+
}
|
27
|
+
pushFileContainerContent(fileContainer) {
|
28
|
+
const pushURL = this.urlBuilder.baseAPIURLForUpdate;
|
29
|
+
pushURL.searchParams.append('fileId', fileContainer.fileId);
|
30
|
+
return axios_1.default.put(pushURL.toString(), {}, this.documentsAxiosConfig);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
exports.FileContainerStrategy = FileContainerStrategy;
|
34
|
+
//# sourceMappingURL=fileContainerStrategy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fileContainerStrategy.js","sourceRoot":"","sources":["../../src/uploadStrategy/fileContainerStrategy.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAGhD,yDAAmE;AAQnE;;;;;GAKG;AACH,MAAa,qBAAqB;IAChC,YACU,UAAsB,EACtB,oBAAwC;QADxC,eAAU,GAAV,UAAU,CAAY;QACtB,yBAAoB,GAApB,oBAAoB,CAAoB;IAC/C,CAAC;IAEG,KAAK,CAAC,MAAM,CAAC,KAA2B;QAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAA,4CAA4B,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,gBAAgB,EAChB,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAC,aAAoC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACpD,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;CACF;AA3BD,sDA2BC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
tslib_1.__exportStar(require("./fileContainerStrategy"), exports);
|
5
|
+
tslib_1.__exportStar(require("./strategy"), exports);
|
6
|
+
tslib_1.__exportStar(require("./streamChunkStrategy"), exports);
|
7
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/uploadStrategy/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,qDAA2B;AAC3B,gEAAsC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/uploadStrategy/strategy.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.StreamChunkStrategy = void 0;
|
4
|
+
const axios_1 = require("axios");
|
5
|
+
const url_1 = require("url");
|
6
|
+
const fileContainer_1 = require("../help/fileContainer");
|
7
|
+
/**
|
8
|
+
* Upload documents using the [Stream API](https://docs.coveo.com/en/lb4a0344/coveo-for-commerce/how-to-stream-your-catalog-data-to-your-source)
|
9
|
+
*
|
10
|
+
* @class StreamChunkStrategy
|
11
|
+
* @implements {UploadStrategy}
|
12
|
+
*/
|
13
|
+
class StreamChunkStrategy {
|
14
|
+
constructor(urlBuilder, documentsAxiosConfig) {
|
15
|
+
this.urlBuilder = urlBuilder;
|
16
|
+
this.documentsAxiosConfig = documentsAxiosConfig;
|
17
|
+
this._openedStream = null;
|
18
|
+
}
|
19
|
+
async upload(batch) {
|
20
|
+
const chunk = await this.requestStreamChunk();
|
21
|
+
return (0, fileContainer_1.uploadContentToFileContainer)(chunk, batch);
|
22
|
+
}
|
23
|
+
postUpload() {
|
24
|
+
return this.closeOpenedStream();
|
25
|
+
}
|
26
|
+
async openStreamIfNotAlreadyOpen() {
|
27
|
+
if (this._openedStream === null) {
|
28
|
+
const openStreamUrl = new url_1.URL(`${this.urlBuilder.baseStreamURL}/open`);
|
29
|
+
const res = await axios_1.default.post(openStreamUrl.toString(), {}, this.documentsAxiosConfig);
|
30
|
+
this._openedStream = res.data;
|
31
|
+
}
|
32
|
+
return this._openedStream;
|
33
|
+
}
|
34
|
+
async closeOpenedStream() {
|
35
|
+
if (this._openedStream === null) {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
const openStreamUrl = new url_1.URL(`${this.urlBuilder.baseStreamURL}/${this._openedStream.streamId}/close`);
|
39
|
+
const res = await axios_1.default.post(openStreamUrl.toString(), {}, this.documentsAxiosConfig);
|
40
|
+
this._openedStream = null;
|
41
|
+
return res.data;
|
42
|
+
}
|
43
|
+
async requestStreamChunk() {
|
44
|
+
const { streamId } = await this.openStreamIfNotAlreadyOpen();
|
45
|
+
const openStreamUrl = new url_1.URL(`${this.urlBuilder.baseStreamURL}/${streamId}/chunk`);
|
46
|
+
const res = await axios_1.default.post(openStreamUrl.toString(), {}, this.documentsAxiosConfig);
|
47
|
+
return res.data;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
exports.StreamChunkStrategy = StreamChunkStrategy;
|
51
|
+
//# sourceMappingURL=streamChunkStrategy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"streamChunkStrategy.js","sourceRoot":"","sources":["../../src/uploadStrategy/streamChunkStrategy.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAChD,6BAAwB;AAGxB,yDAAmE;AAUnE;;;;;GAKG;AACH,MAAa,mBAAmB;IAE9B,YACU,UAA4B,EAC5B,oBAAwC;QADxC,eAAU,GAAV,UAAU,CAAkB;QAC5B,yBAAoB,GAApB,oBAAoB,CAAoB;QAH1C,kBAAa,GAA0B,IAAI,CAAC;IAIjD,CAAC;IAEG,KAAK,CAAC,MAAM,CAAC,KAA2B;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,OAAO,IAAA,4CAA4B,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,0BAA0B;QACrC,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/B,MAAM,aAAa,GAAG,IAAI,SAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,OAAO,CAAC,CAAC;YACvE,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,aAAa,CAAC,QAAQ,EAAE,EACxB,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,aAAa,GAAG,IAAI,SAAG,CAC3B,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,QAAQ,CACxE,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,aAAa,CAAC,QAAQ,EAAE,EACxB,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,SAAG,CAC3B,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,QAAQ,QAAQ,CACrD,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,aAAa,CAAC,QAAQ,EAAE,EACxB,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF;AA5DD,kDA4DC"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ensureNecessaryCoveoPrivileges = void 0;
|
4
|
+
const privilegeError_1 = require("../../errors/privilegeError");
|
5
|
+
// Code copy pasted from https://github.com/coveo/cli/blob/master/packages/cli/src/lib/decorators/preconditions/apiKeyPrivilege.ts#L15
|
6
|
+
async function ensureNecessaryCoveoPrivileges(client, ...privileges) {
|
7
|
+
const promises = privileges.flatMap((privilege) => privilege.models.map(async (model) => {
|
8
|
+
if (!(await hasPrivilege(client, model))) {
|
9
|
+
const message = privilege.unsatisfiedConditionMessage;
|
10
|
+
throw new privilegeError_1.PrivilegeError(message);
|
11
|
+
}
|
12
|
+
}));
|
13
|
+
await Promise.all(promises);
|
14
|
+
}
|
15
|
+
exports.ensureNecessaryCoveoPrivileges = ensureNecessaryCoveoPrivileges;
|
16
|
+
async function hasPrivilege(client, privilege) {
|
17
|
+
const model = Object.assign({ requestedPrivilege: privilege });
|
18
|
+
const validation = await client.privilegeEvaluator.evaluate(model);
|
19
|
+
return Boolean(validation.approved);
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=apiKeyPrivilege.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"apiKeyPrivilege.js","sourceRoot":"","sources":["../../../src/validation/preconditions/apiKeyPrivilege.ts"],"names":[],"mappings":";;;AAMA,gEAA2D;AAE3D,sIAAsI;AAC/H,KAAK,UAAU,8BAA8B,CAClD,MAAsB,EACtB,GAAG,UAA+B;IAElC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAChD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACnC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,2BAA2B,CAAC;YACtD,MAAM,IAAI,+BAAc,CAAC,OAAO,CAAC,CAAC;SACnC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAdD,wEAcC;AAED,KAAK,UAAU,YAAY,CAAC,MAAsB,EAAE,SAAyB;IAC3E,MAAM,KAAK,iBACN,EAAC,kBAAkB,EAAE,SAAS,EAAC,CACnC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|