@alfresco/aca-playwright-shared 5.1.1-10706961491
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/api-client-factory.d.ts +63 -0
- package/api/categories-api.d.ts +32 -0
- package/api/favorites-api.d.ts +41 -0
- package/api/file-actions.d.ts +41 -0
- package/api/index.d.ts +37 -0
- package/api/node-content-tree.d.ts +32 -0
- package/api/nodes-api.d.ts +73 -0
- package/api/people-api-models.d.ts +42 -0
- package/api/queries-api.d.ts +32 -0
- package/api/rules-api.d.ts +79 -0
- package/api/search-api.d.ts +33 -0
- package/api/shared-links-api.d.ts +36 -0
- package/api/sites-api.d.ts +44 -0
- package/api/tags-api.d.ts +32 -0
- package/api/trashcan-api.d.ts +31 -0
- package/base-config/global-variables.d.ts +34 -0
- package/base-config/global.setup.d.ts +27 -0
- package/base-config/index.d.ts +26 -0
- package/base-config/playwright.config.d.ts +25 -0
- package/base-config/report-portal.config.d.ts +40 -0
- package/esm2020/alfresco-aca-playwright-shared.mjs +5 -0
- package/esm2020/api/api-client-factory.mjs +111 -0
- package/esm2020/api/categories-api.mjs +65 -0
- package/esm2020/api/favorites-api.mjs +129 -0
- package/esm2020/api/file-actions.mjs +166 -0
- package/esm2020/api/index.mjs +38 -0
- package/esm2020/api/node-content-tree.mjs +67 -0
- package/esm2020/api/nodes-api.mjs +427 -0
- package/esm2020/api/people-api-models.mjs +34 -0
- package/esm2020/api/queries-api.mjs +69 -0
- package/esm2020/api/rules-api.mjs +251 -0
- package/esm2020/api/search-api.mjs +74 -0
- package/esm2020/api/shared-links-api.mjs +136 -0
- package/esm2020/api/sites-api.mjs +155 -0
- package/esm2020/api/tags-api.mjs +61 -0
- package/esm2020/api/trashcan-api.mjs +54 -0
- package/esm2020/base-config/global-variables.mjs +36 -0
- package/esm2020/base-config/global.setup.mjs +66 -0
- package/esm2020/base-config/index.mjs +27 -0
- package/esm2020/base-config/playwright.config.mjs +78 -0
- package/esm2020/base-config/report-portal.config.mjs +48 -0
- package/esm2020/fixtures/index.mjs +25 -0
- package/esm2020/fixtures/page-initialization.mjs +83 -0
- package/esm2020/models/custom-config.mjs +25 -0
- package/esm2020/models/index.mjs +26 -0
- package/esm2020/models/user-model.mjs +55 -0
- package/esm2020/page-objects/components/aca-header.component.mjs +77 -0
- package/esm2020/page-objects/components/actions-dropdown.component.mjs +99 -0
- package/esm2020/page-objects/components/adf-info-drawer.component.mjs +83 -0
- package/esm2020/page-objects/components/base.component.mjs +69 -0
- package/esm2020/page-objects/components/breadcrumb/breadcrumb.component.mjs +46 -0
- package/esm2020/page-objects/components/conditions.component.mjs +75 -0
- package/esm2020/page-objects/components/dataTable/data-table.component.mjs +327 -0
- package/esm2020/page-objects/components/dataTable/index.mjs +27 -0
- package/esm2020/page-objects/components/dataTable/mat-menu.component.mjs +66 -0
- package/esm2020/page-objects/components/dataTable/toolbar.component.mjs +39 -0
- package/esm2020/page-objects/components/datetime-picker/datetime-picker.component.mjs +52 -0
- package/esm2020/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +35 -0
- package/esm2020/page-objects/components/dialogs/adf-folder-dialog.component.mjs +56 -0
- package/esm2020/page-objects/components/dialogs/adf-library-dialog.component.mjs +63 -0
- package/esm2020/page-objects/components/dialogs/content-node-selector-dialog.mjs +67 -0
- package/esm2020/page-objects/components/dialogs/create-from-template-dialog-component.mjs +54 -0
- package/esm2020/page-objects/components/dialogs/delete-trash-dialog.component.mjs +53 -0
- package/esm2020/page-objects/components/dialogs/edit-dialog.component.mjs +38 -0
- package/esm2020/page-objects/components/dialogs/index.mjs +39 -0
- package/esm2020/page-objects/components/dialogs/link-rules.component.mjs +57 -0
- package/esm2020/page-objects/components/dialogs/manage-versions-dialog.component.mjs +35 -0
- package/esm2020/page-objects/components/dialogs/password-overlay-dialog.component.mjs +70 -0
- package/esm2020/page-objects/components/dialogs/share-dialog.component.mjs +84 -0
- package/esm2020/page-objects/components/dialogs/upload-dialog.component.mjs +35 -0
- package/esm2020/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +37 -0
- package/esm2020/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +55 -0
- package/esm2020/page-objects/components/error.component.mjs +33 -0
- package/esm2020/page-objects/components/index.mjs +50 -0
- package/esm2020/page-objects/components/manageRules/index.mjs +26 -0
- package/esm2020/page-objects/components/manageRules/manage-rules-dialog.component.mjs +63 -0
- package/esm2020/page-objects/components/manageRules/manage-rules.component.mjs +69 -0
- package/esm2020/page-objects/components/pagination.component.mjs +173 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-categories.component.mjs +32 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-date.component.mjs +114 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-location.component.mjs +39 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-logic.component.mjs +35 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-properties.component.mjs +82 -0
- package/esm2020/page-objects/components/search/search-filters/search-filters-tags.component.mjs +39 -0
- package/esm2020/page-objects/components/search/search-filters.component.mjs +44 -0
- package/esm2020/page-objects/components/search/search-input.component.mjs +47 -0
- package/esm2020/page-objects/components/search/search-overlay.components.mjs +82 -0
- package/esm2020/page-objects/components/search/search-sorting-picker.components.mjs +71 -0
- package/esm2020/page-objects/components/sidenav.component.mjs +86 -0
- package/esm2020/page-objects/components/snackBar/snack-bar.component.mjs +53 -0
- package/esm2020/page-objects/components/spinner.component.mjs +40 -0
- package/esm2020/page-objects/components/viewer.component.mjs +92 -0
- package/esm2020/page-objects/index.mjs +26 -0
- package/esm2020/page-objects/pages/base.page.mjs +80 -0
- package/esm2020/page-objects/pages/favorites-libraries.page.mjs +42 -0
- package/esm2020/page-objects/pages/favorites.page.mjs +48 -0
- package/esm2020/page-objects/pages/index.mjs +35 -0
- package/esm2020/page-objects/pages/login.page.mjs +61 -0
- package/esm2020/page-objects/pages/my-libraries.page.mjs +53 -0
- package/esm2020/page-objects/pages/nodes.page.mjs +39 -0
- package/esm2020/page-objects/pages/personal-files.page.mjs +84 -0
- package/esm2020/page-objects/pages/recent-files.page.mjs +44 -0
- package/esm2020/page-objects/pages/search.page.mjs +78 -0
- package/esm2020/page-objects/pages/shared.page.mjs +44 -0
- package/esm2020/page-objects/pages/trash.page.mjs +44 -0
- package/esm2020/page-objects/playwright-base.mjs +31 -0
- package/esm2020/public-api.mjs +31 -0
- package/esm2020/resources/index.mjs +26 -0
- package/esm2020/resources/test-data/index.mjs +26 -0
- package/esm2020/resources/test-data/test-data-files-folders.mjs +53 -0
- package/esm2020/resources/test-data/test-data-permissions.mjs +331 -0
- package/esm2020/resources/test-files/index.mjs +78 -0
- package/esm2020/utils/api.mjs +43 -0
- package/esm2020/utils/config.mjs +70 -0
- package/esm2020/utils/error-strings.mjs +39 -0
- package/esm2020/utils/exclude-tests.mjs +35 -0
- package/esm2020/utils/index.mjs +34 -0
- package/esm2020/utils/library-errors.mjs +29 -0
- package/esm2020/utils/logger.mjs +69 -0
- package/esm2020/utils/paths.mjs +32 -0
- package/esm2020/utils/state-helper.mjs +29 -0
- package/esm2020/utils/timeouts.mjs +39 -0
- package/esm2020/utils/utils.mjs +144 -0
- package/fesm2015/alfresco-aca-playwright-shared.mjs +6251 -0
- package/fesm2015/alfresco-aca-playwright-shared.mjs.map +1 -0
- package/fesm2020/alfresco-aca-playwright-shared.mjs +6895 -0
- package/fesm2020/alfresco-aca-playwright-shared.mjs.map +1 -0
- package/fixtures/index.d.ts +24 -0
- package/fixtures/page-initialization.d.ts +47 -0
- package/index.d.ts +5 -0
- package/models/custom-config.d.ts +27 -0
- package/models/index.d.ts +25 -0
- package/models/user-model.d.ts +37 -0
- package/package.json +35 -0
- package/page-objects/components/aca-header.component.d.ts +53 -0
- package/page-objects/components/actions-dropdown.component.d.ts +71 -0
- package/page-objects/components/adf-info-drawer.component.d.ts +64 -0
- package/page-objects/components/base.component.d.ts +46 -0
- package/page-objects/components/breadcrumb/breadcrumb.component.d.ts +34 -0
- package/page-objects/components/conditions.component.d.ts +46 -0
- package/page-objects/components/dataTable/data-table.component.d.ts +185 -0
- package/page-objects/components/dataTable/index.d.ts +26 -0
- package/page-objects/components/dataTable/mat-menu.component.d.ts +41 -0
- package/page-objects/components/dataTable/toolbar.component.d.ts +33 -0
- package/page-objects/components/datetime-picker/datetime-picker.component.d.ts +36 -0
- package/page-objects/components/dialogs/adf-confirm-dialog.component.d.ts +33 -0
- package/page-objects/components/dialogs/adf-folder-dialog.component.d.ts +45 -0
- package/page-objects/components/dialogs/adf-library-dialog.component.d.ts +45 -0
- package/page-objects/components/dialogs/content-node-selector-dialog.d.ts +42 -0
- package/page-objects/components/dialogs/create-from-template-dialog-component.d.ts +39 -0
- package/page-objects/components/dialogs/delete-trash-dialog.component.d.ts +39 -0
- package/page-objects/components/dialogs/edit-dialog.component.d.ts +36 -0
- package/page-objects/components/dialogs/index.d.ts +38 -0
- package/page-objects/components/dialogs/link-rules.component.d.ts +40 -0
- package/page-objects/components/dialogs/manage-versions-dialog.component.d.ts +30 -0
- package/page-objects/components/dialogs/password-overlay-dialog.component.d.ts +42 -0
- package/page-objects/components/dialogs/share-dialog.component.d.ts +54 -0
- package/page-objects/components/dialogs/upload-dialog.component.d.ts +33 -0
- package/page-objects/components/dialogs/upload-new-version-dialog.component.d.ts +35 -0
- package/page-objects/components/dialogs/viewer-overlay-dialog.component.d.ts +43 -0
- package/page-objects/components/error.component.d.ts +31 -0
- package/page-objects/components/index.d.ts +49 -0
- package/page-objects/components/manageRules/index.d.ts +25 -0
- package/page-objects/components/manageRules/manage-rules-dialog.component.d.ts +51 -0
- package/page-objects/components/manageRules/manage-rules.component.d.ts +46 -0
- package/page-objects/components/pagination.component.d.ts +70 -0
- package/page-objects/components/search/search-filters/search-filters-categories.component.d.ts +30 -0
- package/page-objects/components/search/search-filters/search-filters-date.component.d.ts +73 -0
- package/page-objects/components/search/search-filters/search-filters-location.component.d.ts +32 -0
- package/page-objects/components/search/search-filters/search-filters-logic.component.d.ts +33 -0
- package/page-objects/components/search/search-filters/search-filters-properties.component.d.ts +42 -0
- package/page-objects/components/search/search-filters/search-filters-tags.component.d.ts +32 -0
- package/page-objects/components/search/search-filters.component.d.ts +42 -0
- package/page-objects/components/search/search-input.component.d.ts +40 -0
- package/page-objects/components/search/search-overlay.components.d.ts +45 -0
- package/page-objects/components/search/search-sorting-picker.components.d.ts +41 -0
- package/page-objects/components/sidenav.component.d.ts +45 -0
- package/page-objects/components/snackBar/snack-bar.component.d.ts +37 -0
- package/page-objects/components/spinner.component.d.ts +30 -0
- package/page-objects/components/viewer.component.d.ts +49 -0
- package/page-objects/index.d.ts +25 -0
- package/page-objects/pages/base.page.d.ts +52 -0
- package/page-objects/pages/favorites-libraries.page.d.ts +40 -0
- package/page-objects/pages/favorites.page.d.ts +44 -0
- package/page-objects/pages/index.d.ts +34 -0
- package/page-objects/pages/login.page.d.ts +48 -0
- package/page-objects/pages/my-libraries.page.d.ts +45 -0
- package/page-objects/pages/nodes.page.d.ts +37 -0
- package/page-objects/pages/personal-files.page.d.ts +57 -0
- package/page-objects/pages/recent-files.page.d.ts +42 -0
- package/page-objects/pages/search.page.d.ts +54 -0
- package/page-objects/pages/shared.page.d.ts +42 -0
- package/page-objects/pages/trash.page.d.ts +42 -0
- package/page-objects/playwright-base.d.ts +30 -0
- package/public-api.d.ts +30 -0
- package/resources/index.d.ts +25 -0
- package/resources/test-data/index.d.ts +25 -0
- package/resources/test-data/test-data-files-folders.d.ts +41 -0
- package/resources/test-data/test-data-permissions.d.ts +216 -0
- package/resources/test-files/index.d.ts +76 -0
- package/utils/api.d.ts +26 -0
- package/utils/config.d.ts +69 -0
- package/utils/error-strings.d.ts +38 -0
- package/utils/exclude-tests.d.ts +24 -0
- package/utils/index.d.ts +33 -0
- package/utils/library-errors.d.ts +28 -0
- package/utils/logger.d.ts +54 -0
- package/utils/paths.d.ts +30 -0
- package/utils/state-helper.d.ts +27 -0
- package/utils/timeouts.d.ts +38 -0
- package/utils/utils.d.ts +62 -0
|
@@ -0,0 +1,155 @@
|
|
|
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 { Site, SiteMemberEntry } from '@alfresco/js-api';
|
|
26
|
+
export class SitesApi {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.apiService = new ApiClientFactory();
|
|
29
|
+
}
|
|
30
|
+
static async initialize(userName, password) {
|
|
31
|
+
const classObj = new SitesApi();
|
|
32
|
+
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
33
|
+
return classObj;
|
|
34
|
+
}
|
|
35
|
+
async createSite(title, visibility, description, siteId) {
|
|
36
|
+
const site = {
|
|
37
|
+
title,
|
|
38
|
+
visibility: visibility || Site.VisibilityEnum.PUBLIC,
|
|
39
|
+
description: description,
|
|
40
|
+
id: siteId || title
|
|
41
|
+
};
|
|
42
|
+
try {
|
|
43
|
+
return this.apiService.sites.createSite(site);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
console.error(`SitesApi createSite : catch : `, error);
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async getDocLibId(siteId) {
|
|
51
|
+
try {
|
|
52
|
+
return (await this.apiService.sites.listSiteContainers(siteId)).list.entries[0].entry.id;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error(`SitesApi getDocLibId : catch : `, error);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Delete multiple sites/libraries.
|
|
61
|
+
* @param siteIds The list of the site/library IDs to delete.
|
|
62
|
+
* @param permanent Delete permanently, without moving to the trashcan? (default: true)
|
|
63
|
+
*/
|
|
64
|
+
async deleteSites(siteIds, permanent = true) {
|
|
65
|
+
try {
|
|
66
|
+
if (siteIds && siteIds.length > 0) {
|
|
67
|
+
for (const siteId of siteIds) {
|
|
68
|
+
await this.apiService.sites.deleteSite(siteId, { permanent });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error(`${this.constructor.name} ${this.deleteSites.name}`, error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async updateSiteMember(siteId, userId, role) {
|
|
77
|
+
const siteRole = {
|
|
78
|
+
role: role
|
|
79
|
+
};
|
|
80
|
+
try {
|
|
81
|
+
return this.apiService.sites.updateSiteMembership(siteId, userId, siteRole);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.error(`SitesApi updateSiteMember : catch : `, error);
|
|
85
|
+
return new SiteMemberEntry();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async addSiteMember(siteId, userId, role) {
|
|
89
|
+
const memberBody = {
|
|
90
|
+
id: userId,
|
|
91
|
+
role: role
|
|
92
|
+
};
|
|
93
|
+
try {
|
|
94
|
+
return this.apiService.sites.createSiteMembership(siteId, memberBody);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error.status === 409) {
|
|
98
|
+
return this.updateSiteMember(siteId, userId, role);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.error(`SitesApi addSiteMember : catch : `, error);
|
|
102
|
+
return new SiteMemberEntry();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async createSiteMembershipRequestForPerson(personId, siteId) {
|
|
107
|
+
const body = {
|
|
108
|
+
id: siteId
|
|
109
|
+
};
|
|
110
|
+
try {
|
|
111
|
+
return this.apiService.sites.createSiteMembershipRequestForPerson(personId, body);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error(`SitesApi createSiteMembershipRequestForPerson : catch : `, error);
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async approveSiteMembershipRequest(siteId, inviteeId) {
|
|
119
|
+
try {
|
|
120
|
+
return this.apiService.sites.approveSiteMembershipRequest(siteId, inviteeId);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error(`SitesApi approveSiteMembershipRequest : catch : `, error);
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async hasMembershipRequest(personId, siteId) {
|
|
128
|
+
try {
|
|
129
|
+
const requests = (await this.apiService.sites.listSiteMembershipRequestsForPerson(personId)).list.entries.map((e) => e.entry.id);
|
|
130
|
+
return requests.includes(siteId);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error(`SitesApi hasMembershipRequest : catch : `, error);
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async deleteSiteMember(siteId, userId) {
|
|
138
|
+
try {
|
|
139
|
+
return this.apiService.sites.deleteSiteMembership(siteId, userId);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.error(`SitesApi deleteSiteMember : catch : `, error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async getSite(siteId) {
|
|
146
|
+
try {
|
|
147
|
+
return this.apiService.sites.getSite(siteId);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.error(`SitesApi getSite : catch : `, error);
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hcGkvc2l0ZXMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUNMLElBQUksRUFHSixlQUFlLEVBS2hCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSxPQUFPLFFBQVE7SUFHbkI7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxRQUFpQjtRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxVQUFtQixFQUFFLFdBQW9CLEVBQUUsTUFBZTtRQUN4RixNQUFNLElBQUksR0FBRztZQUNYLEtBQUs7WUFDTCxVQUFVLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtZQUNwRCxXQUFXLEVBQUUsV0FBVztZQUN4QixFQUFFLEVBQUUsTUFBTSxJQUFJLEtBQUs7U0FDRixDQUFDO1FBRXBCLElBQUk7WUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQztRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0Ms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QUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQWM7UUFDMUIsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQXBpQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vYXBpLWNsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7XG4gIFNpdGUsXG4gIFNpdGVCb2R5Q3JlYXRlLFxuICBTaXRlRW50cnksXG4gIFNpdGVNZW1iZXJFbnRyeSxcbiAgU2l0ZU1lbWJlcnNoaXBCb2R5Q3JlYXRlLFxuICBTaXRlTWVtYmVyc2hpcEJvZHlVcGRhdGUsXG4gIFNpdGVNZW1iZXJzaGlwUmVxdWVzdEJvZHlDcmVhdGUsXG4gIFNpdGVNZW1iZXJzaGlwUmVxdWVzdEVudHJ5XG59IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5leHBvcnQgY2xhc3MgU2l0ZXNBcGkge1xuICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaUNsaWVudEZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hcGlTZXJ2aWNlID0gbmV3IEFwaUNsaWVudEZhY3RvcnkoKTtcbiAgfVxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSh1c2VyTmFtZTogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8U2l0ZXNBcGk+IHtcbiAgICBjb25zdCBjbGFzc09iaiA9IG5ldyBTaXRlc0FwaSgpO1xuICAgIGF3YWl0IGNsYXNzT2JqLmFwaVNlcnZpY2Uuc2V0VXBBY2FCYWNrZW5kKHVzZXJOYW1lLCBwYXNzd29yZCk7XG4gICAgcmV0dXJuIGNsYXNzT2JqO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlU2l0ZSh0aXRsZTogc3RyaW5nLCB2aXNpYmlsaXR5Pzogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZywgc2l0ZUlkPzogc3RyaW5nKTogUHJvbWlzZTxTaXRlRW50cnkgfCBudWxsPiB7XG4gICAgY29uc3Qgc2l0ZSA9IHtcbiAgICAgIHRpdGxlLFxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJpbGl0eSB8fCBTaXRlLlZpc2liaWxpdHlFbnVtLlBVQkxJQyxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGlkOiBzaXRlSWQgfHwgdGl0bGVcbiAgICB9IGFzIFNpdGVCb2R5Q3JlYXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uuc2l0ZXMuY3JlYXRlU2l0ZShzaXRlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2l0ZXNBcGkgY3JlYXRlU2l0ZSA6IGNhdGNoIDogYCwgZXJyb3IpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RG9jTGliSWQoc2l0ZUlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXBpU2VydmljZS5zaXRlcy5saXN0U2l0ZUNvbnRhaW5lcnMoc2l0ZUlkKSkubGlzdC5lbnRyaWVzWzBdLmVudHJ5LmlkO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBTaXRlc0FwaSBnZXREb2NMaWJJZCA6IGNhdGNoIDogYCwgZXJyb3IpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSBzaXRlcy9saWJyYXJpZXMuXG4gICAqIEBwYXJhbSBzaXRlSWRzIFRoZSBsaXN0IG9mIHRoZSBzaXRlL2xpYnJhcnkgSURzIHRvIGRlbGV0ZS5cbiAgICogQHBhcmFtIHBlcm1hbmVudCBEZWxldGUgcGVybWFuZW50bHksIHdpdGhvdXQgbW92aW5nIHRvIHRoZSB0cmFzaGNhbj8gKGRlZmF1bHQ6IHRydWUpXG4gICAqL1xuICBhc3luYyBkZWxldGVTaXRlcyhzaXRlSWRzOiBzdHJpbmdbXSwgcGVybWFuZW50OiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoc2l0ZUlkcyAmJiBzaXRlSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCBzaXRlSWQgb2Ygc2l0ZUlkcykge1xuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZS5zaXRlcy5kZWxldGVTaXRlKHNpdGVJZCwgeyBwZXJtYW5lbnQgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9ICR7dGhpcy5kZWxldGVTaXRlcy5uYW1lfWAsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVTaXRlTWVtYmVyKHNpdGVJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZywgcm9sZTogc3RyaW5nKTogUHJvbWlzZTxTaXRlTWVtYmVyRW50cnk+IHtcbiAgICBjb25zdCBzaXRlUm9sZSA9IHtcbiAgICAgIHJvbGU6IHJvbGVcbiAgICB9IGFzIFNpdGVNZW1iZXJzaGlwQm9keVVwZGF0ZTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnNpdGVzLnVwZGF0ZVNpdGVNZW1iZXJzaGlwKHNpdGVJZCwgdXNlcklkLCBzaXRlUm9sZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNpdGVzQXBpIHVwZGF0ZVNpdGVNZW1iZXIgOiBjYXRjaCA6IGAsIGVycm9yKTtcbiAgICAgIHJldHVybiBuZXcgU2l0ZU1lbWJlckVudHJ5KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYWRkU2l0ZU1lbWJlcihzaXRlSWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcsIHJvbGU6IHN0cmluZyk6IFByb21pc2U8U2l0ZU1lbWJlckVudHJ5PiB7XG4gICAgY29uc3QgbWVtYmVyQm9keSA9IHtcbiAgICAgIGlkOiB1c2VySWQsXG4gICAgICByb2xlOiByb2xlXG4gICAgfSBhcyBTaXRlTWVtYmVyc2hpcEJvZHlDcmVhdGU7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5zaXRlcy5jcmVhdGVTaXRlTWVtYmVyc2hpcChzaXRlSWQsIG1lbWJlckJvZHkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlU2l0ZU1lbWJlcihzaXRlSWQsIHVzZXJJZCwgcm9sZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBTaXRlc0FwaSBhZGRTaXRlTWVtYmVyIDogY2F0Y2ggOiBgLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBuZXcgU2l0ZU1lbWJlckVudHJ5KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlU2l0ZU1lbWJlcnNoaXBSZXF1ZXN0Rm9yUGVyc29uKHBlcnNvbklkOiBzdHJpbmcsIHNpdGVJZDogc3RyaW5nKTogUHJvbWlzZTxTaXRlTWVtYmVyc2hpcFJlcXVlc3RFbnRyeT4ge1xuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICBpZDogc2l0ZUlkXG4gICAgfSBhcyBTaXRlTWVtYmVyc2hpcFJlcXVlc3RCb2R5Q3JlYXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uuc2l0ZXMuY3JlYXRlU2l0ZU1lbWJlcnNoaXBSZXF1ZXN0Rm9yUGVyc29uKHBlcnNvbklkLCBib2R5KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2l0ZXNBcGkgY3JlYXRlU2l0ZU1lbWJlcnNoaXBSZXF1ZXN0Rm9yUGVyc29uIDogY2F0Y2ggOiBgLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBhcHByb3ZlU2l0ZU1lbWJlcnNoaXBSZXF1ZXN0KHNpdGVJZDogc3RyaW5nLCBpbnZpdGVlSWQ6IHN0cmluZyk6IFByb21pc2U8U2l0ZU1lbWJlckVudHJ5PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uuc2l0ZXMuYXBwcm92ZVNpdGVNZW1iZXJzaGlwUmVxdWVzdChzaXRlSWQsIGludml0ZWVJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNpdGVzQXBpIGFwcHJvdmVTaXRlTWVtYmVyc2hpcFJlcXVlc3QgOiBjYXRjaCA6IGAsIGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhc01lbWJlcnNoaXBSZXF1ZXN0KHBlcnNvbklkOiBzdHJpbmcsIHNpdGVJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gKGF3YWl0IHRoaXMuYXBpU2VydmljZS5zaXRlcy5saXN0U2l0ZU1lbWJlcnNoaXBSZXF1ZXN0c0ZvclBlcnNvbihwZXJzb25JZCkpLmxpc3QuZW50cmllcy5tYXAoKGUpID0+IGUuZW50cnkuaWQpO1xuICAgICAgcmV0dXJuIHJlcXVlc3RzLmluY2x1ZGVzKHNpdGVJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNpdGVzQXBpIGhhc01lbWJlcnNoaXBSZXF1ZXN0IDogY2F0Y2ggOiBgLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVTaXRlTWVtYmVyKHNpdGVJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnNpdGVzLmRlbGV0ZVNpdGVNZW1iZXJzaGlwKHNpdGVJZCwgdXNlcklkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2l0ZXNBcGkgZGVsZXRlU2l0ZU1lbWJlciA6IGNhdGNoIDogYCwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldFNpdGUoc2l0ZUlkOiBzdHJpbmcpOiBQcm9taXNlPFNpdGVFbnRyeT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnNpdGVzLmdldFNpdGUoc2l0ZUlkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgU2l0ZXNBcGkgZ2V0U2l0ZSA6IGNhdGNoIDogYCwgZXJyb3IpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
export class TagsApi {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.apiService = new ApiClientFactory();
|
|
28
|
+
}
|
|
29
|
+
static async initialize(userName, password) {
|
|
30
|
+
const classObj = new TagsApi();
|
|
31
|
+
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
32
|
+
return classObj;
|
|
33
|
+
}
|
|
34
|
+
async createTags(tags) {
|
|
35
|
+
try {
|
|
36
|
+
return this.apiService.tagsApi.createTags(tags);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error(error);
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async assignTagToNode(nodeId, tag) {
|
|
44
|
+
try {
|
|
45
|
+
return this.apiService.tagsApi.assignTagToNode(nodeId, tag);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error(error);
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async deleteTag(tagId) {
|
|
53
|
+
try {
|
|
54
|
+
return this.apiService.tagsApi.deleteTag(tagId);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
console.error(error);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2FwaS90YWdzLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE1BQU0sT0FBTyxPQUFPO0lBR2xCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFlO1FBQzlCLElBQUk7WUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBYyxFQUFFLEdBQVk7UUFDaEQsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM3RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUMzQixJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakQ7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgVGFnQm9keSwgVGFnRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFwaUNsaWVudEZhY3RvcnkgfSBmcm9tICcuL2FwaS1jbGllbnQtZmFjdG9yeSc7XG5cbmV4cG9ydCBjbGFzcyBUYWdzQXBpIHtcbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlDbGllbnRGYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXBpU2VydmljZSA9IG5ldyBBcGlDbGllbnRGYWN0b3J5KCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSh1c2VyTmFtZTogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8VGFnc0FwaT4ge1xuICAgIGNvbnN0IGNsYXNzT2JqID0gbmV3IFRhZ3NBcGkoKTtcbiAgICBhd2FpdCBjbGFzc09iai5hcGlTZXJ2aWNlLnNldFVwQWNhQmFja2VuZCh1c2VyTmFtZSwgcGFzc3dvcmQpO1xuICAgIHJldHVybiBjbGFzc09iajtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRhZ3ModGFnczogVGFnQm9keVtdKTogUHJvbWlzZTxUYWdFbnRyeVtdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UudGFnc0FwaS5jcmVhdGVUYWdzKHRhZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGFzc2lnblRhZ1RvTm9kZShub2RlSWQ6IHN0cmluZywgdGFnOiBUYWdCb2R5KTogUHJvbWlzZTxUYWdFbnRyeT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnRhZ3NBcGkuYXNzaWduVGFnVG9Ob2RlKG5vZGVJZCwgdGFnKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVUYWcodGFnSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnRhZ3NBcGkuZGVsZXRlVGFnKHRhZ0lkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
export class TrashcanApi {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.apiService = new ApiClientFactory();
|
|
28
|
+
}
|
|
29
|
+
static async initialize(userName, password) {
|
|
30
|
+
const classObj = new TrashcanApi();
|
|
31
|
+
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
32
|
+
return classObj;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Empties the trashcan. Uses multiple batches 1000 nodes each.
|
|
36
|
+
*/
|
|
37
|
+
async emptyTrashcan() {
|
|
38
|
+
try {
|
|
39
|
+
const nodes = await this.apiService.trashCan.listDeletedNodes({
|
|
40
|
+
maxItems: 1000
|
|
41
|
+
});
|
|
42
|
+
if (nodes?.list?.entries?.length > 0) {
|
|
43
|
+
const ids = nodes.list.entries.map((entries) => entries.entry.id);
|
|
44
|
+
for (const nodeId of ids) {
|
|
45
|
+
await this.apiService.trashCan.deleteDeletedNode(nodeId);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('User Actions - emptyTrashcan failed : ', error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhc2hjYW4tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hcGkvdHJhc2hjYW4tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDVSxlQUFVLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBNEI5QyxDQUFDO0lBMUJDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJO1lBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDNUQsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFFSCxJQUFJLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFbEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxHQUFHLEVBQUU7b0JBQ3hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzFEO2FBQ0Y7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBcGlDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9hcGktY2xpZW50LWZhY3RvcnknO1xuXG5leHBvcnQgY2xhc3MgVHJhc2hjYW5BcGkge1xuICBwcml2YXRlIGFwaVNlcnZpY2UgPSBuZXcgQXBpQ2xpZW50RmFjdG9yeSgpO1xuXG4gIHN0YXRpYyBhc3luYyBpbml0aWFsaXplKHVzZXJOYW1lOiBzdHJpbmcsIHBhc3N3b3JkPzogc3RyaW5nKTogUHJvbWlzZTxUcmFzaGNhbkFwaT4ge1xuICAgIGNvbnN0IGNsYXNzT2JqID0gbmV3IFRyYXNoY2FuQXBpKCk7XG4gICAgYXdhaXQgY2xhc3NPYmouYXBpU2VydmljZS5zZXRVcEFjYUJhY2tlbmQodXNlck5hbWUsIHBhc3N3b3JkKTtcbiAgICByZXR1cm4gY2xhc3NPYmo7XG4gIH1cblxuICAvKipcbiAgICogRW1wdGllcyB0aGUgdHJhc2hjYW4uIFVzZXMgbXVsdGlwbGUgYmF0Y2hlcyAxMDAwIG5vZGVzIGVhY2guXG4gICAqL1xuICBhc3luYyBlbXB0eVRyYXNoY2FuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBub2RlcyA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS50cmFzaENhbi5saXN0RGVsZXRlZE5vZGVzKHtcbiAgICAgICAgbWF4SXRlbXM6IDEwMDBcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobm9kZXM/Lmxpc3Q/LmVudHJpZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgaWRzID0gbm9kZXMubGlzdC5lbnRyaWVzLm1hcCgoZW50cmllcykgPT4gZW50cmllcy5lbnRyeS5pZCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBub2RlSWQgb2YgaWRzKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnRyYXNoQ2FuLmRlbGV0ZURlbGV0ZWROb2RlKG5vZGVJZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignVXNlciBBY3Rpb25zIC0gZW1wdHlUcmFzaGNhbiBmYWlsZWQgOiAnLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
const env = process.env;
|
|
25
|
+
export const testEmailDomain = env.E2E_EMAIL_DOMAIN;
|
|
26
|
+
export const users = {
|
|
27
|
+
hruser: {
|
|
28
|
+
username: env.HR_USER,
|
|
29
|
+
password: env.HR_USER_PASSWORD
|
|
30
|
+
},
|
|
31
|
+
admin: {
|
|
32
|
+
username: env.ADMIN_EMAIL,
|
|
33
|
+
password: env.ADMIN_PASSWORD
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1wbGF5d3JpZ2h0LXNoYXJlZC9zcmMvYmFzZS1jb25maWcvZ2xvYmFsLXZhcmlhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3JCLFFBQVEsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO0tBQy9CO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQ3pCLFFBQVEsRUFBRSxHQUFHLENBQUMsY0FBYztLQUM3QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuY29uc3QgZW52ID0gcHJvY2Vzcy5lbnY7XG5cbmV4cG9ydCBjb25zdCB0ZXN0RW1haWxEb21haW4gPSBlbnYuRTJFX0VNQUlMX0RPTUFJTjtcbmV4cG9ydCBjb25zdCB1c2VycyA9IHtcbiAgaHJ1c2VyOiB7XG4gICAgdXNlcm5hbWU6IGVudi5IUl9VU0VSLFxuICAgIHBhc3N3b3JkOiBlbnYuSFJfVVNFUl9QQVNTV09SRFxuICB9LFxuICBhZG1pbjoge1xuICAgIHVzZXJuYW1lOiBlbnYuQURNSU5fRU1BSUwsXG4gICAgcGFzc3dvcmQ6IGVudi5BRE1JTl9QQVNTV09SRFxuICB9XG59O1xuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
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 { chromium } from '@playwright/test';
|
|
25
|
+
import { LoginPage } from '../page-objects';
|
|
26
|
+
import { users } from './global-variables';
|
|
27
|
+
import fs from 'fs';
|
|
28
|
+
import { paths } from '../utils/paths';
|
|
29
|
+
async function globalSetup(config) {
|
|
30
|
+
const { use } = config.projects[0];
|
|
31
|
+
await removeOutputFolders();
|
|
32
|
+
await createOutputFolders();
|
|
33
|
+
if (use.users) {
|
|
34
|
+
for (const user of use.users) {
|
|
35
|
+
if (users[user].username) {
|
|
36
|
+
const browser = await chromium.launch();
|
|
37
|
+
const page = await browser.newPage();
|
|
38
|
+
const loginPage = new LoginPage(page);
|
|
39
|
+
await page.goto(use.baseURL);
|
|
40
|
+
await loginPage.loginUser({ username: users[user].username, password: users[user].password }, {
|
|
41
|
+
withNavigation: false,
|
|
42
|
+
waitForLoading: true
|
|
43
|
+
});
|
|
44
|
+
await page.context().storageState({ path: `${paths.userStates}/${user}UserState.json` });
|
|
45
|
+
await browser.close();
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
throw new Error(`Add credentials for ${user} to you .env file!`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function createOutputFolders() {
|
|
54
|
+
for (const path in paths) {
|
|
55
|
+
if (!fs.existsSync(paths[path])) {
|
|
56
|
+
fs.mkdirSync(paths[path], { recursive: true });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function removeOutputFolders() {
|
|
61
|
+
if (fs.existsSync(paths.rootFolder)) {
|
|
62
|
+
fs.rmdirSync(paths.rootFolder, { recursive: true });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export default globalSetup;
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9iYXNlLWNvbmZpZy9nbG9iYWwuc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLEtBQUssVUFBVSxXQUFXLENBQUMsTUFBZ0M7SUFDekQsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkMsTUFBTSxtQkFBbUIsRUFBRSxDQUFDO0lBQzVCLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQztJQUU1QixJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7UUFDYixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3QixNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQ3ZCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDbEU7b0JBQ0UsY0FBYyxFQUFFLEtBQUs7b0JBQ3JCLGNBQWMsRUFBRSxJQUFJO2lCQUNyQixDQUNGLENBQUM7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQztnQkFDekYsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO2FBQ2xFO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQy9CLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7S0FDRjtBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDbkMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDckQ7QUFDSCxDQUFDO0FBRUQsZUFBZSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgY2hyb21pdW0sIEZ1bGxDb25maWcgfSBmcm9tICdAcGxheXdyaWdodC90ZXN0JztcbmltcG9ydCB7IExvZ2luUGFnZSB9IGZyb20gJy4uL3BhZ2Utb2JqZWN0cyc7XG5pbXBvcnQgeyBDdXN0b21Db25maWcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgdXNlcnMgfSBmcm9tICcuL2dsb2JhbC12YXJpYWJsZXMnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IHBhdGhzIH0gZnJvbSAnLi4vdXRpbHMvcGF0aHMnO1xuXG5hc3luYyBmdW5jdGlvbiBnbG9iYWxTZXR1cChjb25maWc6IEZ1bGxDb25maWc8Q3VzdG9tQ29uZmlnPikge1xuICBjb25zdCB7IHVzZSB9ID0gY29uZmlnLnByb2plY3RzWzBdO1xuXG4gIGF3YWl0IHJlbW92ZU91dHB1dEZvbGRlcnMoKTtcbiAgYXdhaXQgY3JlYXRlT3V0cHV0Rm9sZGVycygpO1xuXG4gIGlmICh1c2UudXNlcnMpIHtcbiAgICBmb3IgKGNvbnN0IHVzZXIgb2YgdXNlLnVzZXJzKSB7XG4gICAgICBpZiAodXNlcnNbdXNlcl0udXNlcm5hbWUpIHtcbiAgICAgICAgY29uc3QgYnJvd3NlciA9IGF3YWl0IGNocm9taXVtLmxhdW5jaCgpO1xuICAgICAgICBjb25zdCBwYWdlID0gYXdhaXQgYnJvd3Nlci5uZXdQYWdlKCk7XG4gICAgICAgIGNvbnN0IGxvZ2luUGFnZSA9IG5ldyBMb2dpblBhZ2UocGFnZSk7XG4gICAgICAgIGF3YWl0IHBhZ2UuZ290byh1c2UuYmFzZVVSTCk7XG4gICAgICAgIGF3YWl0IGxvZ2luUGFnZS5sb2dpblVzZXIoXG4gICAgICAgICAgeyB1c2VybmFtZTogdXNlcnNbdXNlcl0udXNlcm5hbWUsIHBhc3N3b3JkOiB1c2Vyc1t1c2VyXS5wYXNzd29yZCB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHdpdGhOYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHdhaXRGb3JMb2FkaW5nOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBhd2FpdCBwYWdlLmNvbnRleHQoKS5zdG9yYWdlU3RhdGUoeyBwYXRoOiBgJHtwYXRocy51c2VyU3RhdGVzfS8ke3VzZXJ9VXNlclN0YXRlLmpzb25gIH0pO1xuICAgICAgICBhd2FpdCBicm93c2VyLmNsb3NlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFkZCBjcmVkZW50aWFscyBmb3IgJHt1c2VyfSB0byB5b3UgLmVudiBmaWxlIWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVPdXRwdXRGb2xkZXJzKCkge1xuICBmb3IgKGNvbnN0IHBhdGggaW4gcGF0aHMpIHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMocGF0aHNbcGF0aF0pKSB7XG4gICAgICBmcy5ta2RpclN5bmMocGF0aHNbcGF0aF0sIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZW1vdmVPdXRwdXRGb2xkZXJzKCkge1xuICBpZiAoZnMuZXhpc3RzU3luYyhwYXRocy5yb290Rm9sZGVyKSkge1xuICAgIGZzLnJtZGlyU3luYyhwYXRocy5yb290Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBnbG9iYWxTZXR1cDtcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
export * from './global.setup';
|
|
25
|
+
export * from './playwright.config';
|
|
26
|
+
export * from './global-variables';
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2Jhc2UtY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9nbG9iYWwuc2V0dXAnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5d3JpZ2h0LmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2dsb2JhbC12YXJpYWJsZXMnO1xuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
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 { devices } from '@playwright/test';
|
|
25
|
+
import { timeouts } from '../utils';
|
|
26
|
+
import { getReporter } from './report-portal.config';
|
|
27
|
+
require('@alfresco/adf-cli/tooling').dotenvConfig();
|
|
28
|
+
const { env } = process;
|
|
29
|
+
export const getGlobalConfig = {
|
|
30
|
+
timeout: timeouts.globalTest,
|
|
31
|
+
globalTimeout: timeouts.globalSpec,
|
|
32
|
+
expect: {
|
|
33
|
+
/**
|
|
34
|
+
* Maximum time expect() should wait for the condition to be met.
|
|
35
|
+
* For example in `await expect(locator).toHaveText();`
|
|
36
|
+
*/
|
|
37
|
+
timeout: timeouts.medium
|
|
38
|
+
},
|
|
39
|
+
/* Run tests in files in parallel */
|
|
40
|
+
fullyParallel: true,
|
|
41
|
+
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
|
42
|
+
forbidOnly: !!env.CI,
|
|
43
|
+
/* Retry on CI only */
|
|
44
|
+
retries: env.CI ? 2 : 0,
|
|
45
|
+
/* Opt out of parallel tests on CI. */
|
|
46
|
+
workers: 3,
|
|
47
|
+
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
|
|
48
|
+
reporter: [['list'], ...getReporter()],
|
|
49
|
+
globalSetup: require.resolve('./global.setup'),
|
|
50
|
+
testMatch: ['**/*.e2e.ts'],
|
|
51
|
+
use: {
|
|
52
|
+
/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
|
|
53
|
+
actionTimeout: 0,
|
|
54
|
+
/* Base URL to use in actions like `await page.goto('/')`. */
|
|
55
|
+
baseURL: env.PLAYWRIGHT_E2E_HOST,
|
|
56
|
+
headless: env.PLAYWRIGHT_HEADLESS === 'true' || !!env.CI,
|
|
57
|
+
ignoreHTTPSErrors: true,
|
|
58
|
+
bypassCSP: true,
|
|
59
|
+
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
|
60
|
+
trace: 'retain-on-failure',
|
|
61
|
+
video: 'retain-on-failure',
|
|
62
|
+
screenshot: 'only-on-failure',
|
|
63
|
+
launchOptions: {
|
|
64
|
+
devtools: false,
|
|
65
|
+
args: ['--no-sandbox', '--disable-site-isolation-trials']
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
/* Configure projects for major browsers */
|
|
69
|
+
projects: [
|
|
70
|
+
{
|
|
71
|
+
name: 'chromium',
|
|
72
|
+
use: {
|
|
73
|
+
...devices['Desktop Chrome']
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheXdyaWdodC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2Jhc2UtY29uZmlnL3BsYXl3cmlnaHQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUF3QixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUNwRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBeUI7SUFDbkQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0lBQzVCLGFBQWEsRUFBRSxRQUFRLENBQUMsVUFBVTtJQUNsQyxNQUFNLEVBQUU7UUFDTjs7O1dBR0c7UUFDSCxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU07S0FDekI7SUFDRCxvQ0FBb0M7SUFDcEMsYUFBYSxFQUFFLElBQUk7SUFDbkIsaUZBQWlGO0lBQ2pGLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7SUFDcEIsc0JBQXNCO0lBQ3RCLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsc0NBQXNDO0lBQ3RDLE9BQU8sRUFBRSxDQUFDO0lBQ1YscUVBQXFFO0lBQ3JFLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDMUIsR0FBRyxFQUFFO1FBQ0gsb0ZBQW9GO1FBQ3BGLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLDZEQUE2RDtRQUM3RCxPQUFPLEVBQUUsR0FBRyxDQUFDLG1CQUFtQjtRQUNoQyxRQUFRLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEQsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixTQUFTLEVBQUUsSUFBSTtRQUNmLCtGQUErRjtRQUMvRixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixhQUFhLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxpQ0FBaUMsQ0FBQztTQUMxRDtLQUNGO0lBRUQsMkNBQTJDO0lBQzNDLFFBQVEsRUFBRTtRQUNSO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsR0FBRyxFQUFFO2dCQUNILEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2FBQzdCO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgUGxheXdyaWdodFRlc3RDb25maWcsIGRldmljZXMgfSBmcm9tICdAcGxheXdyaWdodC90ZXN0JztcbmltcG9ydCB7IHRpbWVvdXRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0UmVwb3J0ZXIgfSBmcm9tICcuL3JlcG9ydC1wb3J0YWwuY29uZmlnJztcblxucmVxdWlyZSgnQGFsZnJlc2NvL2FkZi1jbGkvdG9vbGluZycpLmRvdGVudkNvbmZpZygpO1xuY29uc3QgeyBlbnYgfSA9IHByb2Nlc3M7XG5cbmV4cG9ydCBjb25zdCBnZXRHbG9iYWxDb25maWc6IFBsYXl3cmlnaHRUZXN0Q29uZmlnID0ge1xuICB0aW1lb3V0OiB0aW1lb3V0cy5nbG9iYWxUZXN0LFxuICBnbG9iYWxUaW1lb3V0OiB0aW1lb3V0cy5nbG9iYWxTcGVjLFxuICBleHBlY3Q6IHtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIHRpbWUgZXhwZWN0KCkgc2hvdWxkIHdhaXQgZm9yIHRoZSBjb25kaXRpb24gdG8gYmUgbWV0LlxuICAgICAqIEZvciBleGFtcGxlIGluIGBhd2FpdCBleHBlY3QobG9jYXRvcikudG9IYXZlVGV4dCgpO2BcbiAgICAgKi9cbiAgICB0aW1lb3V0OiB0aW1lb3V0cy5tZWRpdW1cbiAgfSxcbiAgLyogUnVuIHRlc3RzIGluIGZpbGVzIGluIHBhcmFsbGVsICovXG4gIGZ1bGx5UGFyYWxsZWw6IHRydWUsXG4gIC8qIEZhaWwgdGhlIGJ1aWxkIG9uIENJIGlmIHlvdSBhY2NpZGVudGFsbHkgbGVmdCB0ZXN0Lm9ubHkgaW4gdGhlIHNvdXJjZSBjb2RlLiAqL1xuICBmb3JiaWRPbmx5OiAhIWVudi5DSSxcbiAgLyogUmV0cnkgb24gQ0kgb25seSAqL1xuICByZXRyaWVzOiBlbnYuQ0kgPyAyIDogMCxcbiAgLyogT3B0IG91dCBvZiBwYXJhbGxlbCB0ZXN0cyBvbiBDSS4gKi9cbiAgd29ya2VyczogMyxcbiAgLyogUmVwb3J0ZXIgdG8gdXNlLiBTZWUgaHR0cHM6Ly9wbGF5d3JpZ2h0LmRldi9kb2NzL3Rlc3QtcmVwb3J0ZXJzICovXG4gIHJlcG9ydGVyOiBbWydsaXN0J10sIC4uLmdldFJlcG9ydGVyKCldLFxuICBnbG9iYWxTZXR1cDogcmVxdWlyZS5yZXNvbHZlKCcuL2dsb2JhbC5zZXR1cCcpLFxuICB0ZXN0TWF0Y2g6IFsnKiovKi5lMmUudHMnXSxcbiAgdXNlOiB7XG4gICAgLyogTWF4aW11bSB0aW1lIGVhY2ggYWN0aW9uIHN1Y2ggYXMgYGNsaWNrKClgIGNhbiB0YWtlLiBEZWZhdWx0cyB0byAwIChubyBsaW1pdCkuICovXG4gICAgYWN0aW9uVGltZW91dDogMCxcbiAgICAvKiBCYXNlIFVSTCB0byB1c2UgaW4gYWN0aW9ucyBsaWtlIGBhd2FpdCBwYWdlLmdvdG8oJy8nKWAuICovXG4gICAgYmFzZVVSTDogZW52LlBMQVlXUklHSFRfRTJFX0hPU1QsXG4gICAgaGVhZGxlc3M6IGVudi5QTEFZV1JJR0hUX0hFQURMRVNTID09PSAndHJ1ZScgfHwgISFlbnYuQ0ksXG4gICAgaWdub3JlSFRUUFNFcnJvcnM6IHRydWUsXG4gICAgYnlwYXNzQ1NQOiB0cnVlLFxuICAgIC8qIENvbGxlY3QgdHJhY2Ugd2hlbiByZXRyeWluZyB0aGUgZmFpbGVkIHRlc3QuIFNlZSBodHRwczovL3BsYXl3cmlnaHQuZGV2L2RvY3MvdHJhY2Utdmlld2VyICovXG4gICAgdHJhY2U6ICdyZXRhaW4tb24tZmFpbHVyZScsXG4gICAgdmlkZW86ICdyZXRhaW4tb24tZmFpbHVyZScsXG4gICAgc2NyZWVuc2hvdDogJ29ubHktb24tZmFpbHVyZScsXG4gICAgbGF1bmNoT3B0aW9uczoge1xuICAgICAgZGV2dG9vbHM6IGZhbHNlLFxuICAgICAgYXJnczogWyctLW5vLXNhbmRib3gnLCAnLS1kaXNhYmxlLXNpdGUtaXNvbGF0aW9uLXRyaWFscyddXG4gICAgfVxuICB9LFxuXG4gIC8qIENvbmZpZ3VyZSBwcm9qZWN0cyBmb3IgbWFqb3IgYnJvd3NlcnMgKi9cbiAgcHJvamVjdHM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAnY2hyb21pdW0nLFxuICAgICAgdXNlOiB7XG4gICAgICAgIC4uLmRldmljZXNbJ0Rlc2t0b3AgQ2hyb21lJ11cbiAgICAgIH1cbiAgICB9XG4gIF1cbn07XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { timeouts } from '../utils';
|
|
25
|
+
const { env } = process;
|
|
26
|
+
export const getReportPortalConfig = () => {
|
|
27
|
+
const attributes = [
|
|
28
|
+
{ key: 'Job', value: `${env.GITHUB_JOB}` },
|
|
29
|
+
{ key: 'Build_type', value: `${env.GITHUB_EVENT_NAME}` },
|
|
30
|
+
{ key: 'Repository', value: `${env.GITHUB_REPOSITORY}` },
|
|
31
|
+
{ key: 'Branch', value: `${env.GITHUB_HEAD_REF || env.GITHUB_REF}` }
|
|
32
|
+
];
|
|
33
|
+
const launch = `GitHub Actions - ACA`;
|
|
34
|
+
return {
|
|
35
|
+
endpoint: env.REPORT_PORTAL_URL,
|
|
36
|
+
apiKey: env.REPORT_PORTAL_TOKEN,
|
|
37
|
+
project: 'alfresco-content-app',
|
|
38
|
+
launch,
|
|
39
|
+
includeTestSteps: true,
|
|
40
|
+
restClientConfig: {
|
|
41
|
+
timeout: timeouts.extendedTest
|
|
42
|
+
},
|
|
43
|
+
attributes,
|
|
44
|
+
description: `[Run on GitHub Actions ${env.GITHUB_RUN_ID}](${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID})`
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export const getReporter = () => env.CI ? [['@reportportal/agent-js-playwright', getReportPortalConfig()], ['github']] : [['html']];
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXBvcnRhbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2Jhc2UtY29uZmlnL3JlcG9ydC1wb3J0YWwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBR0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsRUFBRTtJQUN4QyxNQUFNLFVBQVUsR0FBRztRQUNqQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtRQUN4RCxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7UUFDeEQsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxlQUFlLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFO0tBQ3JFLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztJQUV0QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7UUFDL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUI7UUFDL0IsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixNQUFNO1FBQ04sZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixnQkFBZ0IsRUFBRTtZQUNoQixPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQVk7U0FDL0I7UUFDRCxVQUFVO1FBQ1YsV0FBVyxFQUFFLDBCQUEwQixHQUFHLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLENBQUMsaUJBQWlCLGlCQUFpQixHQUFHLENBQUMsYUFBYSxHQUFHO0tBQ2pKLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBMEIsRUFBRSxDQUNyRCxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgUmVwb3J0ZXJEZXNjcmlwdGlvbiB9IGZyb20gJ0BwbGF5d3JpZ2h0L3Rlc3QnO1xuaW1wb3J0IHsgdGltZW91dHMgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IHsgZW52IH0gPSBwcm9jZXNzO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVwb3J0UG9ydGFsQ29uZmlnID0gKCkgPT4ge1xuICBjb25zdCBhdHRyaWJ1dGVzID0gW1xuICAgIHsga2V5OiAnSm9iJywgdmFsdWU6IGAke2Vudi5HSVRIVUJfSk9CfWAgfSxcbiAgICB7IGtleTogJ0J1aWxkX3R5cGUnLCB2YWx1ZTogYCR7ZW52LkdJVEhVQl9FVkVOVF9OQU1FfWAgfSxcbiAgICB7IGtleTogJ1JlcG9zaXRvcnknLCB2YWx1ZTogYCR7ZW52LkdJVEhVQl9SRVBPU0lUT1JZfWAgfSxcbiAgICB7IGtleTogJ0JyYW5jaCcsIHZhbHVlOiBgJHtlbnYuR0lUSFVCX0hFQURfUkVGIHx8IGVudi5HSVRIVUJfUkVGfWAgfVxuICBdO1xuXG4gIGNvbnN0IGxhdW5jaCA9IGBHaXRIdWIgQWN0aW9ucyAtIEFDQWA7XG5cbiAgcmV0dXJuIHtcbiAgICBlbmRwb2ludDogZW52LlJFUE9SVF9QT1JUQUxfVVJMLFxuICAgIGFwaUtleTogZW52LlJFUE9SVF9QT1JUQUxfVE9LRU4sXG4gICAgcHJvamVjdDogJ2FsZnJlc2NvLWNvbnRlbnQtYXBwJyxcbiAgICBsYXVuY2gsXG4gICAgaW5jbHVkZVRlc3RTdGVwczogdHJ1ZSxcbiAgICByZXN0Q2xpZW50Q29uZmlnOiB7XG4gICAgICB0aW1lb3V0OiB0aW1lb3V0cy5leHRlbmRlZFRlc3RcbiAgICB9LFxuICAgIGF0dHJpYnV0ZXMsXG4gICAgZGVzY3JpcHRpb246IGBbUnVuIG9uIEdpdEh1YiBBY3Rpb25zICR7ZW52LkdJVEhVQl9SVU5fSUR9XSgke2Vudi5HSVRIVUJfU0VSVkVSX1VSTH0vJHtlbnYuR0lUSFVCX1JFUE9TSVRPUll9L2FjdGlvbnMvcnVucy8ke2Vudi5HSVRIVUJfUlVOX0lEfSlgXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVwb3J0ZXIgPSAoKTogUmVwb3J0ZXJEZXNjcmlwdGlvbltdID0+XG4gIGVudi5DSSA/IFtbJ0ByZXBvcnRwb3J0YWwvYWdlbnQtanMtcGxheXdyaWdodCcsIGdldFJlcG9ydFBvcnRhbENvbmZpZygpXSwgWydnaXRodWInXV0gOiBbWydodG1sJ11dO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
export * from './page-initialization';
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtaW5pdGlhbGl6YXRpb24nO1xuIl19
|