@coveo/push-api-client 3.0.122 → 3.0.124
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/dist/APICore.js +47 -47
- package/dist/definitions/APICore.d.ts +18 -18
- package/dist/definitions/document.d.ts +124 -124
- package/dist/definitions/documentBuilder.d.ts +168 -168
- package/dist/definitions/documentBuilder.spec.d.ts +1 -1
- package/dist/definitions/environment.d.ts +16 -16
- package/dist/definitions/errors/baseError.d.ts +4 -4
- package/dist/definitions/errors/fieldErrors.d.ts +18 -18
- package/dist/definitions/errors/index.d.ts +3 -3
- package/dist/definitions/errors/privilegeError.d.ts +6 -6
- package/dist/definitions/errors/validatorErrors.d.ts +20 -20
- package/dist/definitions/fieldAnalyser/fieldAnalyser.d.ts +36 -36
- package/dist/definitions/fieldAnalyser/fieldAnalyser.spec.d.ts +1 -1
- package/dist/definitions/fieldAnalyser/fieldStore.d.ts +5 -5
- package/dist/definitions/fieldAnalyser/fieldUtils.d.ts +6 -6
- package/dist/definitions/fieldAnalyser/fieldsUtils.spec.d.ts +1 -1
- package/dist/definitions/fieldAnalyser/inconsistencies.d.ts +5 -5
- package/dist/definitions/fieldAnalyser/inconsistencies.spec.d.ts +1 -1
- package/dist/definitions/fieldAnalyser/typeUtils.d.ts +3 -3
- package/dist/definitions/fieldAnalyser/typeUtils.spec.d.ts +1 -1
- package/dist/definitions/help/file.d.ts +3 -3
- package/dist/definitions/help/file.spec.d.ts +1 -1
- package/dist/definitions/help/fileConsumer.d.ts +31 -31
- package/dist/definitions/help/fileConsumer.spec.d.ts +1 -1
- package/dist/definitions/help/fileContainer.d.ts +8 -8
- package/dist/definitions/help/fileContainer.spec.d.ts +1 -1
- package/dist/definitions/help/function.d.ts +1 -1
- package/dist/definitions/help/generator.d.ts +11 -11
- package/dist/definitions/help/generator.spec.d.ts +1 -1
- package/dist/definitions/help/urlUtils.d.ts +27 -27
- package/dist/definitions/help/urlUtils.spec.d.ts +1 -1
- package/dist/definitions/index.d.ts +14 -14
- package/dist/definitions/interfaces.d.ts +70 -70
- package/dist/definitions/localtest.d.ts +1 -1
- package/dist/definitions/permissionSetBuilder.d.ts +34 -34
- package/dist/definitions/permissionSetBuilder.spec.d.ts +1 -1
- package/dist/definitions/securityIdentityBuilder.d.ts +105 -105
- package/dist/definitions/securityIdentityBuilder.spec.d.ts +1 -1
- package/dist/definitions/source/batchUploadDocumentsFromFile.d.ts +11 -11
- package/dist/definitions/source/batchUploadDocumentsFromFile.spec.d.ts +1 -1
- package/dist/definitions/source/catalog.d.ts +70 -70
- package/dist/definitions/source/catalog.spec.d.ts +1 -1
- package/dist/definitions/source/documentUploader.d.ts +11 -11
- package/dist/definitions/source/documentUploader.spec.d.ts +1 -1
- package/dist/definitions/source/push.d.ts +87 -87
- package/dist/definitions/source/push.spec.d.ts +1 -1
- package/dist/definitions/source/securityIdenty.d.ts +43 -43
- package/dist/definitions/uploadStrategy/fileContainerStrategy.d.ts +23 -23
- package/dist/definitions/uploadStrategy/fileContainerStrategy.spec.d.ts +1 -1
- package/dist/definitions/uploadStrategy/index.d.ts +3 -3
- package/dist/definitions/uploadStrategy/strategy.d.ts +23 -23
- package/dist/definitions/uploadStrategy/streamChunkStrategy.d.ts +28 -28
- package/dist/definitions/uploadStrategy/streamChunkStrategy.spec.d.ts +1 -1
- package/dist/definitions/validation/caseInsensitiveDocument.d.ts +13 -13
- package/dist/definitions/validation/knownKey.d.ts +10 -10
- package/dist/definitions/validation/parseFile.d.ts +4 -4
- package/dist/definitions/validation/parseFile.spec.d.ts +1 -1
- package/dist/definitions/validation/parsePermissions.d.ts +5 -5
- package/dist/definitions/validation/parsePermissions.spec.d.ts +1 -1
- package/dist/definitions/validation/preconditions/apiKeyPrivilege.d.ts +3 -3
- package/dist/definitions/validation/preconditions/apiKeyPrivilege.spec.d.ts +1 -1
- package/dist/definitions/validation/preconditions/platformPrivilege.d.ts +7 -7
- package/dist/definitions/validation/requiredKeyValidator.d.ts +17 -17
- package/dist/definitions/validation/transformers/transformer.d.ts +31 -31
- package/dist/definitions/validation/transformers/transformer.spec.d.ts +1 -1
- package/dist/document.js +2 -2
- package/dist/documentBuilder.js +292 -292
- package/dist/documentBuilder.spec.js +191 -191
- package/dist/environment.js +41 -41
- package/dist/errors/baseError.js +10 -10
- package/dist/errors/fieldErrors.js +42 -42
- package/dist/errors/index.js +19 -19
- package/dist/errors/privilegeError.js +12 -12
- package/dist/errors/validatorErrors.js +40 -40
- package/dist/fieldAnalyser/fieldAnalyser.js +95 -95
- package/dist/fieldAnalyser/fieldAnalyser.spec.js +230 -230
- package/dist/fieldAnalyser/fieldStore.js +21 -21
- package/dist/fieldAnalyser/fieldUtils.js +41 -41
- package/dist/fieldAnalyser/fieldsUtils.spec.js +116 -116
- package/dist/fieldAnalyser/inconsistencies.js +14 -14
- package/dist/fieldAnalyser/inconsistencies.spec.js +40 -40
- package/dist/fieldAnalyser/typeUtils.js +61 -61
- package/dist/fieldAnalyser/typeUtils.spec.js +142 -142
- package/dist/help/file.js +37 -37
- package/dist/help/file.spec.js +67 -67
- package/dist/help/fileConsumer.js +150 -150
- package/dist/help/fileConsumer.spec.js +153 -153
- package/dist/help/fileContainer.js +48 -48
- package/dist/help/fileContainer.spec.js +65 -65
- package/dist/help/function.js +5 -5
- package/dist/help/generator.js +32 -32
- package/dist/help/generator.spec.js +82 -82
- package/dist/help/urlUtils.js +42 -42
- package/dist/help/urlUtils.spec.js +41 -41
- package/dist/index.js +38 -38
- package/dist/interfaces.js +2 -2
- package/dist/localtest.js +55 -55
- package/dist/permissionSetBuilder.js +58 -58
- package/dist/permissionSetBuilder.spec.js +68 -68
- package/dist/securityIdentityBuilder.js +128 -128
- package/dist/securityIdentityBuilder.spec.js +50 -50
- package/dist/source/batchUploadDocumentsFromFile.js +46 -46
- package/dist/source/batchUploadDocumentsFromFile.spec.js +145 -145
- package/dist/source/catalog.js +111 -111
- package/dist/source/catalog.spec.js +64 -64
- package/dist/source/documentUploader.js +45 -45
- package/dist/source/documentUploader.spec.js +118 -118
- package/dist/source/push.js +140 -140
- package/dist/source/push.spec.js +152 -152
- package/dist/source/securityIdenty.js +57 -57
- package/dist/uploadStrategy/fileContainerStrategy.js +32 -32
- package/dist/uploadStrategy/fileContainerStrategy.spec.js +86 -86
- package/dist/uploadStrategy/index.js +19 -19
- package/dist/uploadStrategy/strategy.js +2 -2
- package/dist/uploadStrategy/streamChunkStrategy.js +52 -52
- package/dist/uploadStrategy/streamChunkStrategy.spec.js +77 -77
- package/dist/validation/caseInsensitiveDocument.js +31 -31
- package/dist/validation/knownKey.js +37 -37
- package/dist/validation/parseFile.js +120 -120
- package/dist/validation/parseFile.spec.js +96 -96
- package/dist/validation/parsePermissions.js +118 -118
- package/dist/validation/parsePermissions.spec.js +86 -86
- package/dist/validation/preconditions/apiKeyPrivilege.js +20 -20
- package/dist/validation/preconditions/apiKeyPrivilege.spec.js +66 -66
- package/dist/validation/preconditions/platformPrivilege.js +32 -32
- package/dist/validation/requiredKeyValidator.js +61 -61
- package/dist/validation/transformers/transformer.js +51 -51
- package/dist/validation/transformers/transformer.spec.js +21 -21
- package/package.json +4 -4
@@ -1,129 +1,129 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.VirtualGroupSecurityIdentityBuilder = exports.GroupSecurityIdentityBuilder = exports.UserSecurityIdentityBuilder = exports.AnySecurityIdentityBuilder = void 0;
|
4
|
-
const platform_client_1 = require("@coveo/platform-client");
|
5
|
-
/**
|
6
|
-
* Build any {@link PermissionIdentityType}.
|
7
|
-
*
|
8
|
-
* Instead of using this class directly, use one of:
|
9
|
-
* - {@link UserSecurityIdentityBuilder}
|
10
|
-
* - {@link GroupSecurityIdentityBuilder}
|
11
|
-
* - {@link VirtualGroupSecurityIdentityBuilder}
|
12
|
-
*/
|
13
|
-
class AnySecurityIdentityBuilder {
|
14
|
-
/**
|
15
|
-
* @param identityType The type of the identity.
|
16
|
-
* Valid values:
|
17
|
-
* - `UNKNOWN`
|
18
|
-
* - `USER` : Defines a single user.
|
19
|
-
* - `GROUP` : Defines an existing group of identities within the indexed system. Individual members of this group can be of any valid identity Type (USER, GROUP, or VIRTUAL_GROUP).
|
20
|
-
* - `VIRTUAL_GROUP` : Defines a group that doesn't exist within the indexed system. Mechanically, a `VIRTUAL_GROUP` is identical to a `GROUP`.
|
21
|
-
*
|
22
|
-
* @param identity The name of the security identity.
|
23
|
-
* Examples:
|
24
|
-
* - `asmith@example.com`
|
25
|
-
* - `SampleTeam2`
|
26
|
-
*
|
27
|
-
* @param securityProvider The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
28
|
-
*/
|
29
|
-
constructor(identityType, identity, securityProvider) {
|
30
|
-
this.securityIdentity = Object.assign({ identityType,
|
31
|
-
identity }, (securityProvider && { securityProvider }));
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
* Build and return the security identity.
|
35
|
-
* @returns
|
36
|
-
*/
|
37
|
-
build() {
|
38
|
-
return this.securityIdentity;
|
39
|
-
}
|
40
|
-
}
|
41
|
-
exports.AnySecurityIdentityBuilder = AnySecurityIdentityBuilder;
|
42
|
-
/**
|
43
|
-
* Build a security identity of type `USER`.
|
44
|
-
*
|
45
|
-
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
46
|
-
*
|
47
|
-
* See {@link Permission}.
|
48
|
-
*/
|
49
|
-
class UserSecurityIdentityBuilder {
|
50
|
-
/**
|
51
|
-
* Pass either a single user, or an array of user to create multiple identities.
|
52
|
-
* @param {(string | string[])} user The user identity or identities
|
53
|
-
* @param {string} [securityProvider='Email Security Provider'] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
54
|
-
*/
|
55
|
-
constructor(user, securityProvider = 'Email Security Provider') {
|
56
|
-
this.user = user;
|
57
|
-
this.securityProvider = securityProvider;
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* Build and return the security identity or identities.
|
61
|
-
* @returns
|
62
|
-
*/
|
63
|
-
build() {
|
64
|
-
if (Array.isArray(this.user)) {
|
65
|
-
return this.user.map((u) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.User, u, this.securityProvider).build());
|
66
|
-
}
|
67
|
-
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.User, this.user, this.securityProvider).build();
|
68
|
-
}
|
69
|
-
}
|
70
|
-
exports.UserSecurityIdentityBuilder = UserSecurityIdentityBuilder;
|
71
|
-
/**
|
72
|
-
* Build a security identity of type `GROUP`.
|
73
|
-
*
|
74
|
-
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
75
|
-
*
|
76
|
-
* See {@link Permission}.
|
77
|
-
*/
|
78
|
-
class GroupSecurityIdentityBuilder {
|
79
|
-
/**
|
80
|
-
* Pass either a single `group`, or an array of `group` to create multiple identities.
|
81
|
-
* @param {(string | string[])} group
|
82
|
-
* @param {string} [securityProvider] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
83
|
-
*/
|
84
|
-
constructor(group, securityProvider) {
|
85
|
-
this.group = group;
|
86
|
-
this.securityProvider = securityProvider;
|
87
|
-
}
|
88
|
-
/**
|
89
|
-
* Build and return the security identity or identities.
|
90
|
-
* @returns
|
91
|
-
*/
|
92
|
-
build() {
|
93
|
-
if (Array.isArray(this.group)) {
|
94
|
-
return this.group.map((g) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.Group, g, this.securityProvider).build());
|
95
|
-
}
|
96
|
-
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.Group, this.group, this.securityProvider).build();
|
97
|
-
}
|
98
|
-
}
|
99
|
-
exports.GroupSecurityIdentityBuilder = GroupSecurityIdentityBuilder;
|
100
|
-
/**
|
101
|
-
* Build a security identity of type `VIRTUAL_GROUP`.
|
102
|
-
*
|
103
|
-
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
104
|
-
*
|
105
|
-
* See {@link Permission}.
|
106
|
-
*/
|
107
|
-
class VirtualGroupSecurityIdentityBuilder {
|
108
|
-
/**
|
109
|
-
* Pass either a single `virtualGroup`, or an array of `virtualGroup` to create multiple identities.
|
110
|
-
* @param {(string | string[])} virtualGroup
|
111
|
-
* @param {string} [securityProvider] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
112
|
-
*/
|
113
|
-
constructor(virtualGroup, securityProvider) {
|
114
|
-
this.virtualGroup = virtualGroup;
|
115
|
-
this.securityProvider = securityProvider;
|
116
|
-
}
|
117
|
-
/**
|
118
|
-
* Build and return the security identity or identities.
|
119
|
-
* @returns
|
120
|
-
*/
|
121
|
-
build() {
|
122
|
-
if (Array.isArray(this.virtualGroup)) {
|
123
|
-
return this.virtualGroup.map((vg) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.VirtualGroup, vg, this.securityProvider).build());
|
124
|
-
}
|
125
|
-
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.VirtualGroup, this.virtualGroup, this.securityProvider).build();
|
126
|
-
}
|
127
|
-
}
|
128
|
-
exports.VirtualGroupSecurityIdentityBuilder = VirtualGroupSecurityIdentityBuilder;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.VirtualGroupSecurityIdentityBuilder = exports.GroupSecurityIdentityBuilder = exports.UserSecurityIdentityBuilder = exports.AnySecurityIdentityBuilder = void 0;
|
4
|
+
const platform_client_1 = require("@coveo/platform-client");
|
5
|
+
/**
|
6
|
+
* Build any {@link PermissionIdentityType}.
|
7
|
+
*
|
8
|
+
* Instead of using this class directly, use one of:
|
9
|
+
* - {@link UserSecurityIdentityBuilder}
|
10
|
+
* - {@link GroupSecurityIdentityBuilder}
|
11
|
+
* - {@link VirtualGroupSecurityIdentityBuilder}
|
12
|
+
*/
|
13
|
+
class AnySecurityIdentityBuilder {
|
14
|
+
/**
|
15
|
+
* @param identityType The type of the identity.
|
16
|
+
* Valid values:
|
17
|
+
* - `UNKNOWN`
|
18
|
+
* - `USER` : Defines a single user.
|
19
|
+
* - `GROUP` : Defines an existing group of identities within the indexed system. Individual members of this group can be of any valid identity Type (USER, GROUP, or VIRTUAL_GROUP).
|
20
|
+
* - `VIRTUAL_GROUP` : Defines a group that doesn't exist within the indexed system. Mechanically, a `VIRTUAL_GROUP` is identical to a `GROUP`.
|
21
|
+
*
|
22
|
+
* @param identity The name of the security identity.
|
23
|
+
* Examples:
|
24
|
+
* - `asmith@example.com`
|
25
|
+
* - `SampleTeam2`
|
26
|
+
*
|
27
|
+
* @param securityProvider The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
28
|
+
*/
|
29
|
+
constructor(identityType, identity, securityProvider) {
|
30
|
+
this.securityIdentity = Object.assign({ identityType,
|
31
|
+
identity }, (securityProvider && { securityProvider }));
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* Build and return the security identity.
|
35
|
+
* @returns
|
36
|
+
*/
|
37
|
+
build() {
|
38
|
+
return this.securityIdentity;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.AnySecurityIdentityBuilder = AnySecurityIdentityBuilder;
|
42
|
+
/**
|
43
|
+
* Build a security identity of type `USER`.
|
44
|
+
*
|
45
|
+
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
46
|
+
*
|
47
|
+
* See {@link Permission}.
|
48
|
+
*/
|
49
|
+
class UserSecurityIdentityBuilder {
|
50
|
+
/**
|
51
|
+
* Pass either a single user, or an array of user to create multiple identities.
|
52
|
+
* @param {(string | string[])} user The user identity or identities
|
53
|
+
* @param {string} [securityProvider='Email Security Provider'] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
54
|
+
*/
|
55
|
+
constructor(user, securityProvider = 'Email Security Provider') {
|
56
|
+
this.user = user;
|
57
|
+
this.securityProvider = securityProvider;
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* Build and return the security identity or identities.
|
61
|
+
* @returns
|
62
|
+
*/
|
63
|
+
build() {
|
64
|
+
if (Array.isArray(this.user)) {
|
65
|
+
return this.user.map((u) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.User, u, this.securityProvider).build());
|
66
|
+
}
|
67
|
+
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.User, this.user, this.securityProvider).build();
|
68
|
+
}
|
69
|
+
}
|
70
|
+
exports.UserSecurityIdentityBuilder = UserSecurityIdentityBuilder;
|
71
|
+
/**
|
72
|
+
* Build a security identity of type `GROUP`.
|
73
|
+
*
|
74
|
+
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
75
|
+
*
|
76
|
+
* See {@link Permission}.
|
77
|
+
*/
|
78
|
+
class GroupSecurityIdentityBuilder {
|
79
|
+
/**
|
80
|
+
* Pass either a single `group`, or an array of `group` to create multiple identities.
|
81
|
+
* @param {(string | string[])} group
|
82
|
+
* @param {string} [securityProvider] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
83
|
+
*/
|
84
|
+
constructor(group, securityProvider) {
|
85
|
+
this.group = group;
|
86
|
+
this.securityProvider = securityProvider;
|
87
|
+
}
|
88
|
+
/**
|
89
|
+
* Build and return the security identity or identities.
|
90
|
+
* @returns
|
91
|
+
*/
|
92
|
+
build() {
|
93
|
+
if (Array.isArray(this.group)) {
|
94
|
+
return this.group.map((g) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.Group, g, this.securityProvider).build());
|
95
|
+
}
|
96
|
+
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.Group, this.group, this.securityProvider).build();
|
97
|
+
}
|
98
|
+
}
|
99
|
+
exports.GroupSecurityIdentityBuilder = GroupSecurityIdentityBuilder;
|
100
|
+
/**
|
101
|
+
* Build a security identity of type `VIRTUAL_GROUP`.
|
102
|
+
*
|
103
|
+
* Typically used in conjunction with {@link PermissionSetBuilder.withAllowedPermissions} or {@link PermissionSetBuilder.withDeniedPermissions}.
|
104
|
+
*
|
105
|
+
* See {@link Permission}.
|
106
|
+
*/
|
107
|
+
class VirtualGroupSecurityIdentityBuilder {
|
108
|
+
/**
|
109
|
+
* Pass either a single `virtualGroup`, or an array of `virtualGroup` to create multiple identities.
|
110
|
+
* @param {(string | string[])} virtualGroup
|
111
|
+
* @param {string} [securityProvider] The security identity provider through which the security identity is updated. Defaults to the first security identity provider associated with the target source.
|
112
|
+
*/
|
113
|
+
constructor(virtualGroup, securityProvider) {
|
114
|
+
this.virtualGroup = virtualGroup;
|
115
|
+
this.securityProvider = securityProvider;
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* Build and return the security identity or identities.
|
119
|
+
* @returns
|
120
|
+
*/
|
121
|
+
build() {
|
122
|
+
if (Array.isArray(this.virtualGroup)) {
|
123
|
+
return this.virtualGroup.map((vg) => new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.VirtualGroup, vg, this.securityProvider).build());
|
124
|
+
}
|
125
|
+
return new AnySecurityIdentityBuilder(platform_client_1.PermissionIdentityType.VirtualGroup, this.virtualGroup, this.securityProvider).build();
|
126
|
+
}
|
127
|
+
}
|
128
|
+
exports.VirtualGroupSecurityIdentityBuilder = VirtualGroupSecurityIdentityBuilder;
|
129
129
|
//# sourceMappingURL=securityIdentityBuilder.js.map
|
@@ -1,51 +1,51 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const platform_client_1 = require("@coveo/platform-client");
|
4
|
-
const securityIdentityBuilder_1 = require("./securityIdentityBuilder");
|
5
|
-
describe('SecurityIdentityBuilder', () => {
|
6
|
-
describe('when instanciating a UserSecurityIdentityBuilder', () => {
|
7
|
-
it('should not include undefined securityProvider', () => {
|
8
|
-
const identity = new securityIdentityBuilder_1.UserSecurityIdentityBuilder('foo@example.com');
|
9
|
-
expect(identity.build()).toEqual({
|
10
|
-
identity: 'foo@example.com',
|
11
|
-
identityType: platform_client_1.PermissionIdentityType.User,
|
12
|
-
securityProvider: 'Email Security Provider',
|
13
|
-
});
|
14
|
-
});
|
15
|
-
it('should not use provided securityProvider', () => {
|
16
|
-
const identity = new securityIdentityBuilder_1.UserSecurityIdentityBuilder('foo@example.com', 'provider12345');
|
17
|
-
expect(identity.build()).toEqual({
|
18
|
-
identity: 'foo@example.com',
|
19
|
-
identityType: platform_client_1.PermissionIdentityType.User,
|
20
|
-
securityProvider: 'provider12345',
|
21
|
-
});
|
22
|
-
});
|
23
|
-
});
|
24
|
-
describe.each([
|
25
|
-
{
|
26
|
-
identityBuilderClass: securityIdentityBuilder_1.GroupSecurityIdentityBuilder,
|
27
|
-
identityType: platform_client_1.PermissionIdentityType.Group,
|
28
|
-
},
|
29
|
-
{
|
30
|
-
identityBuilderClass: securityIdentityBuilder_1.VirtualGroupSecurityIdentityBuilder,
|
31
|
-
identityType: platform_client_1.PermissionIdentityType.VirtualGroup,
|
32
|
-
},
|
33
|
-
])('when instanciating a $identityBuilderClass.name', ({ identityBuilderClass, identityType }) => {
|
34
|
-
it('should not include undefined securityProvider', () => {
|
35
|
-
const identity = new identityBuilderClass('SampleTeam');
|
36
|
-
expect(identity.build()).toEqual({
|
37
|
-
identity: 'SampleTeam',
|
38
|
-
identityType,
|
39
|
-
});
|
40
|
-
});
|
41
|
-
it('should include securityProvider in the identity', () => {
|
42
|
-
const identity = new identityBuilderClass('SampleTeam', 'provider123456');
|
43
|
-
expect(identity.build()).toEqual({
|
44
|
-
identity: 'SampleTeam',
|
45
|
-
identityType,
|
46
|
-
securityProvider: 'provider123456',
|
47
|
-
});
|
48
|
-
});
|
49
|
-
});
|
50
|
-
});
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const platform_client_1 = require("@coveo/platform-client");
|
4
|
+
const securityIdentityBuilder_1 = require("./securityIdentityBuilder");
|
5
|
+
describe('SecurityIdentityBuilder', () => {
|
6
|
+
describe('when instanciating a UserSecurityIdentityBuilder', () => {
|
7
|
+
it('should not include undefined securityProvider', () => {
|
8
|
+
const identity = new securityIdentityBuilder_1.UserSecurityIdentityBuilder('foo@example.com');
|
9
|
+
expect(identity.build()).toEqual({
|
10
|
+
identity: 'foo@example.com',
|
11
|
+
identityType: platform_client_1.PermissionIdentityType.User,
|
12
|
+
securityProvider: 'Email Security Provider',
|
13
|
+
});
|
14
|
+
});
|
15
|
+
it('should not use provided securityProvider', () => {
|
16
|
+
const identity = new securityIdentityBuilder_1.UserSecurityIdentityBuilder('foo@example.com', 'provider12345');
|
17
|
+
expect(identity.build()).toEqual({
|
18
|
+
identity: 'foo@example.com',
|
19
|
+
identityType: platform_client_1.PermissionIdentityType.User,
|
20
|
+
securityProvider: 'provider12345',
|
21
|
+
});
|
22
|
+
});
|
23
|
+
});
|
24
|
+
describe.each([
|
25
|
+
{
|
26
|
+
identityBuilderClass: securityIdentityBuilder_1.GroupSecurityIdentityBuilder,
|
27
|
+
identityType: platform_client_1.PermissionIdentityType.Group,
|
28
|
+
},
|
29
|
+
{
|
30
|
+
identityBuilderClass: securityIdentityBuilder_1.VirtualGroupSecurityIdentityBuilder,
|
31
|
+
identityType: platform_client_1.PermissionIdentityType.VirtualGroup,
|
32
|
+
},
|
33
|
+
])('when instanciating a $identityBuilderClass.name', ({ identityBuilderClass, identityType }) => {
|
34
|
+
it('should not include undefined securityProvider', () => {
|
35
|
+
const identity = new identityBuilderClass('SampleTeam');
|
36
|
+
expect(identity.build()).toEqual({
|
37
|
+
identity: 'SampleTeam',
|
38
|
+
identityType,
|
39
|
+
});
|
40
|
+
});
|
41
|
+
it('should include securityProvider in the identity', () => {
|
42
|
+
const identity = new identityBuilderClass('SampleTeam', 'provider123456');
|
43
|
+
expect(identity.build()).toEqual({
|
44
|
+
identity: 'SampleTeam',
|
45
|
+
identityType,
|
46
|
+
securityProvider: 'provider123456',
|
47
|
+
});
|
48
|
+
});
|
49
|
+
});
|
50
|
+
});
|
51
51
|
//# sourceMappingURL=securityIdentityBuilder.spec.js.map
|
@@ -1,47 +1,47 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.BatchUploadDocumentsFromFilesReturn = void 0;
|
4
|
-
const fieldUtils_1 = require("../fieldAnalyser/fieldUtils");
|
5
|
-
const file_1 = require("../help/file");
|
6
|
-
const fileConsumer_1 = require("../help/fileConsumer");
|
7
|
-
const index_1 = require("../index");
|
8
|
-
const parseFile_1 = require("../validation/parseFile");
|
9
|
-
class BatchUploadDocumentsFromFilesReturn {
|
10
|
-
constructor(platformClient, strategy, filesOrDirectories, options) {
|
11
|
-
this.consumer = new fileConsumer_1.FileConsumer((batch) => strategy.upload(batch), options);
|
12
|
-
this.internalPromise = (async () => {
|
13
|
-
var _a, _b;
|
14
|
-
let expectedDocumentCount = 0;
|
15
|
-
const files = (0, file_1.getAllJsonFilesFromEntries)(filesOrDirectories);
|
16
|
-
await ((_a = strategy.preUpload) === null || _a === void 0 ? void 0 : _a.call(strategy));
|
17
|
-
const analyser = new index_1.FieldAnalyser(platformClient);
|
18
|
-
for (const filePath of files.values()) {
|
19
|
-
const docBuilders = await (0, parseFile_1.parseAndGetDocumentBuilderFromJSONDocument)(filePath, options);
|
20
|
-
expectedDocumentCount += docBuilders.length;
|
21
|
-
if (options.createFields) {
|
22
|
-
await analyser.add(docBuilders);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
if (options.createFields) {
|
26
|
-
const report = analyser.report();
|
27
|
-
await (0, fieldUtils_1.createFieldsFromReport)(platformClient, report);
|
28
|
-
}
|
29
|
-
this.consumer.expectedDocumentCount = expectedDocumentCount;
|
30
|
-
await this.consumer.consume(files, options);
|
31
|
-
await ((_b = strategy.postUpload) === null || _b === void 0 ? void 0 : _b.call(strategy));
|
32
|
-
}).bind(this);
|
33
|
-
}
|
34
|
-
onBatchUpload(cb) {
|
35
|
-
this.consumer.onSuccess(cb);
|
36
|
-
return this;
|
37
|
-
}
|
38
|
-
onBatchError(cb) {
|
39
|
-
this.consumer.onError(cb);
|
40
|
-
return this;
|
41
|
-
}
|
42
|
-
batch() {
|
43
|
-
return this.internalPromise();
|
44
|
-
}
|
45
|
-
}
|
46
|
-
exports.BatchUploadDocumentsFromFilesReturn = BatchUploadDocumentsFromFilesReturn;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.BatchUploadDocumentsFromFilesReturn = void 0;
|
4
|
+
const fieldUtils_1 = require("../fieldAnalyser/fieldUtils");
|
5
|
+
const file_1 = require("../help/file");
|
6
|
+
const fileConsumer_1 = require("../help/fileConsumer");
|
7
|
+
const index_1 = require("../index");
|
8
|
+
const parseFile_1 = require("../validation/parseFile");
|
9
|
+
class BatchUploadDocumentsFromFilesReturn {
|
10
|
+
constructor(platformClient, strategy, filesOrDirectories, options) {
|
11
|
+
this.consumer = new fileConsumer_1.FileConsumer((batch) => strategy.upload(batch), options);
|
12
|
+
this.internalPromise = (async () => {
|
13
|
+
var _a, _b;
|
14
|
+
let expectedDocumentCount = 0;
|
15
|
+
const files = (0, file_1.getAllJsonFilesFromEntries)(filesOrDirectories);
|
16
|
+
await ((_a = strategy.preUpload) === null || _a === void 0 ? void 0 : _a.call(strategy));
|
17
|
+
const analyser = new index_1.FieldAnalyser(platformClient);
|
18
|
+
for (const filePath of files.values()) {
|
19
|
+
const docBuilders = await (0, parseFile_1.parseAndGetDocumentBuilderFromJSONDocument)(filePath, options);
|
20
|
+
expectedDocumentCount += docBuilders.length;
|
21
|
+
if (options.createFields) {
|
22
|
+
await analyser.add(docBuilders);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
if (options.createFields) {
|
26
|
+
const report = analyser.report();
|
27
|
+
await (0, fieldUtils_1.createFieldsFromReport)(platformClient, report);
|
28
|
+
}
|
29
|
+
this.consumer.expectedDocumentCount = expectedDocumentCount;
|
30
|
+
await this.consumer.consume(files, options);
|
31
|
+
await ((_b = strategy.postUpload) === null || _b === void 0 ? void 0 : _b.call(strategy));
|
32
|
+
}).bind(this);
|
33
|
+
}
|
34
|
+
onBatchUpload(cb) {
|
35
|
+
this.consumer.onSuccess(cb);
|
36
|
+
return this;
|
37
|
+
}
|
38
|
+
onBatchError(cb) {
|
39
|
+
this.consumer.onError(cb);
|
40
|
+
return this;
|
41
|
+
}
|
42
|
+
batch() {
|
43
|
+
return this.internalPromise();
|
44
|
+
}
|
45
|
+
}
|
46
|
+
exports.BatchUploadDocumentsFromFilesReturn = BatchUploadDocumentsFromFilesReturn;
|
47
47
|
//# sourceMappingURL=batchUploadDocumentsFromFile.js.map
|