@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.
Files changed (211) hide show
  1. package/api/api-client-factory.d.ts +63 -0
  2. package/api/categories-api.d.ts +32 -0
  3. package/api/favorites-api.d.ts +41 -0
  4. package/api/file-actions.d.ts +41 -0
  5. package/api/index.d.ts +37 -0
  6. package/api/node-content-tree.d.ts +32 -0
  7. package/api/nodes-api.d.ts +73 -0
  8. package/api/people-api-models.d.ts +42 -0
  9. package/api/queries-api.d.ts +32 -0
  10. package/api/rules-api.d.ts +79 -0
  11. package/api/search-api.d.ts +33 -0
  12. package/api/shared-links-api.d.ts +36 -0
  13. package/api/sites-api.d.ts +44 -0
  14. package/api/tags-api.d.ts +32 -0
  15. package/api/trashcan-api.d.ts +31 -0
  16. package/base-config/global-variables.d.ts +34 -0
  17. package/base-config/global.setup.d.ts +27 -0
  18. package/base-config/index.d.ts +26 -0
  19. package/base-config/playwright.config.d.ts +25 -0
  20. package/base-config/report-portal.config.d.ts +40 -0
  21. package/esm2020/alfresco-aca-playwright-shared.mjs +5 -0
  22. package/esm2020/api/api-client-factory.mjs +111 -0
  23. package/esm2020/api/categories-api.mjs +65 -0
  24. package/esm2020/api/favorites-api.mjs +129 -0
  25. package/esm2020/api/file-actions.mjs +166 -0
  26. package/esm2020/api/index.mjs +38 -0
  27. package/esm2020/api/node-content-tree.mjs +67 -0
  28. package/esm2020/api/nodes-api.mjs +427 -0
  29. package/esm2020/api/people-api-models.mjs +34 -0
  30. package/esm2020/api/queries-api.mjs +69 -0
  31. package/esm2020/api/rules-api.mjs +251 -0
  32. package/esm2020/api/search-api.mjs +74 -0
  33. package/esm2020/api/shared-links-api.mjs +136 -0
  34. package/esm2020/api/sites-api.mjs +155 -0
  35. package/esm2020/api/tags-api.mjs +61 -0
  36. package/esm2020/api/trashcan-api.mjs +54 -0
  37. package/esm2020/base-config/global-variables.mjs +36 -0
  38. package/esm2020/base-config/global.setup.mjs +66 -0
  39. package/esm2020/base-config/index.mjs +27 -0
  40. package/esm2020/base-config/playwright.config.mjs +78 -0
  41. package/esm2020/base-config/report-portal.config.mjs +48 -0
  42. package/esm2020/fixtures/index.mjs +25 -0
  43. package/esm2020/fixtures/page-initialization.mjs +83 -0
  44. package/esm2020/models/custom-config.mjs +25 -0
  45. package/esm2020/models/index.mjs +26 -0
  46. package/esm2020/models/user-model.mjs +55 -0
  47. package/esm2020/page-objects/components/aca-header.component.mjs +77 -0
  48. package/esm2020/page-objects/components/actions-dropdown.component.mjs +99 -0
  49. package/esm2020/page-objects/components/adf-info-drawer.component.mjs +83 -0
  50. package/esm2020/page-objects/components/base.component.mjs +69 -0
  51. package/esm2020/page-objects/components/breadcrumb/breadcrumb.component.mjs +46 -0
  52. package/esm2020/page-objects/components/conditions.component.mjs +75 -0
  53. package/esm2020/page-objects/components/dataTable/data-table.component.mjs +327 -0
  54. package/esm2020/page-objects/components/dataTable/index.mjs +27 -0
  55. package/esm2020/page-objects/components/dataTable/mat-menu.component.mjs +66 -0
  56. package/esm2020/page-objects/components/dataTable/toolbar.component.mjs +39 -0
  57. package/esm2020/page-objects/components/datetime-picker/datetime-picker.component.mjs +52 -0
  58. package/esm2020/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +35 -0
  59. package/esm2020/page-objects/components/dialogs/adf-folder-dialog.component.mjs +56 -0
  60. package/esm2020/page-objects/components/dialogs/adf-library-dialog.component.mjs +63 -0
  61. package/esm2020/page-objects/components/dialogs/content-node-selector-dialog.mjs +67 -0
  62. package/esm2020/page-objects/components/dialogs/create-from-template-dialog-component.mjs +54 -0
  63. package/esm2020/page-objects/components/dialogs/delete-trash-dialog.component.mjs +53 -0
  64. package/esm2020/page-objects/components/dialogs/edit-dialog.component.mjs +38 -0
  65. package/esm2020/page-objects/components/dialogs/index.mjs +39 -0
  66. package/esm2020/page-objects/components/dialogs/link-rules.component.mjs +57 -0
  67. package/esm2020/page-objects/components/dialogs/manage-versions-dialog.component.mjs +35 -0
  68. package/esm2020/page-objects/components/dialogs/password-overlay-dialog.component.mjs +70 -0
  69. package/esm2020/page-objects/components/dialogs/share-dialog.component.mjs +84 -0
  70. package/esm2020/page-objects/components/dialogs/upload-dialog.component.mjs +35 -0
  71. package/esm2020/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +37 -0
  72. package/esm2020/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +55 -0
  73. package/esm2020/page-objects/components/error.component.mjs +33 -0
  74. package/esm2020/page-objects/components/index.mjs +50 -0
  75. package/esm2020/page-objects/components/manageRules/index.mjs +26 -0
  76. package/esm2020/page-objects/components/manageRules/manage-rules-dialog.component.mjs +63 -0
  77. package/esm2020/page-objects/components/manageRules/manage-rules.component.mjs +69 -0
  78. package/esm2020/page-objects/components/pagination.component.mjs +173 -0
  79. package/esm2020/page-objects/components/search/search-filters/search-filters-categories.component.mjs +32 -0
  80. package/esm2020/page-objects/components/search/search-filters/search-filters-date.component.mjs +114 -0
  81. package/esm2020/page-objects/components/search/search-filters/search-filters-location.component.mjs +39 -0
  82. package/esm2020/page-objects/components/search/search-filters/search-filters-logic.component.mjs +35 -0
  83. package/esm2020/page-objects/components/search/search-filters/search-filters-properties.component.mjs +82 -0
  84. package/esm2020/page-objects/components/search/search-filters/search-filters-tags.component.mjs +39 -0
  85. package/esm2020/page-objects/components/search/search-filters.component.mjs +44 -0
  86. package/esm2020/page-objects/components/search/search-input.component.mjs +47 -0
  87. package/esm2020/page-objects/components/search/search-overlay.components.mjs +82 -0
  88. package/esm2020/page-objects/components/search/search-sorting-picker.components.mjs +71 -0
  89. package/esm2020/page-objects/components/sidenav.component.mjs +86 -0
  90. package/esm2020/page-objects/components/snackBar/snack-bar.component.mjs +53 -0
  91. package/esm2020/page-objects/components/spinner.component.mjs +40 -0
  92. package/esm2020/page-objects/components/viewer.component.mjs +92 -0
  93. package/esm2020/page-objects/index.mjs +26 -0
  94. package/esm2020/page-objects/pages/base.page.mjs +80 -0
  95. package/esm2020/page-objects/pages/favorites-libraries.page.mjs +42 -0
  96. package/esm2020/page-objects/pages/favorites.page.mjs +48 -0
  97. package/esm2020/page-objects/pages/index.mjs +35 -0
  98. package/esm2020/page-objects/pages/login.page.mjs +61 -0
  99. package/esm2020/page-objects/pages/my-libraries.page.mjs +53 -0
  100. package/esm2020/page-objects/pages/nodes.page.mjs +39 -0
  101. package/esm2020/page-objects/pages/personal-files.page.mjs +84 -0
  102. package/esm2020/page-objects/pages/recent-files.page.mjs +44 -0
  103. package/esm2020/page-objects/pages/search.page.mjs +78 -0
  104. package/esm2020/page-objects/pages/shared.page.mjs +44 -0
  105. package/esm2020/page-objects/pages/trash.page.mjs +44 -0
  106. package/esm2020/page-objects/playwright-base.mjs +31 -0
  107. package/esm2020/public-api.mjs +31 -0
  108. package/esm2020/resources/index.mjs +26 -0
  109. package/esm2020/resources/test-data/index.mjs +26 -0
  110. package/esm2020/resources/test-data/test-data-files-folders.mjs +53 -0
  111. package/esm2020/resources/test-data/test-data-permissions.mjs +331 -0
  112. package/esm2020/resources/test-files/index.mjs +78 -0
  113. package/esm2020/utils/api.mjs +43 -0
  114. package/esm2020/utils/config.mjs +70 -0
  115. package/esm2020/utils/error-strings.mjs +39 -0
  116. package/esm2020/utils/exclude-tests.mjs +35 -0
  117. package/esm2020/utils/index.mjs +34 -0
  118. package/esm2020/utils/library-errors.mjs +29 -0
  119. package/esm2020/utils/logger.mjs +69 -0
  120. package/esm2020/utils/paths.mjs +32 -0
  121. package/esm2020/utils/state-helper.mjs +29 -0
  122. package/esm2020/utils/timeouts.mjs +39 -0
  123. package/esm2020/utils/utils.mjs +144 -0
  124. package/fesm2015/alfresco-aca-playwright-shared.mjs +6251 -0
  125. package/fesm2015/alfresco-aca-playwright-shared.mjs.map +1 -0
  126. package/fesm2020/alfresco-aca-playwright-shared.mjs +6895 -0
  127. package/fesm2020/alfresco-aca-playwright-shared.mjs.map +1 -0
  128. package/fixtures/index.d.ts +24 -0
  129. package/fixtures/page-initialization.d.ts +47 -0
  130. package/index.d.ts +5 -0
  131. package/models/custom-config.d.ts +27 -0
  132. package/models/index.d.ts +25 -0
  133. package/models/user-model.d.ts +37 -0
  134. package/package.json +35 -0
  135. package/page-objects/components/aca-header.component.d.ts +53 -0
  136. package/page-objects/components/actions-dropdown.component.d.ts +71 -0
  137. package/page-objects/components/adf-info-drawer.component.d.ts +64 -0
  138. package/page-objects/components/base.component.d.ts +46 -0
  139. package/page-objects/components/breadcrumb/breadcrumb.component.d.ts +34 -0
  140. package/page-objects/components/conditions.component.d.ts +46 -0
  141. package/page-objects/components/dataTable/data-table.component.d.ts +185 -0
  142. package/page-objects/components/dataTable/index.d.ts +26 -0
  143. package/page-objects/components/dataTable/mat-menu.component.d.ts +41 -0
  144. package/page-objects/components/dataTable/toolbar.component.d.ts +33 -0
  145. package/page-objects/components/datetime-picker/datetime-picker.component.d.ts +36 -0
  146. package/page-objects/components/dialogs/adf-confirm-dialog.component.d.ts +33 -0
  147. package/page-objects/components/dialogs/adf-folder-dialog.component.d.ts +45 -0
  148. package/page-objects/components/dialogs/adf-library-dialog.component.d.ts +45 -0
  149. package/page-objects/components/dialogs/content-node-selector-dialog.d.ts +42 -0
  150. package/page-objects/components/dialogs/create-from-template-dialog-component.d.ts +39 -0
  151. package/page-objects/components/dialogs/delete-trash-dialog.component.d.ts +39 -0
  152. package/page-objects/components/dialogs/edit-dialog.component.d.ts +36 -0
  153. package/page-objects/components/dialogs/index.d.ts +38 -0
  154. package/page-objects/components/dialogs/link-rules.component.d.ts +40 -0
  155. package/page-objects/components/dialogs/manage-versions-dialog.component.d.ts +30 -0
  156. package/page-objects/components/dialogs/password-overlay-dialog.component.d.ts +42 -0
  157. package/page-objects/components/dialogs/share-dialog.component.d.ts +54 -0
  158. package/page-objects/components/dialogs/upload-dialog.component.d.ts +33 -0
  159. package/page-objects/components/dialogs/upload-new-version-dialog.component.d.ts +35 -0
  160. package/page-objects/components/dialogs/viewer-overlay-dialog.component.d.ts +43 -0
  161. package/page-objects/components/error.component.d.ts +31 -0
  162. package/page-objects/components/index.d.ts +49 -0
  163. package/page-objects/components/manageRules/index.d.ts +25 -0
  164. package/page-objects/components/manageRules/manage-rules-dialog.component.d.ts +51 -0
  165. package/page-objects/components/manageRules/manage-rules.component.d.ts +46 -0
  166. package/page-objects/components/pagination.component.d.ts +70 -0
  167. package/page-objects/components/search/search-filters/search-filters-categories.component.d.ts +30 -0
  168. package/page-objects/components/search/search-filters/search-filters-date.component.d.ts +73 -0
  169. package/page-objects/components/search/search-filters/search-filters-location.component.d.ts +32 -0
  170. package/page-objects/components/search/search-filters/search-filters-logic.component.d.ts +33 -0
  171. package/page-objects/components/search/search-filters/search-filters-properties.component.d.ts +42 -0
  172. package/page-objects/components/search/search-filters/search-filters-tags.component.d.ts +32 -0
  173. package/page-objects/components/search/search-filters.component.d.ts +42 -0
  174. package/page-objects/components/search/search-input.component.d.ts +40 -0
  175. package/page-objects/components/search/search-overlay.components.d.ts +45 -0
  176. package/page-objects/components/search/search-sorting-picker.components.d.ts +41 -0
  177. package/page-objects/components/sidenav.component.d.ts +45 -0
  178. package/page-objects/components/snackBar/snack-bar.component.d.ts +37 -0
  179. package/page-objects/components/spinner.component.d.ts +30 -0
  180. package/page-objects/components/viewer.component.d.ts +49 -0
  181. package/page-objects/index.d.ts +25 -0
  182. package/page-objects/pages/base.page.d.ts +52 -0
  183. package/page-objects/pages/favorites-libraries.page.d.ts +40 -0
  184. package/page-objects/pages/favorites.page.d.ts +44 -0
  185. package/page-objects/pages/index.d.ts +34 -0
  186. package/page-objects/pages/login.page.d.ts +48 -0
  187. package/page-objects/pages/my-libraries.page.d.ts +45 -0
  188. package/page-objects/pages/nodes.page.d.ts +37 -0
  189. package/page-objects/pages/personal-files.page.d.ts +57 -0
  190. package/page-objects/pages/recent-files.page.d.ts +42 -0
  191. package/page-objects/pages/search.page.d.ts +54 -0
  192. package/page-objects/pages/shared.page.d.ts +42 -0
  193. package/page-objects/pages/trash.page.d.ts +42 -0
  194. package/page-objects/playwright-base.d.ts +30 -0
  195. package/public-api.d.ts +30 -0
  196. package/resources/index.d.ts +25 -0
  197. package/resources/test-data/index.d.ts +25 -0
  198. package/resources/test-data/test-data-files-folders.d.ts +41 -0
  199. package/resources/test-data/test-data-permissions.d.ts +216 -0
  200. package/resources/test-files/index.d.ts +76 -0
  201. package/utils/api.d.ts +26 -0
  202. package/utils/config.d.ts +69 -0
  203. package/utils/error-strings.d.ts +38 -0
  204. package/utils/exclude-tests.d.ts +24 -0
  205. package/utils/index.d.ts +33 -0
  206. package/utils/library-errors.d.ts +28 -0
  207. package/utils/logger.d.ts +54 -0
  208. package/utils/paths.d.ts +30 -0
  209. package/utils/state-helper.d.ts +27 -0
  210. package/utils/timeouts.d.ts +38 -0
  211. 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