@alfresco/aca-playwright-shared 5.1.1 → 5.2.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/api/tags-api.d.ts +8 -2
- package/esm2022/api/api-client-factory.mjs +131 -0
- package/esm2022/api/categories-api.mjs +66 -0
- package/esm2022/api/favorites-api.mjs +130 -0
- package/esm2022/api/file-actions.mjs +167 -0
- package/esm2022/api/nodes-api.mjs +428 -0
- package/esm2022/api/people-api-models.mjs +41 -0
- package/esm2022/api/queries-api.mjs +70 -0
- package/esm2022/api/rules-api.mjs +258 -0
- package/esm2022/api/search-api.mjs +75 -0
- package/esm2022/api/shared-links-api.mjs +137 -0
- package/esm2022/api/sites-api.mjs +156 -0
- package/esm2022/api/tags-api.mjs +92 -0
- package/esm2022/api/trashcan-api.mjs +52 -0
- package/{esm2020 → esm2022}/models/user-model.mjs +11 -5
- package/esm2022/page-objects/components/aca-header.component.mjs +78 -0
- package/esm2022/page-objects/components/actions-dropdown.component.mjs +100 -0
- package/esm2022/page-objects/components/adf-info-drawer.component.mjs +102 -0
- package/esm2022/page-objects/components/base.component.mjs +70 -0
- package/esm2022/page-objects/components/breadcrumb/breadcrumb.component.mjs +47 -0
- package/esm2022/page-objects/components/conditions.component.mjs +72 -0
- package/esm2022/page-objects/components/dataTable/data-table.component.mjs +343 -0
- package/esm2022/page-objects/components/dataTable/mat-menu.component.mjs +67 -0
- package/{esm2020/page-objects/components/dialogs/manage-versions-dialog.component.mjs → esm2022/page-objects/components/dataTable/toolbar.component.mjs} +13 -8
- package/esm2022/page-objects/components/datetime-picker/datetime-picker.component.mjs +53 -0
- package/esm2022/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/adf-folder-dialog.component.mjs +57 -0
- package/esm2022/page-objects/components/dialogs/adf-library-dialog.component.mjs +64 -0
- package/esm2022/page-objects/components/dialogs/content-node-selector-dialog.mjs +68 -0
- package/esm2022/page-objects/components/dialogs/create-from-template-dialog-component.mjs +55 -0
- package/esm2022/page-objects/components/dialogs/delete-trash-dialog.component.mjs +54 -0
- package/esm2022/page-objects/components/dialogs/edit-dialog.component.mjs +39 -0
- package/esm2022/page-objects/components/dialogs/link-rules.component.mjs +58 -0
- package/esm2022/page-objects/components/dialogs/manage-versions-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/password-overlay-dialog.component.mjs +71 -0
- package/esm2022/page-objects/components/dialogs/share-dialog.component.mjs +85 -0
- package/esm2022/page-objects/components/dialogs/upload-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +38 -0
- package/esm2022/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +56 -0
- package/esm2022/page-objects/components/error.component.mjs +34 -0
- package/esm2022/page-objects/components/manageRules/manage-rules-dialog.component.mjs +64 -0
- package/esm2022/page-objects/components/manageRules/manage-rules.component.mjs +70 -0
- package/esm2022/page-objects/components/pagination.component.mjs +174 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-categories.component.mjs +33 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-date.component.mjs +115 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-location.component.mjs +40 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-logic.component.mjs +36 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-properties.component.mjs +83 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-tags.component.mjs +40 -0
- package/esm2022/page-objects/components/search/search-filters.component.mjs +45 -0
- package/esm2022/page-objects/components/search/search-input.component.mjs +48 -0
- package/esm2022/page-objects/components/search/search-overlay.components.mjs +83 -0
- package/esm2022/page-objects/components/search/search-sorting-picker.components.mjs +72 -0
- package/esm2022/page-objects/components/sidenav.component.mjs +88 -0
- package/esm2022/page-objects/components/snackBar/snack-bar.component.mjs +54 -0
- package/esm2022/page-objects/components/spinner.component.mjs +41 -0
- package/esm2022/page-objects/components/viewer.component.mjs +110 -0
- package/esm2022/page-objects/pages/base.page.mjs +84 -0
- package/esm2022/page-objects/pages/favorites-libraries.page.mjs +43 -0
- package/esm2022/page-objects/pages/favorites.page.mjs +49 -0
- package/esm2022/page-objects/pages/login.page.mjs +62 -0
- package/esm2022/page-objects/pages/my-libraries.page.mjs +54 -0
- package/esm2022/page-objects/pages/nodes.page.mjs +40 -0
- package/esm2022/page-objects/pages/personal-files.page.mjs +85 -0
- package/esm2022/page-objects/pages/recent-files.page.mjs +45 -0
- package/esm2022/page-objects/pages/search.page.mjs +79 -0
- package/esm2022/page-objects/pages/shared.page.mjs +45 -0
- package/esm2022/page-objects/pages/trash.page.mjs +45 -0
- package/esm2022/page-objects/playwright-base.mjs +33 -0
- package/esm2022/resources/test-files/index.mjs +102 -0
- package/esm2022/utils/logger.mjs +71 -0
- package/esm2022/utils/utils.mjs +145 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-playwright-shared.mjs +816 -675
- package/fesm2022/alfresco-aca-playwright-shared.mjs.map +1 -0
- package/package.json +5 -11
- package/page-objects/components/adf-info-drawer.component.d.ts +18 -0
- package/page-objects/components/viewer.component.d.ts +11 -0
- package/page-objects/pages/search.page.d.ts +1 -1
- package/resources/test-files/index.d.ts +24 -0
- package/utils/utils.d.ts +2 -2
- package/esm2020/api/api-client-factory.mjs +0 -111
- package/esm2020/api/categories-api.mjs +0 -65
- package/esm2020/api/favorites-api.mjs +0 -129
- package/esm2020/api/file-actions.mjs +0 -166
- package/esm2020/api/nodes-api.mjs +0 -427
- package/esm2020/api/people-api-models.mjs +0 -34
- package/esm2020/api/queries-api.mjs +0 -69
- package/esm2020/api/rules-api.mjs +0 -251
- package/esm2020/api/search-api.mjs +0 -74
- package/esm2020/api/shared-links-api.mjs +0 -136
- package/esm2020/api/sites-api.mjs +0 -155
- package/esm2020/api/tags-api.mjs +0 -61
- package/esm2020/api/trashcan-api.mjs +0 -54
- package/esm2020/page-objects/components/aca-header.component.mjs +0 -77
- package/esm2020/page-objects/components/actions-dropdown.component.mjs +0 -99
- package/esm2020/page-objects/components/adf-info-drawer.component.mjs +0 -83
- package/esm2020/page-objects/components/base.component.mjs +0 -69
- package/esm2020/page-objects/components/breadcrumb/breadcrumb.component.mjs +0 -46
- package/esm2020/page-objects/components/conditions.component.mjs +0 -75
- package/esm2020/page-objects/components/dataTable/data-table.component.mjs +0 -341
- package/esm2020/page-objects/components/dataTable/mat-menu.component.mjs +0 -66
- package/esm2020/page-objects/components/dataTable/toolbar.component.mjs +0 -39
- package/esm2020/page-objects/components/datetime-picker/datetime-picker.component.mjs +0 -52
- package/esm2020/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +0 -35
- package/esm2020/page-objects/components/dialogs/adf-folder-dialog.component.mjs +0 -56
- package/esm2020/page-objects/components/dialogs/adf-library-dialog.component.mjs +0 -63
- package/esm2020/page-objects/components/dialogs/content-node-selector-dialog.mjs +0 -67
- package/esm2020/page-objects/components/dialogs/create-from-template-dialog-component.mjs +0 -54
- package/esm2020/page-objects/components/dialogs/delete-trash-dialog.component.mjs +0 -53
- package/esm2020/page-objects/components/dialogs/edit-dialog.component.mjs +0 -38
- package/esm2020/page-objects/components/dialogs/link-rules.component.mjs +0 -57
- package/esm2020/page-objects/components/dialogs/password-overlay-dialog.component.mjs +0 -70
- package/esm2020/page-objects/components/dialogs/share-dialog.component.mjs +0 -84
- package/esm2020/page-objects/components/dialogs/upload-dialog.component.mjs +0 -35
- package/esm2020/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +0 -37
- package/esm2020/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +0 -55
- package/esm2020/page-objects/components/error.component.mjs +0 -33
- package/esm2020/page-objects/components/manageRules/manage-rules-dialog.component.mjs +0 -63
- package/esm2020/page-objects/components/manageRules/manage-rules.component.mjs +0 -69
- package/esm2020/page-objects/components/pagination.component.mjs +0 -173
- package/esm2020/page-objects/components/search/search-filters/search-filters-categories.component.mjs +0 -32
- package/esm2020/page-objects/components/search/search-filters/search-filters-date.component.mjs +0 -114
- package/esm2020/page-objects/components/search/search-filters/search-filters-location.component.mjs +0 -39
- package/esm2020/page-objects/components/search/search-filters/search-filters-logic.component.mjs +0 -35
- package/esm2020/page-objects/components/search/search-filters/search-filters-properties.component.mjs +0 -82
- package/esm2020/page-objects/components/search/search-filters/search-filters-tags.component.mjs +0 -39
- package/esm2020/page-objects/components/search/search-filters.component.mjs +0 -44
- package/esm2020/page-objects/components/search/search-input.component.mjs +0 -47
- package/esm2020/page-objects/components/search/search-overlay.components.mjs +0 -82
- package/esm2020/page-objects/components/search/search-sorting-picker.components.mjs +0 -71
- package/esm2020/page-objects/components/sidenav.component.mjs +0 -86
- package/esm2020/page-objects/components/snackBar/snack-bar.component.mjs +0 -53
- package/esm2020/page-objects/components/spinner.component.mjs +0 -40
- package/esm2020/page-objects/components/viewer.component.mjs +0 -92
- package/esm2020/page-objects/pages/base.page.mjs +0 -80
- package/esm2020/page-objects/pages/favorites-libraries.page.mjs +0 -42
- package/esm2020/page-objects/pages/favorites.page.mjs +0 -48
- package/esm2020/page-objects/pages/login.page.mjs +0 -61
- package/esm2020/page-objects/pages/my-libraries.page.mjs +0 -53
- package/esm2020/page-objects/pages/nodes.page.mjs +0 -39
- package/esm2020/page-objects/pages/personal-files.page.mjs +0 -84
- package/esm2020/page-objects/pages/recent-files.page.mjs +0 -44
- package/esm2020/page-objects/pages/search.page.mjs +0 -78
- package/esm2020/page-objects/pages/shared.page.mjs +0 -44
- package/esm2020/page-objects/pages/trash.page.mjs +0 -44
- package/esm2020/page-objects/playwright-base.mjs +0 -31
- package/esm2020/resources/test-files/index.mjs +0 -78
- package/esm2020/utils/logger.mjs +0 -69
- package/esm2020/utils/utils.mjs +0 -144
- package/fesm2015/alfresco-aca-playwright-shared.mjs +0 -6267
- package/fesm2015/alfresco-aca-playwright-shared.mjs.map +0 -1
- package/fesm2020/alfresco-aca-playwright-shared.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alfresco-aca-playwright-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/api/index.mjs +0 -0
- /package/{esm2020 → esm2022}/api/node-content-tree.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/global-variables.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/global.setup.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/index.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/playwright.config.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/report-portal.config.mjs +0 -0
- /package/{esm2020 → esm2022}/fixtures/index.mjs +0 -0
- /package/{esm2020 → esm2022}/fixtures/page-initialization.mjs +0 -0
- /package/{esm2020 → esm2022}/models/custom-config.mjs +0 -0
- /package/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/dataTable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/dialogs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/manageRules/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/pages/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/test-data-files-folders.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/test-data-permissions.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/api.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/config.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/error-strings.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/exclude-tests.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/library-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/paths.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/state-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/timeouts.mjs +0 -0
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { ApiClientFactory } from './api-client-factory';
|
|
25
|
-
import * as crypto from 'crypto';
|
|
26
|
-
export class RulesApi {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.apiService = new ApiClientFactory();
|
|
29
|
-
}
|
|
30
|
-
static async initialize(userName, password) {
|
|
31
|
-
const classObj = new RulesApi();
|
|
32
|
-
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
33
|
-
return classObj;
|
|
34
|
-
}
|
|
35
|
-
callApi(path, httpMethod, body = {}) {
|
|
36
|
-
// APIs used by this service are still private and not yet available for public use
|
|
37
|
-
const params = [{}, {}, {}, {}, body, ['application/json'], ['application/json']];
|
|
38
|
-
return this.apiService.alfrescoApi.contentPrivateClient.callApi(path, httpMethod, ...params);
|
|
39
|
-
}
|
|
40
|
-
async createRule(nodeId, rule, ruleSetId = '-default-') {
|
|
41
|
-
const response = await this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules`, 'POST', { ...rule });
|
|
42
|
-
return response.entry;
|
|
43
|
-
}
|
|
44
|
-
async createRandomRule(folderId, ruleName) {
|
|
45
|
-
const randomActionsIndex = crypto.randomInt(0, ActionTypes.actions.length);
|
|
46
|
-
const randomAction = ActionTypes.actions[randomActionsIndex];
|
|
47
|
-
return this.createRule(folderId, {
|
|
48
|
-
name: ruleName,
|
|
49
|
-
isEnabled: true,
|
|
50
|
-
actions: [randomAction]
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
async createRandomRuleWithMultipleConditions(folderId, ruleName, numOfConditions) {
|
|
54
|
-
if (numOfConditions > ConditionsTypes.conditions.length) {
|
|
55
|
-
numOfConditions = ConditionsTypes.conditions.length;
|
|
56
|
-
}
|
|
57
|
-
const randomActionsIndex = crypto.randomInt(0, ActionTypes.actions.length);
|
|
58
|
-
const randomAction = ActionTypes.actions[randomActionsIndex];
|
|
59
|
-
const conditionsArray = [];
|
|
60
|
-
for (let i = 0; i < numOfConditions; i++) {
|
|
61
|
-
const randomIndex = crypto.randomInt(0, ConditionsTypes.conditions.length);
|
|
62
|
-
const randomCondition = ConditionsTypes.conditions[randomIndex];
|
|
63
|
-
conditionsArray.push(randomCondition);
|
|
64
|
-
}
|
|
65
|
-
return this.createRule(folderId, {
|
|
66
|
-
name: ruleName,
|
|
67
|
-
isEnabled: true,
|
|
68
|
-
actions: [randomAction],
|
|
69
|
-
conditions: {
|
|
70
|
-
inverted: false,
|
|
71
|
-
booleanMode: 'and',
|
|
72
|
-
compositeConditions: conditionsArray
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
async createRandomRuleWithMultipleActions(folderId, ruleName, numOfActions) {
|
|
77
|
-
if (numOfActions > ActionTypes.actions.length) {
|
|
78
|
-
numOfActions = ActionTypes.actions.length;
|
|
79
|
-
}
|
|
80
|
-
const actionsArray = [];
|
|
81
|
-
for (let i = 0; i < numOfActions; i++) {
|
|
82
|
-
const randomIndex = crypto.randomInt(0, ActionTypes.actions.length);
|
|
83
|
-
const randomAction = ActionTypes.actions[randomIndex];
|
|
84
|
-
actionsArray.push(randomAction);
|
|
85
|
-
}
|
|
86
|
-
return this.createRule(folderId, {
|
|
87
|
-
name: ruleName,
|
|
88
|
-
isEnabled: true,
|
|
89
|
-
actions: actionsArray
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
async createRandomComplexRule(folderId, ruleName, numOfConditions, numOfActions, ruleDescription) {
|
|
93
|
-
if (numOfConditions > ConditionsTypes.conditions.length) {
|
|
94
|
-
numOfConditions = ConditionsTypes.conditions.length;
|
|
95
|
-
}
|
|
96
|
-
const conditionsArray = [];
|
|
97
|
-
for (let i = 0; i < numOfConditions; i++) {
|
|
98
|
-
const randomIndex = crypto.randomInt(0, ConditionsTypes.conditions.length);
|
|
99
|
-
const randomCondition = ConditionsTypes.conditions[randomIndex];
|
|
100
|
-
conditionsArray.push(randomCondition);
|
|
101
|
-
}
|
|
102
|
-
if (numOfActions > ActionTypes.actions.length) {
|
|
103
|
-
numOfActions = ActionTypes.actions.length;
|
|
104
|
-
}
|
|
105
|
-
const actionsArray = [];
|
|
106
|
-
for (let i = 0; i < numOfActions; i++) {
|
|
107
|
-
const randomIndex = crypto.randomInt(0, ActionTypes.actions.length);
|
|
108
|
-
const randomAction = ActionTypes.actions[randomIndex];
|
|
109
|
-
actionsArray.push(randomAction);
|
|
110
|
-
}
|
|
111
|
-
return this.createRule(folderId, {
|
|
112
|
-
name: ruleName,
|
|
113
|
-
description: ruleDescription,
|
|
114
|
-
isEnabled: true,
|
|
115
|
-
actions: actionsArray,
|
|
116
|
-
conditions: {
|
|
117
|
-
inverted: false,
|
|
118
|
-
booleanMode: 'and',
|
|
119
|
-
compositeConditions: conditionsArray
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
async createRuleWithRandomAspects(folderId, ruleName) {
|
|
124
|
-
return this.createRule(folderId, {
|
|
125
|
-
name: ruleName,
|
|
126
|
-
isEnabled: true,
|
|
127
|
-
actions: [
|
|
128
|
-
{
|
|
129
|
-
actionDefinitionId: 'add-features',
|
|
130
|
-
params: {
|
|
131
|
-
'aspect-name': 'sc:controlsAreClearance'
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
actionDefinitionId: 'add-features',
|
|
136
|
-
params: {
|
|
137
|
-
'aspect-name': 'sfdc:objectModel'
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
actionDefinitionId: 'add-features',
|
|
142
|
-
params: {
|
|
143
|
-
'aspect-name': 'sfdc:folder'
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
]
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
async createRuleWithDestinationFolder(folderId, ruleName, actionType, destinationFolderId) {
|
|
150
|
-
return this.createRule(folderId, {
|
|
151
|
-
name: ruleName,
|
|
152
|
-
isEnabled: true,
|
|
153
|
-
actions: [
|
|
154
|
-
{
|
|
155
|
-
actionDefinitionId: actionType,
|
|
156
|
-
params: {
|
|
157
|
-
'destination-folder': destinationFolderId
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
export class ActionTypes {
|
|
165
|
-
constructor(key, value) {
|
|
166
|
-
this.key = key;
|
|
167
|
-
this.value = value;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
ActionTypes.ADDFEATURES = new ActionTypes('ADDFEATURES', {
|
|
171
|
-
actionDefinitionId: 'add-features',
|
|
172
|
-
params: { 'aspect-name': 'cm:thumbnailed' }
|
|
173
|
-
});
|
|
174
|
-
ActionTypes.CHECKIN = new ActionTypes('CHECKIN', {
|
|
175
|
-
actionDefinitionId: 'check-in',
|
|
176
|
-
params: {
|
|
177
|
-
description: 'test',
|
|
178
|
-
minorChange: true
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
ActionTypes.SPECIALISETYPE = new ActionTypes('SPECIALISETYPE', {
|
|
182
|
-
actionDefinitionId: 'specialise-type',
|
|
183
|
-
params: { 'type-name': 'sys:base' }
|
|
184
|
-
});
|
|
185
|
-
ActionTypes.RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
|
|
186
|
-
actionDefinitionId: 'recordable-version-config',
|
|
187
|
-
params: { version: 'ALL' }
|
|
188
|
-
});
|
|
189
|
-
ActionTypes.SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
|
|
190
|
-
actionDefinitionId: 'set-property-value',
|
|
191
|
-
params: { property: 'dl:ganttPercentComplete', value: 'test' }
|
|
192
|
-
});
|
|
193
|
-
ActionTypes.actions = [
|
|
194
|
-
ActionTypes.ADDFEATURES.value,
|
|
195
|
-
ActionTypes.CHECKIN.value,
|
|
196
|
-
ActionTypes.RECORDABLEVERSION.value,
|
|
197
|
-
ActionTypes.SPECIALISETYPE.value,
|
|
198
|
-
ActionTypes.SETPROPERTYVALUE.value
|
|
199
|
-
];
|
|
200
|
-
export class ConditionsTypes {
|
|
201
|
-
constructor(key, value) {
|
|
202
|
-
this.key = key;
|
|
203
|
-
this.value = value;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
ConditionsTypes.MIMETYPE = new ConditionsTypes('MIMETYPE', {
|
|
207
|
-
inverted: false,
|
|
208
|
-
booleanMode: 'and',
|
|
209
|
-
simpleConditions: [
|
|
210
|
-
{
|
|
211
|
-
field: 'mimetype',
|
|
212
|
-
comparator: 'equals',
|
|
213
|
-
parameter: 'video/3gpp'
|
|
214
|
-
}
|
|
215
|
-
]
|
|
216
|
-
});
|
|
217
|
-
ConditionsTypes.CMNAME = new ConditionsTypes('CM:NAME', {
|
|
218
|
-
inverted: false,
|
|
219
|
-
booleanMode: 'and',
|
|
220
|
-
simpleConditions: [
|
|
221
|
-
{
|
|
222
|
-
field: 'cm:name',
|
|
223
|
-
comparator: 'equals',
|
|
224
|
-
parameter: 'testname'
|
|
225
|
-
}
|
|
226
|
-
]
|
|
227
|
-
});
|
|
228
|
-
ConditionsTypes.SIZE = new ConditionsTypes('SIZE', {
|
|
229
|
-
inverted: false,
|
|
230
|
-
booleanMode: 'and',
|
|
231
|
-
simpleConditions: [
|
|
232
|
-
{
|
|
233
|
-
field: 'size',
|
|
234
|
-
comparator: 'equals',
|
|
235
|
-
parameter: '345'
|
|
236
|
-
}
|
|
237
|
-
]
|
|
238
|
-
});
|
|
239
|
-
ConditionsTypes.TAG = new ConditionsTypes('TAG', {
|
|
240
|
-
inverted: false,
|
|
241
|
-
booleanMode: 'and',
|
|
242
|
-
simpleConditions: [
|
|
243
|
-
{
|
|
244
|
-
field: 'tag',
|
|
245
|
-
comparator: 'equals',
|
|
246
|
-
parameter: 'testtag'
|
|
247
|
-
}
|
|
248
|
-
]
|
|
249
|
-
});
|
|
250
|
-
ConditionsTypes.conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CMNAME.value, ConditionsTypes.SIZE.value, ConditionsTypes.TAG.value];
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hcGkvcnVsZXMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFakMsTUFBTSxPQUFPLFFBQVE7SUFHbkI7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxRQUFpQjtRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxPQUFPLENBQUMsSUFBWSxFQUFFLFVBQWtCLEVBQUUsT0FBZSxFQUFFO1FBQ2pFLG1GQUFtRjtRQUNuRixNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBbUIsRUFBRSxZQUFvQixXQUFXO1FB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SztJQUNmLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGdCQUFnQixFQUFFO1FBQ2hCO1lBQ0UsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsUUFBUTtZQUNwQixTQUFTLEVBQUUsU0FBUztTQUNyQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBQ2EsMEJBQVUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQXBpQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vYXBpLWNsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IEFjYUZvbGRlclJ1bGVzTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcyc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIFJ1bGVzQXBpIHtcbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlDbGllbnRGYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXBpU2VydmljZSA9IG5ldyBBcGlDbGllbnRGYWN0b3J5KCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSh1c2VyTmFtZTogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8UnVsZXNBcGk+IHtcbiAgICBjb25zdCBjbGFzc09iaiA9IG5ldyBSdWxlc0FwaSgpO1xuICAgIGF3YWl0IGNsYXNzT2JqLmFwaVNlcnZpY2Uuc2V0VXBBY2FCYWNrZW5kKHVzZXJOYW1lLCBwYXNzd29yZCk7XG4gICAgcmV0dXJuIGNsYXNzT2JqO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxsQXBpKHBhdGg6IHN0cmluZywgaHR0cE1ldGhvZDogc3RyaW5nLCBib2R5OiBvYmplY3QgPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gQVBJcyB1c2VkIGJ5IHRoaXMgc2VydmljZSBhcmUgc3RpbGwgcHJpdmF0ZSBhbmQgbm90IHlldCBhdmFpbGFibGUgZm9yIHB1YmxpYyB1c2VcbiAgICBjb25zdCBwYXJhbXMgPSBbe30sIHt9LCB7fSwge30sIGJvZHksIFsnYXBwbGljYXRpb24vanNvbiddLCBbJ2FwcGxpY2F0aW9uL2pzb24nXV07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5hbGZyZXNjb0FwaS5jb250ZW50UHJpdmF0ZUNsaWVudC5jYWxsQXBpKHBhdGgsIGh0dHBNZXRob2QsIC4uLnBhcmFtcyk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVSdWxlKG5vZGVJZDogc3RyaW5nLCBydWxlOiBQYXJ0aWFsPFJ1bGU+LCBydWxlU2V0SWQ6IHN0cmluZyA9ICctZGVmYXVsdC0nKTogUHJvbWlzZTxSdWxlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxBcGkoYC9ub2Rlcy8ke25vZGVJZH0vcnVsZS1zZXRzLyR7cnVsZVNldElkfS9ydWxlc2AsICdQT1NUJywgeyAuLi5ydWxlIH0pO1xuICAgIHJldHVybiByZXNwb25zZS5lbnRyeTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJhbmRvbVJ1bGUoZm9sZGVySWQ6IHN0cmluZywgcnVsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8UnVsZT4ge1xuICAgIGNvbnN0IHJhbmRvbUFjdGlvbnNJbmRleCA9IGNyeXB0by5yYW5kb21JbnQoMCwgQWN0aW9uVHlwZXMuYWN0aW9ucy5sZW5ndGgpO1xuICAgIGNvbnN0IHJhbmRvbUFjdGlvbiA9IEFjdGlvblR5cGVzLmFjdGlvbnNbcmFuZG9tQWN0aW9uc0luZGV4XTtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSdWxlKGZvbGRlcklkLCB7XG4gICAgICBuYW1lOiBydWxlTmFtZSxcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGFjdGlvbnM6IFtyYW5kb21BY3Rpb25dXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVSYW5kb21SdWxlV2l0aE11bHRpcGxlQ29uZGl0aW9ucyhmb2xkZXJJZDogc3RyaW5nLCBydWxlTmFtZTogc3RyaW5nLCBudW1PZkNvbmRpdGlvbnM6IG51bWJlcik6IFByb21pc2U8UnVsZT4ge1xuICAgIGlmIChudW1PZkNvbmRpdGlvbnMgPiBDb25kaXRpb25zVHlwZXMuY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgIG51bU9mQ29uZGl0aW9ucyA9IENvbmRpdGlvbnNUeXBlcy5jb25kaXRpb25zLmxlbmd0aDtcbiAgICB9XG4gICAgY29uc3QgcmFuZG9tQWN0aW9uc0luZGV4ID0gY3J5cHRvLnJhbmRvbUludCgwLCBBY3Rpb25UeXBlcy5hY3Rpb25zLmxlbmd0aCk7XG4gICAgY29uc3QgcmFuZG9tQWN0aW9uID0gQWN0aW9uVHlwZXMuYWN0aW9uc1tyYW5kb21BY3Rpb25zSW5kZXhdO1xuICAgIGNvbnN0IGNvbmRpdGlvbnNBcnJheSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZDb25kaXRpb25zOyBpKyspIHtcbiAgICAgIGNvbnN0IHJhbmRvbUluZGV4ID0gY3J5cHRvLnJhbmRvbUludCgwLCBDb25kaXRpb25zVHlwZXMuY29uZGl0aW9ucy5sZW5ndGgpO1xuICAgICAgY29uc3QgcmFuZG9tQ29uZGl0aW9uID0gQ29uZGl0aW9uc1R5cGVzLmNvbmRpdGlvbnNbcmFuZG9tSW5kZXhdO1xuICAgICAgY29uZGl0aW9uc0FycmF5LnB1c2gocmFuZG9tQ29uZGl0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUnVsZShmb2xkZXJJZCwge1xuICAgICAgbmFtZTogcnVsZU5hbWUsXG4gICAgICBpc0VuYWJsZWQ6IHRydWUsXG4gICAgICBhY3Rpb25zOiBbcmFuZG9tQWN0aW9uXSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgICBib29sZWFuTW9kZTogJ2FuZCcsXG4gICAgICAgIGNvbXBvc2l0ZUNvbmRpdGlvbnM6IGNvbmRpdGlvbnNBcnJheVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlUmFuZG9tUnVsZVdpdGhNdWx0aXBsZUFjdGlvbnMoZm9sZGVySWQ6IHN0cmluZywgcnVsZU5hbWU6IHN0cmluZywgbnVtT2ZBY3Rpb25zOiBudW1iZXIpOiBQcm9taXNlPFJ1bGU+IHtcbiAgICBpZiAobnVtT2ZBY3Rpb25zID4gQWN0aW9uVHlwZXMuYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIG51bU9mQWN0aW9ucyA9IEFjdGlvblR5cGVzLmFjdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCBhY3Rpb25zQXJyYXkgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU9mQWN0aW9uczsgaSsrKSB7XG4gICAgICBjb25zdCByYW5kb21JbmRleCA9IGNyeXB0by5yYW5kb21JbnQoMCwgQWN0aW9uVHlwZXMuYWN0aW9ucy5sZW5ndGgpO1xuICAgICAgY29uc3QgcmFuZG9tQWN0aW9uID0gQWN0aW9uVHlwZXMuYWN0aW9uc1tyYW5kb21JbmRleF07XG4gICAgICBhY3Rpb25zQXJyYXkucHVzaChyYW5kb21BY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSdWxlKGZvbGRlcklkLCB7XG4gICAgICBuYW1lOiBydWxlTmFtZSxcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGFjdGlvbnM6IGFjdGlvbnNBcnJheVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlUmFuZG9tQ29tcGxleFJ1bGUoXG4gICAgZm9sZGVySWQ6IHN0cmluZyxcbiAgICBydWxlTmFtZTogc3RyaW5nLFxuICAgIG51bU9mQ29uZGl0aW9uczogbnVtYmVyLFxuICAgIG51bU9mQWN0aW9uczogbnVtYmVyLFxuICAgIHJ1bGVEZXNjcmlwdGlvbj86IHN0cmluZ1xuICApOiBQcm9taXNlPFJ1bGU+IHtcbiAgICBpZiAobnVtT2ZDb25kaXRpb25zID4gQ29uZGl0aW9uc1R5cGVzLmNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICBudW1PZkNvbmRpdGlvbnMgPSBDb25kaXRpb25zVHlwZXMuY29uZGl0aW9ucy5sZW5ndGg7XG4gICAgfVxuICAgIGNvbnN0IGNvbmRpdGlvbnNBcnJheSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZDb25kaXRpb25zOyBpKyspIHtcbiAgICAgIGNvbnN0IHJhbmRvbUluZGV4ID0gY3J5cHRvLnJhbmRvbUludCgwLCBDb25kaXRpb25zVHlwZXMuY29uZGl0aW9ucy5sZW5ndGgpO1xuICAgICAgY29uc3QgcmFuZG9tQ29uZGl0aW9uID0gQ29uZGl0aW9uc1R5cGVzLmNvbmRpdGlvbnNbcmFuZG9tSW5kZXhdO1xuICAgICAgY29uZGl0aW9uc0FycmF5LnB1c2gocmFuZG9tQ29uZGl0aW9uKTtcbiAgICB9XG4gICAgaWYgKG51bU9mQWN0aW9ucyA+IEFjdGlvblR5cGVzLmFjdGlvbnMubGVuZ3RoKSB7XG4gICAgICBudW1PZkFjdGlvbnMgPSBBY3Rpb25UeXBlcy5hY3Rpb25zLmxlbmd0aDtcbiAgICB9XG4gICAgY29uc3QgYWN0aW9uc0FycmF5ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1PZkFjdGlvbnM7IGkrKykge1xuICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBjcnlwdG8ucmFuZG9tSW50KDAsIEFjdGlvblR5cGVzLmFjdGlvbnMubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHJhbmRvbUFjdGlvbiA9IEFjdGlvblR5cGVzLmFjdGlvbnNbcmFuZG9tSW5kZXhdO1xuICAgICAgYWN0aW9uc0FycmF5LnB1c2gocmFuZG9tQWN0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUnVsZShmb2xkZXJJZCwge1xuICAgICAgbmFtZTogcnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcnVsZURlc2NyaXB0aW9uLFxuICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgYWN0aW9uczogYWN0aW9uc0FycmF5LFxuICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICBpbnZlcnRlZDogZmFsc2UsXG4gICAgICAgIGJvb2xlYW5Nb2RlOiAnYW5kJyxcbiAgICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogY29uZGl0aW9uc0FycmF5XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVSdWxlV2l0aFJhbmRvbUFzcGVjdHMoZm9sZGVySWQ6IHN0cmluZywgcnVsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8UnVsZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJ1bGUoZm9sZGVySWQsIHtcbiAgICAgIG5hbWU6IHJ1bGVOYW1lLFxuICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiAnYWRkLWZlYXR1cmVzJyxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICdhc3BlY3QtbmFtZSc6ICdzYzpjb250cm9sc0FyZUNsZWFyYW5jZSdcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6ICdhZGQtZmVhdHVyZXMnLFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgJ2FzcGVjdC1uYW1lJzogJ3NmZGM6b2JqZWN0TW9kZWwnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiAnYWRkLWZlYXR1cmVzJyxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICdhc3BlY3QtbmFtZSc6ICdzZmRjOmZvbGRlcidcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJ1bGVXaXRoRGVzdGluYXRpb25Gb2xkZXIoXG4gICAgZm9sZGVySWQ6IHN0cmluZyxcbiAgICBydWxlTmFtZTogc3RyaW5nLFxuICAgIGFjdGlvblR5cGU6ICdtb3ZlJyB8ICdjb3B5JyB8ICdpbXBvcnQnLFxuICAgIGRlc3RpbmF0aW9uRm9sZGVySWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPFJ1bGU+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSdWxlKGZvbGRlcklkLCB7XG4gICAgICBuYW1lOiBydWxlTmFtZSxcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbkRlZmluaXRpb25JZDogYWN0aW9uVHlwZSxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICdkZXN0aW5hdGlvbi1mb2xkZXInOiBkZXN0aW5hdGlvbkZvbGRlcklkXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG4gIH1cbn1cblxudHlwZSBSdWxlVHJpZ2dlciA9ICdpbmJvdW5kJyB8ICd1cGRhdGUnIHwgJ291dGJvdW5kJztcblxuZXhwb3J0IGludGVyZmFjZSBSdWxlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpc0VuYWJsZWQ6IGJvb2xlYW47XG4gIGlzSW5oZXJpdGFibGU6IGJvb2xlYW47XG4gIGlzQXN5bmNocm9ub3VzOiBib29sZWFuO1xuICBlcnJvclNjcmlwdDogc3RyaW5nO1xuICBpc1NoYXJlZDogYm9vbGVhbjtcbiAgdHJpZ2dlcnM6IFJ1bGVUcmlnZ2VyW107XG4gIGNvbmRpdGlvbnM6IEFjYUZvbGRlclJ1bGVzTW9kdWxlO1xuICBhY3Rpb25zOiBSdWxlQWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUFjdGlvbiB7XG4gIGFjdGlvbkRlZmluaXRpb25JZDogc3RyaW5nO1xuICBwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblR5cGVzIHtcbiAgc3RhdGljIHJlYWRvbmx5IEFEREZFQVRVUkVTID0gbmV3IEFjdGlvblR5cGVzKCdBRERGRUFUVVJFUycsIHtcbiAgICBhY3Rpb25EZWZpbml0aW9uSWQ6ICdhZGQtZmVhdHVyZXMnLFxuICAgIHBhcmFtczogeyAnYXNwZWN0LW5hbWUnOiAnY206dGh1bWJuYWlsZWQnIH1cbiAgfSk7XG4gIHN0YXRpYyByZWFkb25seSBDSEVDS0lOID0gbmV3IEFjdGlvblR5cGVzKCdDSEVDS0lOJywge1xuICAgIGFjdGlvbkRlZmluaXRpb25JZDogJ2NoZWNrLWluJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAndGVzdCcsXG4gICAgICBtaW5vckNoYW5nZTogdHJ1ZVxuICAgIH1cbiAgfSk7XG4gIHN0YXRpYyByZWFkb25seSBTUEVDSUFMSVNFVFlQRSA9IG5ldyBBY3Rpb25UeXBlcygnU1BFQ0lBTElTRVRZUEUnLCB7XG4gICAgYWN0aW9uRGVmaW5pdGlvbklkOiAnc3BlY2lhbGlzZS10eXBlJyxcbiAgICBwYXJhbXM6IHsgJ3R5cGUtbmFtZSc6ICdzeXM6YmFzZScgfVxuICB9KTtcbiAgc3RhdGljIHJlYWRvbmx5IFJFQ09SREFCTEVWRVJTSU9OID0gbmV3IEFjdGlvblR5cGVzKCdSRUNPUkRBQkxFVkVSU0lPTicsIHtcbiAgICBhY3Rpb25EZWZpbml0aW9uSWQ6ICdyZWNvcmRhYmxlLXZlcnNpb24tY29uZmlnJyxcbiAgICBwYXJhbXM6IHsgdmVyc2lvbjogJ0FMTCcgfVxuICB9KTtcbiAgc3RhdGljIHJlYWRvbmx5IFNFVFBST1BFUlRZVkFMVUUgPSBuZXcgQWN0aW9uVHlwZXMoJ1NFVFBST1BFUlRZVkFMVUUnLCB7XG4gICAgYWN0aW9uRGVmaW5pdGlvbklkOiAnc2V0LXByb3BlcnR5LXZhbHVlJyxcbiAgICBwYXJhbXM6IHsgcHJvcGVydHk6ICdkbDpnYW50dFBlcmNlbnRDb21wbGV0ZScsIHZhbHVlOiAndGVzdCcgfVxuICB9KTtcbiAgc3RhdGljIHJlYWRvbmx5IGFjdGlvbnMgPSBbXG4gICAgQWN0aW9uVHlwZXMuQURERkVBVFVSRVMudmFsdWUsXG4gICAgQWN0aW9uVHlwZXMuQ0hFQ0tJTi52YWx1ZSxcbiAgICBBY3Rpb25UeXBlcy5SRUNPUkRBQkxFVkVSU0lPTi52YWx1ZSxcbiAgICBBY3Rpb25UeXBlcy5TUEVDSUFMSVNFVFlQRS52YWx1ZSxcbiAgICBBY3Rpb25UeXBlcy5TRVRQUk9QRVJUWVZBTFVFLnZhbHVlXG4gIF07XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBrZXk6IHN0cmluZywgcHVibGljIHZhbHVlOiBSdWxlQWN0aW9uKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZGl0aW9uc1R5cGVzIHtcbiAgc3RhdGljIHJlYWRvbmx5IE1JTUVUWVBFID0gbmV3IENvbmRpdGlvbnNUeXBlcygnTUlNRVRZUEUnLCB7XG4gICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgIGJvb2xlYW5Nb2RlOiAnYW5kJyxcbiAgICBzaW1wbGVDb25kaXRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGZpZWxkOiAnbWltZXR5cGUnLFxuICAgICAgICBjb21wYXJhdG9yOiAnZXF1YWxzJyxcbiAgICAgICAgcGFyYW1ldGVyOiAndmlkZW8vM2dwcCdcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICBzdGF0aWMgcmVhZG9ubHkgQ01OQU1FID0gbmV3IENvbmRpdGlvbnNUeXBlcygnQ006TkFNRScsIHtcbiAgICBpbnZlcnRlZDogZmFsc2UsXG4gICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgIHNpbXBsZUNvbmRpdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdjbTpuYW1lJyxcbiAgICAgICAgY29tcGFyYXRvcjogJ2VxdWFscycsXG4gICAgICAgIHBhcmFtZXRlcjogJ3Rlc3RuYW1lJ1xuICAgICAgfVxuICAgIF1cbiAgfSk7XG4gIHN0YXRpYyByZWFkb25seSBTSVpFID0gbmV3IENvbmRpdGlvbnNUeXBlcygnU0laRScsIHtcbiAgICBpbnZlcnRlZDogZmFsc2UsXG4gICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgIHNpbXBsZUNvbmRpdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdzaXplJyxcbiAgICAgICAgY29tcGFyYXRvcjogJ2VxdWFscycsXG4gICAgICAgIHBhcmFtZXRlcjogJzM0NSdcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICBzdGF0aWMgcmVhZG9ubHkgVEFHID0gbmV3IENvbmRpdGlvbnNUeXBlcygnVEFHJywge1xuICAgIGludmVydGVkOiBmYWxzZSxcbiAgICBib29sZWFuTW9kZTogJ2FuZCcsXG4gICAgc2ltcGxlQ29uZGl0aW9uczogW1xuICAgICAge1xuICAgICAgICBmaWVsZDogJ3RhZycsXG4gICAgICAgIGNvbXBhcmF0b3I6ICdlcXVhbHMnLFxuICAgICAgICBwYXJhbWV0ZXI6ICd0ZXN0dGFnJ1xuICAgICAgfVxuICAgIF1cbiAgfSk7XG4gIHN0YXRpYyByZWFkb25seSBjb25kaXRpb25zID0gW0NvbmRpdGlvbnNUeXBlcy5NSU1FVFlQRS52YWx1ZSwgQ29uZGl0aW9uc1R5cGVzLkNNTkFNRS52YWx1ZSwgQ29uZGl0aW9uc1R5cGVzLlNJWkUudmFsdWUsIENvbmRpdGlvbnNUeXBlcy5UQUcudmFsdWVdO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMga2V5OiBzdHJpbmcsIHB1YmxpYyB2YWx1ZTogQWNhRm9sZGVyUnVsZXNNb2R1bGUpIHt9XG59XG4iXX0=
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { ApiClientFactory } from './api-client-factory';
|
|
25
|
-
import { Utils } from '../utils';
|
|
26
|
-
import { ResultSetPaging } from '@alfresco/js-api';
|
|
27
|
-
export class SearchPageApi {
|
|
28
|
-
constructor() {
|
|
29
|
-
this.apiService = new ApiClientFactory();
|
|
30
|
-
}
|
|
31
|
-
static async initialize(userName, password) {
|
|
32
|
-
const classObj = new SearchPageApi();
|
|
33
|
-
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
34
|
-
return classObj;
|
|
35
|
-
}
|
|
36
|
-
async querySearchFiles(username) {
|
|
37
|
-
const data = {
|
|
38
|
-
query: {
|
|
39
|
-
query: '*',
|
|
40
|
-
language: 'afts'
|
|
41
|
-
},
|
|
42
|
-
filterQueries: [
|
|
43
|
-
{ query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },
|
|
44
|
-
{ query: `cm:modifier:${username} OR cm:creator:${username}` },
|
|
45
|
-
{ query: `TYPE:"content" AND -TYPE:"app:filelink" AND -TYPE:"fm:post"` }
|
|
46
|
-
]
|
|
47
|
-
};
|
|
48
|
-
try {
|
|
49
|
-
return this.apiService.search.search(data);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
return new ResultSetPaging();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async getTotalItems(username) {
|
|
56
|
-
return (await this.querySearchFiles(username)).list.pagination.totalItems;
|
|
57
|
-
}
|
|
58
|
-
async waitForApi(username, data) {
|
|
59
|
-
try {
|
|
60
|
-
const searchFiles = async () => {
|
|
61
|
-
const totalItems = await this.getTotalItems(username);
|
|
62
|
-
if (totalItems !== data.expect) {
|
|
63
|
-
return Promise.reject(totalItems);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
return Promise.resolve(totalItems);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
return Utils.retryCall(searchFiles);
|
|
70
|
-
}
|
|
71
|
-
catch { }
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1wbGF5d3JpZ2h0LXNoYXJlZC9zcmMvYXBpL3NlYXJjaC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sYUFBYTtJQUd4QjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLFFBQWlCO1FBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUM3QyxNQUFNLElBQUksR0FBRztZQUNYLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsR0FBRztnQkFDVixRQUFRLEVBQUUsTUFBTTthQUNqQjtZQUNELGFBQWEsRUFBRTtnQkFDYixFQUFFLEtBQUssRUFBRSw4Q0FBOEMsRUFBRTtnQkFDekQsRUFBRSxLQUFLLEVBQUUsZUFBZSxRQUFRLGtCQUFrQixRQUFRLEVBQUUsRUFBRTtnQkFDOUQsRUFBRSxLQUFLLEVBQUUsNkRBQTZELEVBQUU7YUFDekU7U0FDRixDQUFDO1FBRUYsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDO1FBQUMsTUFBTTtZQUNOLE9BQU8sSUFBSSxlQUFlLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWdCO1FBQ2xDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsSUFBd0I7UUFDekQsSUFBSTtZQUNGLE1BQU0sV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUM3QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RELElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQzlCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDbkM7cUJBQU07b0JBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNyQztRQUFDLE1BQU0sR0FBRTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBcGlDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9hcGktY2xpZW50LWZhY3RvcnknO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBSZXN1bHRTZXRQYWdpbmcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcblxuZXhwb3J0IGNsYXNzIFNlYXJjaFBhZ2VBcGkge1xuICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaUNsaWVudEZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hcGlTZXJ2aWNlID0gbmV3IEFwaUNsaWVudEZhY3RvcnkoKTtcbiAgfVxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSh1c2VyTmFtZTogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8U2VhcmNoUGFnZUFwaT4ge1xuICAgIGNvbnN0IGNsYXNzT2JqID0gbmV3IFNlYXJjaFBhZ2VBcGkoKTtcbiAgICBhd2FpdCBjbGFzc09iai5hcGlTZXJ2aWNlLnNldFVwQWNhQmFja2VuZCh1c2VyTmFtZSwgcGFzc3dvcmQpO1xuICAgIHJldHVybiBjbGFzc09iajtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcXVlcnlTZWFyY2hGaWxlcyh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxSZXN1bHRTZXRQYWdpbmc+IHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgcXVlcnk6ICcqJyxcbiAgICAgICAgbGFuZ3VhZ2U6ICdhZnRzJ1xuICAgICAgfSxcbiAgICAgIGZpbHRlclF1ZXJpZXM6IFtcbiAgICAgICAgeyBxdWVyeTogYGNtOm1vZGlmaWVkOltOT1cvREFZLTMwREFZUyBUTyBOT1cvREFZKzFEQVldYCB9LFxuICAgICAgICB7IHF1ZXJ5OiBgY206bW9kaWZpZXI6JHt1c2VybmFtZX0gT1IgY206Y3JlYXRvcjoke3VzZXJuYW1lfWAgfSxcbiAgICAgICAgeyBxdWVyeTogYFRZUEU6XCJjb250ZW50XCIgQU5EIC1UWVBFOlwiYXBwOmZpbGVsaW5rXCIgQU5EIC1UWVBFOlwiZm06cG9zdFwiYCB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnNlYXJjaC5zZWFyY2goZGF0YSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbmV3IFJlc3VsdFNldFBhZ2luZygpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldFRvdGFsSXRlbXModXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLnF1ZXJ5U2VhcmNoRmlsZXModXNlcm5hbWUpKS5saXN0LnBhZ2luYXRpb24udG90YWxJdGVtcztcbiAgfVxuXG4gIGFzeW5jIHdhaXRGb3JBcGkodXNlcm5hbWU6IHN0cmluZywgZGF0YTogeyBleHBlY3Q6IG51bWJlciB9KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlYXJjaEZpbGVzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0b3RhbEl0ZW1zID0gYXdhaXQgdGhpcy5nZXRUb3RhbEl0ZW1zKHVzZXJuYW1lKTtcbiAgICAgICAgaWYgKHRvdGFsSXRlbXMgIT09IGRhdGEuZXhwZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHRvdGFsSXRlbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodG90YWxJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBVdGlscy5yZXRyeUNhbGwoc2VhcmNoRmlsZXMpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { ApiClientFactory } from './api-client-factory';
|
|
25
|
-
import { SharedLinkPaging } from '@alfresco/js-api';
|
|
26
|
-
import { Utils } from '../utils';
|
|
27
|
-
export class SharedLinksApi {
|
|
28
|
-
constructor() {
|
|
29
|
-
this.apiService = new ApiClientFactory();
|
|
30
|
-
}
|
|
31
|
-
static async initialize(userName, password) {
|
|
32
|
-
const classObj = new SharedLinksApi();
|
|
33
|
-
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
34
|
-
return classObj;
|
|
35
|
-
}
|
|
36
|
-
async shareFileById(id, expireDate) {
|
|
37
|
-
try {
|
|
38
|
-
const data = {
|
|
39
|
-
nodeId: id,
|
|
40
|
-
expiresAt: expireDate
|
|
41
|
-
};
|
|
42
|
-
return this.apiService.share.createSharedLink(data);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async shareFilesByIds(ids, expireDate) {
|
|
49
|
-
const sharedLinks = [];
|
|
50
|
-
try {
|
|
51
|
-
if (ids && ids.length > 0) {
|
|
52
|
-
for (const id of ids) {
|
|
53
|
-
const sharedLink = await this.shareFileById(id, expireDate);
|
|
54
|
-
sharedLinks.push(sharedLink);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
console.error(`SharedLinksApi shareFilesByIds : catch : `, error);
|
|
60
|
-
}
|
|
61
|
-
return sharedLinks;
|
|
62
|
-
}
|
|
63
|
-
async getSharedLinks(maxItems = 250) {
|
|
64
|
-
try {
|
|
65
|
-
const opts = {
|
|
66
|
-
maxItems
|
|
67
|
-
};
|
|
68
|
-
return this.apiService.share.listSharedLinks(opts);
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
console.error(`SharedLinksApi getSharedLinks : catch : `, error);
|
|
72
|
-
return new SharedLinkPaging();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async waitForFilesToBeShared(filesIds) {
|
|
76
|
-
try {
|
|
77
|
-
const sharedFile = async () => {
|
|
78
|
-
const sharedFiles = (await this.getSharedLinks()).list.entries.map((link) => link.entry.nodeId);
|
|
79
|
-
const foundItems = filesIds.every((id) => sharedFiles.includes(id));
|
|
80
|
-
if (foundItems) {
|
|
81
|
-
return Promise.resolve(foundItems);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return Promise.reject(foundItems);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
return Utils.retryCall(sharedFile);
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.error(`SharedLinksApi waitForFilesToBeShared : catch : ${error}`);
|
|
91
|
-
console.error(`\tWait timeout reached waiting for files to be shared`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async getSharedIdOfNode(fileId) {
|
|
95
|
-
try {
|
|
96
|
-
const sharedLinksEntries = (await this.getSharedLinks())?.list.entries;
|
|
97
|
-
const found = sharedLinksEntries.find((sharedLink) => sharedLink.entry.nodeId === fileId);
|
|
98
|
-
return found?.entry.id;
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
console.error(`SharedLinksApi getSharedIdOfNode : catch : `, error);
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
async unshareFileById(fileId) {
|
|
106
|
-
try {
|
|
107
|
-
const sharedId = await this.getSharedIdOfNode(fileId);
|
|
108
|
-
return this.apiService.share.deleteSharedLink(sharedId);
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
console.error(`SharedLinksApi unshareFileById : catch : `, error);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
async waitForFilesToNotBeShared(filesIds) {
|
|
115
|
-
try {
|
|
116
|
-
const sharedFile = async () => {
|
|
117
|
-
const sharedFiles = (await this.getSharedLinks()).list.entries.map((link) => link.entry.nodeId);
|
|
118
|
-
const foundItems = filesIds.some((id) => {
|
|
119
|
-
return sharedFiles.includes(id);
|
|
120
|
-
});
|
|
121
|
-
if (foundItems) {
|
|
122
|
-
return Promise.reject(foundItems);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
return Promise.resolve(foundItems);
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
return Utils.retryCall(sharedFile);
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
console.error(`SharedLinksApi waitForFilesToNotBeShared : catch : ${error}`);
|
|
132
|
-
console.error(`\tWait timeout reached waiting for files to no longer be shared`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmtzLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1wbGF5d3JpZ2h0LXNoYXJlZC9zcmMvYXBpL3NoYXJlZC1saW5rcy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxNQUFNLE9BQU8sY0FBYztJQUd6QjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLFFBQWlCO1FBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDdEMsTUFBTSxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBVSxFQUFFLFVBQWlCO1FBQy9DLElBQUk7WUFDRixNQUFNLElBQUksR0FBRztnQkFDWCxNQUFNLEVBQUUsRUFBRTtnQkFDVixTQUFTLEVBQUUsVUFBVTthQUN0QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQWEsRUFBRSxVQUFp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biAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQXBpQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vYXBpLWNsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IFNoYXJlZExpbmtFbnRyeSwgU2hhcmVkTGlua1BhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTaGFyZWRMaW5rc0FwaSB7XG4gIHByaXZhdGUgYXBpU2VydmljZTogQXBpQ2xpZW50RmFjdG9yeTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UgPSBuZXcgQXBpQ2xpZW50RmFjdG9yeSgpO1xuICB9XG4gIHN0YXRpYyBhc3luYyBpbml0aWFsaXplKHVzZXJOYW1lOiBzdHJpbmcsIHBhc3N3b3JkPzogc3RyaW5nKTogUHJvbWlzZTxTaGFyZWRMaW5rc0FwaT4ge1xuICAgIGNvbnN0IGNsYXNzT2JqID0gbmV3IFNoYXJlZExpbmtzQXBpKCk7XG4gICAgYXdhaXQgY2xhc3NPYmouYXBpU2VydmljZS5zZXRVcEFjYUJhY2tlbmQodXNlck5hbWUsIHBhc3N3b3JkKTtcbiAgICByZXR1cm4gY2xhc3NPYmo7XG4gIH1cblxuICBhc3luYyBzaGFyZUZpbGVCeUlkKGlkOiBzdHJpbmcsIGV4cGlyZURhdGU/OiBEYXRlKTogUHJvbWlzZTxTaGFyZWRMaW5rRW50cnkgfCBudWxsPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIG5vZGVJZDogaWQsXG4gICAgICAgIGV4cGlyZXNBdDogZXhwaXJlRGF0ZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uuc2hhcmUuY3JlYXRlU2hhcmVkTGluayhkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2hhcmVGaWxlc0J5SWRzKGlkczogc3RyaW5nW10sIGV4cGlyZURhdGU/OiBEYXRlKTogUHJvbWlzZTxTaGFyZWRMaW5rRW50cnlbXT4ge1xuICAgIGNvbnN0IHNoYXJlZExpbmtzOiBTaGFyZWRMaW5rRW50cnlbXSA9IFtdO1xuICAgIHRyeSB7XG4gICAgICBpZiAoaWRzICYmIGlkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgaWRzKSB7XG4gICAgICAgICAgY29uc3Qgc2hhcmVkTGluayA9IGF3YWl0IHRoaXMuc2hhcmVGaWxlQnlJZChpZCwgZXhwaXJlRGF0ZSk7XG4gICAgICAgICAgc2hhcmVkTGlua3MucHVzaChzaGFyZWRMaW5rKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBTaGFyZWRMaW5rc0FwaSBzaGFyZUZpbGVzQnlJZHMgOiBjYXRjaCA6IGAsIGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHNoYXJlZExpbmtzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRTaGFyZWRMaW5rcyhtYXhJdGVtczogbnVtYmVyID0gMjUwKTogUHJvbWlzZTxTaGFyZWRMaW5rUGFnaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAgIG1heEl0ZW1zXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5zaGFyZS5saXN0U2hhcmVkTGlua3Mob3B0cyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNoYXJlZExpbmtzQXBpIGdldFNoYXJlZExpbmtzIDogY2F0Y2ggOiBgLCBlcnJvcik7XG4gICAgICByZXR1cm4gbmV3IFNoYXJlZExpbmtQYWdpbmcoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB3YWl0Rm9yRmlsZXNUb0JlU2hhcmVkKGZpbGVzSWRzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzaGFyZWRGaWxlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBzaGFyZWRGaWxlcyA9IChhd2FpdCB0aGlzLmdldFNoYXJlZExpbmtzKCkpLmxpc3QuZW50cmllcy5tYXAoKGxpbmspID0+IGxpbmsuZW50cnkubm9kZUlkKTtcbiAgICAgICAgY29uc3QgZm91bmRJdGVtcyA9IGZpbGVzSWRzLmV2ZXJ5KChpZCkgPT4gc2hhcmVkRmlsZXMuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgaWYgKGZvdW5kSXRlbXMpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZvdW5kSXRlbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChmb3VuZEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIFV0aWxzLnJldHJ5Q2FsbChzaGFyZWRGaWxlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2hhcmVkTGlua3NBcGkgd2FpdEZvckZpbGVzVG9CZVNoYXJlZCA6ICBjYXRjaCA6ICR7ZXJyb3J9YCk7XG4gICAgICBjb25zb2xlLmVycm9yKGBcXHRXYWl0IHRpbWVvdXQgcmVhY2hlZCB3YWl0aW5nIGZvciBmaWxlcyB0byBiZSBzaGFyZWRgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFNoYXJlZElkT2ZOb2RlKGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2hhcmVkTGlua3NFbnRyaWVzID0gKGF3YWl0IHRoaXMuZ2V0U2hhcmVkTGlua3MoKSk/Lmxpc3QuZW50cmllcztcbiAgICAgIGNvbnN0IGZvdW5kID0gc2hhcmVkTGlua3NFbnRyaWVzLmZpbmQoKHNoYXJlZExpbmspID0+IHNoYXJlZExpbmsuZW50cnkubm9kZUlkID09PSBmaWxlSWQpO1xuICAgICAgcmV0dXJuIGZvdW5kPy5lbnRyeS5pZDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2hhcmVkTGlua3NBcGkgZ2V0U2hhcmVkSWRPZk5vZGUgOiBjYXRjaCA6IGAsIGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVuc2hhcmVGaWxlQnlJZChmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzaGFyZWRJZCA9IGF3YWl0IHRoaXMuZ2V0U2hhcmVkSWRPZk5vZGUoZmlsZUlkKTtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uuc2hhcmUuZGVsZXRlU2hhcmVkTGluayhzaGFyZWRJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNoYXJlZExpbmtzQXBpIHVuc2hhcmVGaWxlQnlJZCA6IGNhdGNoIDogYCwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHdhaXRGb3JGaWxlc1RvTm90QmVTaGFyZWQoZmlsZXNJZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2hhcmVkRmlsZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoYXdhaXQgdGhpcy5nZXRTaGFyZWRMaW5rcygpKS5saXN0LmVudHJpZXMubWFwKChsaW5rKSA9PiBsaW5rLmVudHJ5Lm5vZGVJZCk7XG5cbiAgICAgICAgY29uc3QgZm91bmRJdGVtcyA9IGZpbGVzSWRzLnNvbWUoKGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHNoYXJlZEZpbGVzLmluY2x1ZGVzKGlkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZvdW5kSXRlbXMpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZm91bmRJdGVtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmb3VuZEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIFV0aWxzLnJldHJ5Q2FsbChzaGFyZWRGaWxlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2hhcmVkTGlua3NBcGkgd2FpdEZvckZpbGVzVG9Ob3RCZVNoYXJlZCA6ICBjYXRjaCA6ICR7ZXJyb3J9YCk7XG4gICAgICBjb25zb2xlLmVycm9yKGBcXHRXYWl0IHRpbWVvdXQgcmVhY2hlZCB3YWl0aW5nIGZvciBmaWxlcyB0byBubyBsb25nZXIgYmUgc2hhcmVkYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|