@alfresco/aca-playwright-shared 7.0.0-15437658909 → 7.0.0-15459856647

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 (107) hide show
  1. package/esm2022/alfresco-aca-playwright-shared.mjs +5 -0
  2. package/esm2022/api/api-client-factory.mjs +131 -0
  3. package/esm2022/api/categories-api.mjs +66 -0
  4. package/esm2022/api/favorites-api.mjs +130 -0
  5. package/esm2022/api/file-actions.mjs +167 -0
  6. package/esm2022/api/index.mjs +38 -0
  7. package/esm2022/api/node-content-tree.mjs +67 -0
  8. package/esm2022/api/nodes-api.mjs +428 -0
  9. package/esm2022/api/people-api-models.mjs +41 -0
  10. package/esm2022/api/queries-api.mjs +70 -0
  11. package/esm2022/api/rules-api.mjs +251 -0
  12. package/esm2022/api/search-api.mjs +75 -0
  13. package/esm2022/api/shared-links-api.mjs +137 -0
  14. package/esm2022/api/sites-api.mjs +156 -0
  15. package/esm2022/api/tags-api.mjs +92 -0
  16. package/esm2022/api/trashcan-api.mjs +52 -0
  17. package/esm2022/base-config/global-variables.mjs +36 -0
  18. package/esm2022/base-config/global.setup.mjs +66 -0
  19. package/esm2022/base-config/index.mjs +27 -0
  20. package/esm2022/base-config/playwright.config.mjs +78 -0
  21. package/esm2022/base-config/report-portal.config.mjs +48 -0
  22. package/esm2022/fixtures/index.mjs +25 -0
  23. package/esm2022/fixtures/page-initialization.mjs +83 -0
  24. package/esm2022/models/custom-config.mjs +25 -0
  25. package/esm2022/models/index.mjs +26 -0
  26. package/esm2022/models/user-model.mjs +61 -0
  27. package/esm2022/page-objects/components/aca-header.component.mjs +77 -0
  28. package/esm2022/page-objects/components/actions-dropdown.component.mjs +103 -0
  29. package/esm2022/page-objects/components/adf-info-drawer.component.mjs +99 -0
  30. package/esm2022/page-objects/components/base.component.mjs +70 -0
  31. package/esm2022/page-objects/components/breadcrumb/breadcrumb.component.mjs +46 -0
  32. package/esm2022/page-objects/components/conditions.component.mjs +72 -0
  33. package/esm2022/page-objects/components/dataTable/data-table.component.mjs +342 -0
  34. package/esm2022/page-objects/components/dataTable/index.mjs +27 -0
  35. package/esm2022/page-objects/components/dataTable/mat-menu.component.mjs +66 -0
  36. package/esm2022/page-objects/components/dataTable/toolbar.component.mjs +39 -0
  37. package/esm2022/page-objects/components/datetime-picker/datetime-picker.component.mjs +52 -0
  38. package/esm2022/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +35 -0
  39. package/esm2022/page-objects/components/dialogs/adf-folder-dialog.component.mjs +56 -0
  40. package/esm2022/page-objects/components/dialogs/adf-library-dialog.component.mjs +63 -0
  41. package/esm2022/page-objects/components/dialogs/content-node-selector-dialog.mjs +67 -0
  42. package/esm2022/page-objects/components/dialogs/create-from-template-dialog-component.mjs +54 -0
  43. package/esm2022/page-objects/components/dialogs/delete-trash-dialog.component.mjs +53 -0
  44. package/esm2022/page-objects/components/dialogs/edit-dialog.component.mjs +38 -0
  45. package/esm2022/page-objects/components/dialogs/folder-information-dialog.component.mjs +44 -0
  46. package/esm2022/page-objects/components/dialogs/index.mjs +39 -0
  47. package/esm2022/page-objects/components/dialogs/link-rules.component.mjs +57 -0
  48. package/esm2022/page-objects/components/dialogs/manage-versions-dialog.component.mjs +35 -0
  49. package/esm2022/page-objects/components/dialogs/password-overlay-dialog.component.mjs +70 -0
  50. package/esm2022/page-objects/components/dialogs/share-dialog.component.mjs +84 -0
  51. package/esm2022/page-objects/components/dialogs/upload-dialog.component.mjs +35 -0
  52. package/esm2022/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +37 -0
  53. package/esm2022/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +55 -0
  54. package/esm2022/page-objects/components/error.component.mjs +33 -0
  55. package/esm2022/page-objects/components/index.mjs +50 -0
  56. package/esm2022/page-objects/components/manageRules/index.mjs +26 -0
  57. package/esm2022/page-objects/components/manageRules/manage-rules-dialog.component.mjs +63 -0
  58. package/esm2022/page-objects/components/manageRules/manage-rules.component.mjs +69 -0
  59. package/esm2022/page-objects/components/pagination.component.mjs +173 -0
  60. package/esm2022/page-objects/components/search/search-filters/search-filters-categories.component.mjs +32 -0
  61. package/esm2022/page-objects/components/search/search-filters/search-filters-date.component.mjs +114 -0
  62. package/esm2022/page-objects/components/search/search-filters/search-filters-location.component.mjs +39 -0
  63. package/esm2022/page-objects/components/search/search-filters/search-filters-logic.component.mjs +35 -0
  64. package/esm2022/page-objects/components/search/search-filters/search-filters-properties.component.mjs +82 -0
  65. package/esm2022/page-objects/components/search/search-filters/search-filters-tags.component.mjs +39 -0
  66. package/esm2022/page-objects/components/search/search-filters.component.mjs +44 -0
  67. package/esm2022/page-objects/components/search/search-input.component.mjs +47 -0
  68. package/esm2022/page-objects/components/search/search-overlay.components.mjs +82 -0
  69. package/esm2022/page-objects/components/search/search-sorting-picker.components.mjs +71 -0
  70. package/esm2022/page-objects/components/sidenav.component.mjs +87 -0
  71. package/esm2022/page-objects/components/snackBar/snack-bar.component.mjs +53 -0
  72. package/esm2022/page-objects/components/spinner.component.mjs +40 -0
  73. package/esm2022/page-objects/components/viewer.component.mjs +130 -0
  74. package/esm2022/page-objects/index.mjs +26 -0
  75. package/esm2022/page-objects/pages/base.page.mjs +84 -0
  76. package/esm2022/page-objects/pages/favorites-libraries.page.mjs +42 -0
  77. package/esm2022/page-objects/pages/favorites.page.mjs +48 -0
  78. package/esm2022/page-objects/pages/index.mjs +35 -0
  79. package/esm2022/page-objects/pages/login.page.mjs +61 -0
  80. package/esm2022/page-objects/pages/my-libraries.page.mjs +54 -0
  81. package/esm2022/page-objects/pages/nodes.page.mjs +39 -0
  82. package/esm2022/page-objects/pages/personal-files.page.mjs +85 -0
  83. package/esm2022/page-objects/pages/recent-files.page.mjs +44 -0
  84. package/esm2022/page-objects/pages/search.page.mjs +79 -0
  85. package/esm2022/page-objects/pages/shared.page.mjs +44 -0
  86. package/esm2022/page-objects/pages/trash.page.mjs +44 -0
  87. package/esm2022/page-objects/playwright-base.mjs +33 -0
  88. package/esm2022/public-api.mjs +31 -0
  89. package/esm2022/resources/index.mjs +26 -0
  90. package/esm2022/resources/test-data/index.mjs +26 -0
  91. package/esm2022/resources/test-data/test-data-files-folders.mjs +53 -0
  92. package/esm2022/resources/test-data/test-data-permissions.mjs +331 -0
  93. package/esm2022/resources/test-files/index.mjs +102 -0
  94. package/esm2022/utils/api.mjs +43 -0
  95. package/esm2022/utils/config.mjs +70 -0
  96. package/esm2022/utils/error-strings.mjs +39 -0
  97. package/esm2022/utils/exclude-tests.mjs +35 -0
  98. package/esm2022/utils/index.mjs +34 -0
  99. package/esm2022/utils/library-errors.mjs +29 -0
  100. package/esm2022/utils/logger.mjs +70 -0
  101. package/esm2022/utils/paths.mjs +32 -0
  102. package/esm2022/utils/state-helper.mjs +29 -0
  103. package/esm2022/utils/timeouts.mjs +39 -0
  104. package/esm2022/utils/utils.mjs +163 -0
  105. package/fesm2022/alfresco-aca-playwright-shared.mjs +1 -1
  106. package/fesm2022/alfresco-aca-playwright-shared.mjs.map +1 -1
  107. package/package.json +3 -1
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxmcmVzY28tYWNhLXBsYXl3cmlnaHQtc2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hbGZyZXNjby1hY2EtcGxheXdyaWdodC1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,131 @@
1
+ /*!
2
+ * Copyright © 2005-2025 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 { AdminTenantsApi, AdminUsersApi, AlfrescoApi, GroupsApi, NodesApi, PeopleApi, QueriesApi, SearchApi, SecurityGroupsApi, SecurityMarksApi, SitesApi, UploadApi, SharedlinksApi, FavoritesApi, TrashcanApi, CommentsApi, CategoriesApi, TagsApi } from '@alfresco/js-api';
25
+ import { users } from '../base-config';
26
+ import { Person } from './people-api-models';
27
+ const { BASE_URL } = process.env;
28
+ const config = {
29
+ authType: 'BASIC',
30
+ hostBpm: BASE_URL,
31
+ hostEcm: BASE_URL,
32
+ provider: 'ECM',
33
+ contextRoot: 'alfresco'
34
+ };
35
+ export class ApiClientFactory {
36
+ alfrescoApi;
37
+ sites;
38
+ upload;
39
+ nodes;
40
+ people;
41
+ adminUsers;
42
+ adminTenant;
43
+ groups;
44
+ queries;
45
+ search;
46
+ securityGroupsApi;
47
+ securityMarksApi;
48
+ contentClient;
49
+ share;
50
+ favorites;
51
+ trashCan;
52
+ commentsApi;
53
+ queriesApi;
54
+ categoriesApi;
55
+ tagsApi;
56
+ constructor() {
57
+ this.alfrescoApi = new AlfrescoApi(config);
58
+ }
59
+ async setUpAcaBackend(userName, password) {
60
+ await this.login(userName, password);
61
+ this.sites = new SitesApi(this.alfrescoApi);
62
+ this.upload = new UploadApi(this.alfrescoApi);
63
+ this.nodes = new NodesApi(this.alfrescoApi);
64
+ this.people = new PeopleApi(this.alfrescoApi);
65
+ this.adminUsers = new AdminUsersApi(this.alfrescoApi);
66
+ this.adminTenant = new AdminTenantsApi(this.alfrescoApi);
67
+ this.groups = new GroupsApi(this.alfrescoApi);
68
+ this.queries = new QueriesApi(this.alfrescoApi);
69
+ this.search = new SearchApi(this.alfrescoApi);
70
+ this.securityGroupsApi = new SecurityGroupsApi(this.alfrescoApi);
71
+ this.securityMarksApi = new SecurityMarksApi(this.alfrescoApi);
72
+ this.share = new SharedlinksApi(this.alfrescoApi);
73
+ this.favorites = new FavoritesApi(this.alfrescoApi);
74
+ this.trashCan = new TrashcanApi(this.alfrescoApi);
75
+ this.commentsApi = new CommentsApi(this.alfrescoApi);
76
+ this.queriesApi = new QueriesApi(this.alfrescoApi);
77
+ this.categoriesApi = new CategoriesApi(this.alfrescoApi);
78
+ this.tagsApi = new TagsApi(this.alfrescoApi);
79
+ return this;
80
+ }
81
+ async tearDown() {
82
+ await this.alfrescoApi.logout();
83
+ return this;
84
+ }
85
+ async login(userName, password) {
86
+ const predefinedUserKey = Object.keys(users).find((user) => user === userName || users[user].username === userName);
87
+ const userToLog = predefinedUserKey ? users[predefinedUserKey] : undefined;
88
+ let e;
89
+ const user = userToLog?.username ?? userName;
90
+ const userPassword = userToLog?.password ?? password;
91
+ try {
92
+ e = await this.alfrescoApi.login(user, userPassword);
93
+ }
94
+ catch (error) {
95
+ console.error(`[API Client Factory] Log in user ${user} failed ${e}`);
96
+ throw error;
97
+ }
98
+ }
99
+ async loginUser(user) {
100
+ let e;
101
+ try {
102
+ e = await this.alfrescoApi.login(user.username, user.password);
103
+ }
104
+ catch (error) {
105
+ console.error(`[API Client Factory] Log in user ${user.username} failed ${e}`);
106
+ throw error;
107
+ }
108
+ }
109
+ async createUser(user) {
110
+ const person = new Person(user);
111
+ const peopleApi = new PeopleApi(this.alfrescoApi);
112
+ try {
113
+ return peopleApi.createPerson(person);
114
+ }
115
+ catch (error) {
116
+ console.error('[API Client Factory] createUser failed : ', error);
117
+ return null;
118
+ }
119
+ }
120
+ async changePassword(username, newPassword) {
121
+ const peopleApi = new PeopleApi(this.alfrescoApi);
122
+ try {
123
+ return peopleApi.updatePerson(username, { password: newPassword });
124
+ }
125
+ catch (error) {
126
+ console.error('[API Client Factory] changePassword failed : ', error);
127
+ return null;
128
+ }
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNsaWVudC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hcGkvYXBpLWNsaWVudC1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsV0FBVyxFQUVYLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsU0FBUyxFQUNULGNBQWMsRUFDZCxZQUFZLEVBQ1osV0FBVyxFQUVYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsT0FBTyxFQUNSLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQWExRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUVqQyxNQUFNLE1BQU0sR0FBRztJQUNiLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsV0FBVyxFQUFFLFVBQVU7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsV0FBVyxDQUFjO0lBQ3pCLEtBQUssQ0FBVztJQUNoQixNQUFNLENBQVk7SUFDbEIsS0FBSyxDQUFXO0lBQ2hCLE1BQU0sQ0FBWTtJQUNsQixVQUFVLENBQWdCO0lBQzFCLFdBQVcsQ0FBa0I7SUFDN0IsTUFBTSxDQUFZO0lBQ2xCLE9BQU8sQ0FBYTtJQUNwQixNQUFNLENBQVk7SUFDbEIsaUJBQWlCLENBQW9CO0lB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RyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQixFQUFFLFdBQW1CO1FBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUM7WUFDSCxPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQge1xuICBBZG1pblRlbmFudHNBcGksXG4gIEFkbWluVXNlcnNBcGksXG4gIEFsZnJlc2NvQXBpLFxuICBDb250ZW50Q2xpZW50LFxuICBHcm91cHNBcGksXG4gIE5vZGVzQXBpLFxuICBQZW9wbGVBcGksXG4gIFF1ZXJpZXNBcGksXG4gIFNlYXJjaEFwaSxcbiAgU2VjdXJpdHlHcm91cHNBcGksXG4gIFNlY3VyaXR5TWFya3NBcGksXG4gIFNpdGVzQXBpLFxuICBVcGxvYWRBcGksXG4gIFNoYXJlZGxpbmtzQXBpLFxuICBGYXZvcml0ZXNBcGksXG4gIFRyYXNoY2FuQXBpLFxuICBQZXJzb25FbnRyeSxcbiAgQ29tbWVudHNBcGksXG4gIENhdGVnb3JpZXNBcGksXG4gIFRhZ3NBcGlcbn0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyB1c2VycyB9IGZyb20gJy4uL2Jhc2UtY29uZmlnJztcbmltcG9ydCB7IFBlcnNvbiwgUGVyc29uTW9kZWwgfSBmcm9tICcuL3Blb3BsZS1hcGktbW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2FCYWNrZW5kIHtcbiAgc2l0ZXM6IFNpdGVzQXBpO1xuICB1cGxvYWQ6IFVwbG9hZEFwaTtcbiAgbm9kZXM6IE5vZGVzQXBpO1xuICBzaGFyZTogU2hhcmVkbGlua3NBcGk7XG4gIGZhdm9yaXRlczogRmF2b3JpdGVzQXBpO1xuICB0cmFzaENhbjogVHJhc2hjYW5BcGk7XG5cbiAgdGVhckRvd24oKTogUHJvbWlzZTxhbnk+O1xufVxuXG5jb25zdCB7IEJBU0VfVVJMIH0gPSBwcm9jZXNzLmVudjtcblxuY29uc3QgY29uZmlnID0ge1xuICBhdXRoVHlwZTogJ0JBU0lDJyxcbiAgaG9zdEJwbTogQkFTRV9VUkwsXG4gIGhvc3RFY206IEJBU0VfVVJMLFxuICBwcm92aWRlcjogJ0VDTScsXG4gIGNvbnRleHRSb290OiAnYWxmcmVzY28nXG59O1xuXG5leHBvcnQgY2xhc3MgQXBpQ2xpZW50RmFjdG9yeSB7XG4gIHB1YmxpYyBhbGZyZXNjb0FwaTogQWxmcmVzY29BcGk7XG4gIHB1YmxpYyBzaXRlczogU2l0ZXNBcGk7XG4gIHB1YmxpYyB1cGxvYWQ6IFVwbG9hZEFwaTtcbiAgcHVibGljIG5vZGVzOiBOb2Rlc0FwaTtcbiAgcHVibGljIHBlb3BsZTogUGVvcGxlQXBpO1xuICBwdWJsaWMgYWRtaW5Vc2VyczogQWRtaW5Vc2Vyc0FwaTtcbiAgcHVibGljIGFkbWluVGVuYW50OiBBZG1pblRlbmFudHNBcGk7XG4gIHB1YmxpYyBncm91cHM6IEdyb3Vwc0FwaTtcbiAgcHVibGljIHF1ZXJpZXM6IFF1ZXJpZXNBcGk7XG4gIHB1YmxpYyBzZWFyY2g6IFNlYXJjaEFwaTtcbiAgcHVibGljIHNlY3VyaXR5R3JvdXBzQXBpOiBTZWN1cml0eUdyb3Vwc0FwaTtcbiAgcHVibGljIHNlY3VyaXR5TWFya3NBcGk6IFNlY3VyaXR5TWFya3NBcGk7XG4gIHB1YmxpYyBjb250ZW50Q2xpZW50OiBDb250ZW50Q2xpZW50O1xuICBwdWJsaWMgc2hhcmU6IFNoYXJlZGxpbmtzQXBpO1xuICBwdWJsaWMgZmF2b3JpdGVzOiBGYXZvcml0ZXNBcGk7XG4gIHB1YmxpYyB0cmFzaENhbjogVHJhc2hjYW5BcGk7XG4gIHB1YmxpYyBjb21tZW50c0FwaTogQ29tbWVudHNBcGk7XG4gIHB1YmxpYyBxdWVyaWVzQXBpOiBRdWVyaWVzQXBpO1xuICBwdWJsaWMgY2F0ZWdvcmllc0FwaTogQ2F0ZWdvcmllc0FwaTtcbiAgcHVibGljIHRhZ3NBcGk6IFRhZ3NBcGk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYWxmcmVzY29BcGkgPSBuZXcgQWxmcmVzY29BcGkoY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRVcEFjYUJhY2tlbmQodXNlck5hbWU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiBQcm9taXNlPEFjYUJhY2tlbmQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZ2luKHVzZXJOYW1lLCBwYXNzd29yZCk7XG5cbiAgICB0aGlzLnNpdGVzID0gbmV3IFNpdGVzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMudXBsb2FkID0gbmV3IFVwbG9hZEFwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLm5vZGVzID0gbmV3IE5vZGVzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMucGVvcGxlID0gbmV3IFBlb3BsZUFwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLmFkbWluVXNlcnMgPSBuZXcgQWRtaW5Vc2Vyc0FwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLmFkbWluVGVuYW50ID0gbmV3IEFkbWluVGVuYW50c0FwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLmdyb3VwcyA9IG5ldyBHcm91cHNBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG4gICAgdGhpcy5xdWVyaWVzID0gbmV3IFF1ZXJpZXNBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG4gICAgdGhpcy5zZWFyY2ggPSBuZXcgU2VhcmNoQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cHNBcGkgPSBuZXcgU2VjdXJpdHlHcm91cHNBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG4gICAgdGhpcy5zZWN1cml0eU1hcmtzQXBpID0gbmV3IFNlY3VyaXR5TWFya3NBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG4gICAgdGhpcy5zaGFyZSA9IG5ldyBTaGFyZWRsaW5rc0FwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLmZhdm9yaXRlcyA9IG5ldyBGYXZvcml0ZXNBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG4gICAgdGhpcy50cmFzaENhbiA9IG5ldyBUcmFzaGNhbkFwaSh0aGlzLmFsZnJlc2NvQXBpKTtcbiAgICB0aGlzLmNvbW1lbnRzQXBpID0gbmV3IENvbW1lbnRzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMucXVlcmllc0FwaSA9IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMuY2F0ZWdvcmllc0FwaSA9IG5ldyBDYXRlZ29yaWVzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuICAgIHRoaXMudGFnc0FwaSA9IG5ldyBUYWdzQXBpKHRoaXMuYWxmcmVzY29BcGkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhc3luYyB0ZWFyRG93bigpOiBQcm9taXNlPEFwaUNsaWVudEZhY3Rvcnk+IHtcbiAgICBhd2FpdCB0aGlzLmFsZnJlc2NvQXBpLmxvZ291dCgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYXN5bmMgbG9naW4odXNlck5hbWU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwcmVkZWZpbmVkVXNlcktleSA9IE9iamVjdC5rZXlzKHVzZXJzKS5maW5kKCh1c2VyKSA9PiB1c2VyID09PSB1c2VyTmFtZSB8fCB1c2Vyc1t1c2VyXS51c2VybmFtZSA9PT0gdXNlck5hbWUpO1xuICAgIGNvbnN0IHVzZXJUb0xvZyA9IHByZWRlZmluZWRVc2VyS2V5ID8gdXNlcnNbcHJlZGVmaW5lZFVzZXJLZXldIDogdW5kZWZpbmVkO1xuICAgIGxldCBlOiBhbnk7XG5cbiAgICBjb25zdCB1c2VyID0gdXNlclRvTG9nPy51c2VybmFtZSA/PyB1c2VyTmFtZTtcbiAgICBjb25zdCB1c2VyUGFzc3dvcmQgPSB1c2VyVG9Mb2c/LnBhc3N3b3JkID8/IHBhc3N3b3JkO1xuICAgIHRyeSB7XG4gICAgICBlID0gYXdhaXQgdGhpcy5hbGZyZXNjb0FwaS5sb2dpbih1c2VyLCB1c2VyUGFzc3dvcmQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbQVBJIENsaWVudCBGYWN0b3J5XSBMb2cgaW4gdXNlciAke3VzZXJ9IGZhaWxlZCAke2V9YCk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2dpblVzZXIodXNlcjogUGVyc29uTW9kZWwpIHtcbiAgICBsZXQgZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBlID0gYXdhaXQgdGhpcy5hbGZyZXNjb0FwaS5sb2dpbih1c2VyLnVzZXJuYW1lLCB1c2VyLnBhc3N3b3JkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgW0FQSSBDbGllbnQgRmFjdG9yeV0gTG9nIGluIHVzZXIgJHt1c2VyLnVzZXJuYW1lfSBmYWlsZWQgJHtlfWApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlVXNlcih1c2VyOiBQZXJzb25Nb2RlbCk6IFByb21pc2U8UGVyc29uRW50cnk+IHtcbiAgICBjb25zdCBwZXJzb24gPSBuZXcgUGVyc29uKHVzZXIpO1xuICAgIGNvbnN0IHBlb3BsZUFwaSA9IG5ldyBQZW9wbGVBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBlb3BsZUFwaS5jcmVhdGVQZXJzb24ocGVyc29uKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW0FQSSBDbGllbnQgRmFjdG9yeV0gY3JlYXRlVXNlciBmYWlsZWQgOiAnLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjaGFuZ2VQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxQZXJzb25FbnRyeT4ge1xuICAgIGNvbnN0IHBlb3BsZUFwaSA9IG5ldyBQZW9wbGVBcGkodGhpcy5hbGZyZXNjb0FwaSk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBlb3BsZUFwaS51cGRhdGVQZXJzb24odXNlcm5hbWUsIHsgcGFzc3dvcmQ6IG5ld1Bhc3N3b3JkIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbQVBJIENsaWVudCBGYWN0b3J5XSBjaGFuZ2VQYXNzd29yZCBmYWlsZWQgOiAnLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * Copyright © 2005-2025 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 CategoriesApi {
26
+ apiService;
27
+ constructor() {
28
+ this.apiService = new ApiClientFactory();
29
+ }
30
+ static async initialize(userName, password) {
31
+ const classObj = new CategoriesApi();
32
+ await classObj.apiService.setUpAcaBackend(userName, password);
33
+ return classObj;
34
+ }
35
+ async createCategory(categoryId, categoryBodyCreate, opts) {
36
+ try {
37
+ return this.apiService.categoriesApi.createSubcategories(categoryId, categoryBodyCreate, opts);
38
+ }
39
+ catch (error) {
40
+ console.error(error);
41
+ return null;
42
+ }
43
+ }
44
+ async deleteCategory(categoryId) {
45
+ if (categoryId === null) {
46
+ console.error('categoryId is null, skipping deletion');
47
+ return;
48
+ }
49
+ try {
50
+ await this.apiService.categoriesApi.deleteCategory(categoryId);
51
+ }
52
+ catch (error) {
53
+ console.error(`${this.constructor.name} ${this.deleteCategory.name}: ${error}`);
54
+ }
55
+ }
56
+ async linkNodeToCategory(nodeId, categoryLinkBodyCreate, opts) {
57
+ try {
58
+ return this.apiService.categoriesApi.linkNodeToCategory(nodeId, categoryLinkBodyCreate, opts);
59
+ }
60
+ catch (error) {
61
+ console.error(`${this.constructor.name} ${this.linkNodeToCategory.name}: ${error}`);
62
+ return null;
63
+ }
64
+ }
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2FwaS9jYXRlZ29yaWVzLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE1BQU0sT0FBTyxhQUFhO0lBQ2hCLFVBQVUsQ0FBbUI7SUFFckM7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxRQUFpQjtRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFVBQWtCLEVBQUUsa0JBQWtDLEVBQUUsSUFBb0I7UUFDL0YsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakcsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFVBQWtCO1FBQ3JDLElBQUksVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztZQUN2RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLE1BQWMsRUFDZCxzQkFBMEMsRUFDMUMsSUFBb0I7UUFFcEIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEcsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBcGlDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9hcGktY2xpZW50LWZhY3RvcnknO1xuaW1wb3J0IHsgQ2F0ZWdvcnlFbnRyeSwgQ2F0ZWdvcnlCb2R5LCBDYXRlZ29yeVF1ZXJ5LCBDYXRlZ29yeVBhZ2luZywgQ2F0ZWdvcnlMaW5rQm9keSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc0FwaSB7XG4gIHByaXZhdGUgYXBpU2VydmljZTogQXBpQ2xpZW50RmFjdG9yeTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UgPSBuZXcgQXBpQ2xpZW50RmFjdG9yeSgpO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGluaXRpYWxpemUodXNlck5hbWU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiBQcm9taXNlPENhdGVnb3JpZXNBcGk+IHtcbiAgICBjb25zdCBjbGFzc09iaiA9IG5ldyBDYXRlZ29yaWVzQXBpKCk7XG4gICAgYXdhaXQgY2xhc3NPYmouYXBpU2VydmljZS5zZXRVcEFjYUJhY2tlbmQodXNlck5hbWUsIHBhc3N3b3JkKTtcbiAgICByZXR1cm4gY2xhc3NPYmo7XG4gIH1cblxuICBhc3luYyBjcmVhdGVDYXRlZ29yeShjYXRlZ29yeUlkOiBzdHJpbmcsIGNhdGVnb3J5Qm9keUNyZWF0ZTogQ2F0ZWdvcnlCb2R5W10sIG9wdHM/OiBDYXRlZ29yeVF1ZXJ5KTogUHJvbWlzZTxDYXRlZ29yeVBhZ2luZyB8IENhdGVnb3J5RW50cnk+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5jYXRlZ29yaWVzQXBpLmNyZWF0ZVN1YmNhdGVnb3JpZXMoY2F0ZWdvcnlJZCwgY2F0ZWdvcnlCb2R5Q3JlYXRlLCBvcHRzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVDYXRlZ29yeShjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY2F0ZWdvcnlJZCA9PT0gbnVsbCkge1xuICAgICAgY29uc29sZS5lcnJvcignY2F0ZWdvcnlJZCBpcyBudWxsLCBza2lwcGluZyBkZWxldGlvbicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuY2F0ZWdvcmllc0FwaS5kZWxldGVDYXRlZ29yeShjYXRlZ29yeUlkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9ICR7dGhpcy5kZWxldGVDYXRlZ29yeS5uYW1lfTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaW5rTm9kZVRvQ2F0ZWdvcnkoXG4gICAgbm9kZUlkOiBzdHJpbmcsXG4gICAgY2F0ZWdvcnlMaW5rQm9keUNyZWF0ZTogQ2F0ZWdvcnlMaW5rQm9keVtdLFxuICAgIG9wdHM/OiBDYXRlZ29yeVF1ZXJ5XG4gICk6IFByb21pc2U8Q2F0ZWdvcnlQYWdpbmcgfCBDYXRlZ29yeUVudHJ5PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuY2F0ZWdvcmllc0FwaS5saW5rTm9kZVRvQ2F0ZWdvcnkobm9kZUlkLCBjYXRlZ29yeUxpbmtCb2R5Q3JlYXRlLCBvcHRzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9ICR7dGhpcy5saW5rTm9kZVRvQ2F0ZWdvcnkubmFtZX06ICR7ZXJyb3J9YCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,130 @@
1
+ /*!
2
+ * Copyright © 2005-2025 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 { FavoritePaging } from '@alfresco/js-api';
26
+ import { Utils } from '../utils';
27
+ export class FavoritesPageApi {
28
+ apiService;
29
+ constructor() {
30
+ this.apiService = new ApiClientFactory();
31
+ }
32
+ static async initialize(userName, password) {
33
+ const classObj = new FavoritesPageApi();
34
+ await classObj.apiService.setUpAcaBackend(userName, password);
35
+ return classObj;
36
+ }
37
+ async addFavoriteById(nodeType, id) {
38
+ const guid = nodeType === 'site' ? (await this.apiService.sites.getSite(id)).entry.guid : id;
39
+ const data = {
40
+ target: {
41
+ [nodeType]: {
42
+ guid: guid
43
+ }
44
+ }
45
+ };
46
+ return this.apiService.favorites.createFavorite('-me-', data);
47
+ }
48
+ async addFavoritesByIds(nodeType, ids) {
49
+ const favorites = [];
50
+ try {
51
+ if (ids && ids.length > 0) {
52
+ for (const id of ids) {
53
+ const favorite = await this.addFavoriteById(nodeType, id);
54
+ favorites.push(favorite);
55
+ }
56
+ }
57
+ }
58
+ catch { }
59
+ return favorites;
60
+ }
61
+ async getFavorites(username) {
62
+ try {
63
+ return this.apiService.favorites.listFavorites(username);
64
+ }
65
+ catch {
66
+ return new FavoritePaging();
67
+ }
68
+ }
69
+ async isFavorite(username, nodeId) {
70
+ try {
71
+ return JSON.stringify((await this.getFavorites(username)).list.entries).includes(nodeId);
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ async isFavoriteWithRetry(username, nodeId, data) {
78
+ let isFavorite = false;
79
+ try {
80
+ const favorite = async () => {
81
+ isFavorite = await this.isFavorite(username, nodeId);
82
+ if (isFavorite !== data.expect) {
83
+ return Promise.reject(isFavorite);
84
+ }
85
+ else {
86
+ return Promise.resolve(isFavorite);
87
+ }
88
+ };
89
+ return await Utils.retryCall(favorite);
90
+ }
91
+ catch (error) { }
92
+ return isFavorite;
93
+ }
94
+ async getFavoritesTotalItems(username) {
95
+ try {
96
+ return (await this.apiService.favorites.listFavorites(username)).list.pagination.totalItems;
97
+ }
98
+ catch {
99
+ return -1;
100
+ }
101
+ }
102
+ async waitForApi(username, data) {
103
+ try {
104
+ const favoriteFiles = async () => {
105
+ const totalItems = await this.getFavoritesTotalItems(username);
106
+ if (totalItems !== data.expect) {
107
+ return Promise.reject(totalItems);
108
+ }
109
+ else {
110
+ return Promise.resolve(totalItems);
111
+ }
112
+ };
113
+ return await Utils.retryCall(favoriteFiles);
114
+ }
115
+ catch { }
116
+ }
117
+ async removeFavoritesByIds(username, ids) {
118
+ try {
119
+ if (ids && ids.length > 0) {
120
+ for (const id of ids) {
121
+ await this.apiService.favorites.deleteFavorite(username, id);
122
+ }
123
+ }
124
+ }
125
+ catch (error) {
126
+ console.error('FavoritesApi: removeFavoritesByIds failed ', error);
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGVzLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1wbGF5d3JpZ2h0LXNoYXJlZC9zcmMvYXBpL2Zhdm9yaXRlcy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixVQUFVLENBQW1CO0lBRXJDO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQW9DLEVBQUUsRUFBVTtRQUNwRSxNQUFNLElBQUksR0FBRyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdGLE1BQU0sSUFBSSxHQUFHO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsSUFBSSxFQUFF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LFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMvQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDLENBQUM7WUFDRixPQUFPLE1BQU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsUUFBZ0IsRUFBRSxHQUFhO1FBQ3hELElBQUksQ0FBQztZQUNILElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNENBQTRDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBcGlDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9hcGktY2xpZW50LWZhY3RvcnknO1xuaW1wb3J0IHsgRmF2b3JpdGVFbnRyeSwgRmF2b3JpdGVQYWdpbmcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRmF2b3JpdGVzUGFnZUFwaSB7XG4gIHByaXZhdGUgYXBpU2VydmljZTogQXBpQ2xpZW50RmFjdG9yeTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UgPSBuZXcgQXBpQ2xpZW50RmFjdG9yeSgpO1xuICB9XG4gIHN0YXRpYyBhc3luYyBpbml0aWFsaXplKHVzZXJOYW1lOiBzdHJpbmcsIHBhc3N3b3JkPzogc3RyaW5nKTogUHJvbWlzZTxGYXZvcml0ZXNQYWdlQXBpPiB7XG4gICAgY29uc3QgY2xhc3NPYmogPSBuZXcgRmF2b3JpdGVzUGFnZUFwaSgpO1xuICAgIGF3YWl0IGNsYXNzT2JqLmFwaVNlcnZpY2Uuc2V0VXBBY2FCYWNrZW5kKHVzZXJOYW1lLCBwYXNzd29yZCk7XG4gICAgcmV0dXJuIGNsYXNzT2JqO1xuICB9XG4gIGFzeW5jIGFkZEZhdm9yaXRlQnlJZChub2RlVHlwZTogJ2ZpbGUnIHwgJ2ZvbGRlcicgfCAnc2l0ZScsIGlkOiBzdHJpbmcpOiBQcm9taXNlPEZhdm9yaXRlRW50cnk+IHtcbiAgICBjb25zdCBndWlkID0gbm9kZVR5cGUgPT09ICdzaXRlJyA/IChhd2FpdCB0aGlzLmFwaVNlcnZpY2Uuc2l0ZXMuZ2V0U2l0ZShpZCkpLmVudHJ5Lmd1aWQgOiBpZDtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIFtub2RlVHlwZV06IHtcbiAgICAgICAgICBndWlkOiBndWlkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmF2b3JpdGVzLmNyZWF0ZUZhdm9yaXRlKCctbWUtJywgZGF0YSk7XG4gIH1cblxuICBhc3luYyBhZGRGYXZvcml0ZXNCeUlkcyhub2RlVHlwZTogJ2ZpbGUnIHwgJ2ZvbGRlcicgfCAnc2l0ZScsIGlkczogc3RyaW5nW10pOiBQcm9taXNlPEZhdm9yaXRlRW50cnlbXT4ge1xuICAgIGNvbnN0IGZhdm9yaXRlczogRmF2b3JpdGVFbnRyeVtdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpZHMgJiYgaWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICAgICAgICBjb25zdCBmYXZvcml0ZSA9IGF3YWl0IHRoaXMuYWRkRmF2b3JpdGVCeUlkKG5vZGVUeXBlLCBpZCk7XG4gICAgICAgICAgZmF2b3JpdGVzLnB1c2goZmF2b3JpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCB7fVxuICAgIHJldHVybiBmYXZvcml0ZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEZhdm9yaXRlcyh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxGYXZvcml0ZVBhZ2luZz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZhdm9yaXRlcy5saXN0RmF2b3JpdGVzKHVzZXJuYW1lKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBuZXcgRmF2b3JpdGVQYWdpbmcoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBpc0Zhdm9yaXRlKHVzZXJuYW1lOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgoYXdhaXQgdGhpcy5nZXRGYXZvcml0ZXModXNlcm5hbWUpKS5saXN0LmVudHJpZXMpLmluY2x1ZGVzKG5vZGVJZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaXNGYXZvcml0ZVdpdGhSZXRyeSh1c2VybmFtZTogc3RyaW5nLCBub2RlSWQ6IHN0cmluZywgZGF0YTogeyBleHBlY3Q6IGJvb2xlYW4gfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGxldCBpc0Zhdm9yaXRlID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZhdm9yaXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBpc0Zhdm9yaXRlID0gYXdhaXQgdGhpcy5pc0Zhdm9yaXRlKHVzZXJuYW1lLCBub2RlSWQpO1xuICAgICAgICBpZiAoaXNGYXZvcml0ZSAhPT0gZGF0YS5leHBlY3QpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoaXNGYXZvcml0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpc0Zhdm9yaXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiBhd2FpdCBVdGlscy5yZXRyeUNhbGwoZmF2b3JpdGUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgIHJldHVybiBpc0Zhdm9yaXRlO1xuICB9XG5cbiAgYXN5bmMgZ2V0RmF2b3JpdGVzVG90YWxJdGVtcyh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZmF2b3JpdGVzLmxpc3RGYXZvcml0ZXModXNlcm5hbWUpKS5saXN0LnBhZ2luYXRpb24udG90YWxJdGVtcztcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB3YWl0Rm9yQXBpKHVzZXJuYW1lOiBzdHJpbmcsIGRhdGE6IHsgZXhwZWN0OiBudW1iZXIgfSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmYXZvcml0ZUZpbGVzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0b3RhbEl0ZW1zID0gYXdhaXQgdGhpcy5nZXRGYXZvcml0ZXNUb3RhbEl0ZW1zKHVzZXJuYW1lKTtcbiAgICAgICAgaWYgKHRvdGFsSXRlbXMgIT09IGRhdGEuZXhwZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHRvdGFsSXRlbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodG90YWxJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gYXdhaXQgVXRpbHMucmV0cnlDYWxsKGZhdm9yaXRlRmlsZXMpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIGFzeW5jIHJlbW92ZUZhdm9yaXRlc0J5SWRzKHVzZXJuYW1lOiBzdHJpbmcsIGlkczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKGlkcyAmJiBpZHMubGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIGlkcykge1xuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZS5mYXZvcml0ZXMuZGVsZXRlRmF2b3JpdGUodXNlcm5hbWUsIGlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYXZvcml0ZXNBcGk6IHJlbW92ZUZhdm9yaXRlc0J5SWRzIGZhaWxlZCAnLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,167 @@
1
+ /*!
2
+ * Copyright © 2005-2025 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 * as fs from 'fs';
25
+ import { ApiClientFactory } from './api-client-factory';
26
+ import { Utils, waitForApi } from '../utils';
27
+ import { ResultSetPaging } from '@alfresco/js-api';
28
+ export class FileActionsApi {
29
+ apiService;
30
+ constructor() {
31
+ this.apiService = new ApiClientFactory();
32
+ }
33
+ static async initialize(userName, password) {
34
+ const classObj = new FileActionsApi();
35
+ await classObj.apiService.setUpAcaBackend(userName, password);
36
+ return classObj;
37
+ }
38
+ async uploadFile(fileLocation, fileName, parentFolderId) {
39
+ const file = fs.createReadStream(fileLocation);
40
+ return this.apiService.upload.uploadFile(file, '', parentFolderId, null, {
41
+ name: fileName,
42
+ nodeType: 'cm:content',
43
+ renditions: 'doclib'
44
+ });
45
+ }
46
+ async uploadFileWithRename(fileLocation, newName, parentId = '-my-', title = '', description = '') {
47
+ const file = fs.createReadStream(fileLocation);
48
+ const nodeProps = {
49
+ properties: {
50
+ 'cm:title': title,
51
+ 'cm:description': description
52
+ }
53
+ };
54
+ const opts = {
55
+ name: newName,
56
+ nodeType: 'cm:content'
57
+ };
58
+ try {
59
+ return this.apiService.upload.uploadFile(file, '', parentId, nodeProps, opts);
60
+ }
61
+ catch (error) {
62
+ return Promise.reject(error);
63
+ }
64
+ }
65
+ async lockNodes(nodeIds, lockType = 'ALLOW_OWNER_CHANGES') {
66
+ try {
67
+ for (const nodeId of nodeIds) {
68
+ await this.apiService.nodes.lockNode(nodeId, { type: lockType });
69
+ }
70
+ }
71
+ catch { }
72
+ }
73
+ async getNodeById(id) {
74
+ try {
75
+ return this.apiService.nodes.getNode(id);
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ async getNodeProperty(nodeId, property) {
82
+ try {
83
+ const node = await this.getNodeById(nodeId);
84
+ return node.entry.properties?.[property] || '';
85
+ }
86
+ catch {
87
+ return '';
88
+ }
89
+ }
90
+ async getLockType(nodeId) {
91
+ try {
92
+ const lockType = await this.getNodeProperty(nodeId, 'cm:lockType');
93
+ return lockType || '';
94
+ }
95
+ catch {
96
+ return '';
97
+ }
98
+ }
99
+ async isFileLockedWriteWithRetry(nodeId, expect) {
100
+ const data = {
101
+ expect: expect,
102
+ retry: 5
103
+ };
104
+ let isLocked = false;
105
+ try {
106
+ const locked = async () => {
107
+ isLocked = (await this.getLockType(nodeId)) === 'WRITE_LOCK';
108
+ if (isLocked !== data.expect) {
109
+ return Promise.reject(isLocked);
110
+ }
111
+ else {
112
+ return Promise.resolve(isLocked);
113
+ }
114
+ };
115
+ return await Utils.retryCall(locked, data.retry);
116
+ }
117
+ catch { }
118
+ return isLocked;
119
+ }
120
+ async queryNodesNames(searchTerm) {
121
+ const data = {
122
+ query: {
123
+ query: `cm:name:\"${searchTerm}*\"`,
124
+ language: 'afts'
125
+ },
126
+ filterQueries: [{ query: `+TYPE:'cm:folder' OR +TYPE:'cm:content'` }]
127
+ };
128
+ try {
129
+ return this.apiService.search.search(data);
130
+ }
131
+ catch {
132
+ return new ResultSetPaging();
133
+ }
134
+ }
135
+ async waitForNodes(searchTerm, data) {
136
+ const predicate = (totalItems) => totalItems === data.expect;
137
+ const apiCall = async () => {
138
+ try {
139
+ return (await this.queryNodesNames(searchTerm)).list.pagination.totalItems;
140
+ }
141
+ catch (error) {
142
+ return 0;
143
+ }
144
+ };
145
+ try {
146
+ await waitForApi(apiCall, predicate, 30, 2500);
147
+ }
148
+ catch (error) {
149
+ console.error(`Error: ${error}`);
150
+ }
151
+ }
152
+ async updateNodeContent(nodeId, content, majorVersion = true, comment, newName) {
153
+ try {
154
+ const opts = {
155
+ majorVersion: majorVersion,
156
+ comment: comment,
157
+ name: newName
158
+ };
159
+ return this.apiService.nodes.updateNodeContent(nodeId, content, opts);
160
+ }
161
+ catch (error) {
162
+ console.error(`${this.constructor.name} ${this.updateNodeContent.name}`, error);
163
+ return Promise.reject(error);
164
+ }
165
+ }
166
+ }
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXBsYXl3cmlnaHQtc2hhcmVkL3NyYy9hcGkvZmlsZS1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUE2QixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RSxNQUFNLE9BQU8sY0FBYztJQUNqQixVQUFVLENBQW1CO0lBRXJDO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFvQixFQUFFLFFBQWdCLEVBQUUsY0FBc0I7UUFDN0UsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRTtZQUN2RSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxZ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Q0FBQztZQUM3RSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsZUFBd0IsSUFBSSxFQUFFLE9BQWdCLEVBQUUsT0FBZ0I7UUFDdkgsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQXdDO2dCQUNoRCxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEYsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgQXBpQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vYXBpLWNsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IFV0aWxzLCB3YWl0Rm9yQXBpIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTm9kZUJvZHlDcmVhdGUsIE5vZGVFbnRyeSwgUmVzdWx0U2V0UGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlQWN0aW9uc0FwaSB7XG4gIHByaXZhdGUgYXBpU2VydmljZTogQXBpQ2xpZW50RmFjdG9yeTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UgPSBuZXcgQXBpQ2xpZW50RmFjdG9yeSgpO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGluaXRpYWxpemUodXNlck5hbWU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiBQcm9taXNlPEZpbGVBY3Rpb25zQXBpPiB7XG4gICAgY29uc3QgY2xhc3NPYmogPSBuZXcgRmlsZUFjdGlvbnNBcGkoKTtcbiAgICBhd2FpdCBjbGFzc09iai5hcGlTZXJ2aWNlLnNldFVwQWNhQmFja2VuZCh1c2VyTmFtZSwgcGFzc3dvcmQpO1xuICAgIHJldHVybiBjbGFzc09iajtcbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEZpbGUoZmlsZUxvY2F0aW9uOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIHBhcmVudEZvbGRlcklkOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVFbnRyeT4ge1xuICAgIGNvbnN0IGZpbGUgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKGZpbGVMb2NhdGlvbik7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS51cGxvYWQudXBsb2FkRmlsZShmaWxlLCAnJywgcGFyZW50Rm9sZGVySWQsIG51bGwsIHtcbiAgICAgIG5hbWU6IGZpbGVOYW1lLFxuICAgICAgbm9kZVR5cGU6ICdjbTpjb250ZW50JyxcbiAgICAgIHJlbmRpdGlvbnM6ICdkb2NsaWInXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGxvYWRGaWxlV2l0aFJlbmFtZShcbiAgICBmaWxlTG9jYXRpb246IHN0cmluZyxcbiAgICBuZXdOYW1lOiBzdHJpbmcsXG4gICAgcGFyZW50SWQ6IHN0cmluZyA9ICctbXktJyxcbiAgICB0aXRsZTogc3RyaW5nID0gJycsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnXG4gICk6IFByb21pc2U8Tm9kZUVudHJ5PiB7XG4gICAgY29uc3QgZmlsZSA9IGZzLmNyZWF0ZVJlYWRTdHJlYW0oZmlsZUxvY2F0aW9uKTtcbiAgICBjb25zdCBub2RlUHJvcHMgPSB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICdjbTp0aXRsZSc6IHRpdGxlLFxuICAgICAgICAnY206ZGVzY3JpcHRpb24nOiBkZXNjcmlwdGlvblxuICAgICAgfVxuICAgIH0gYXMgTm9kZUJvZHlDcmVhdGU7XG5cbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgbmFtZTogbmV3TmFtZSxcbiAgICAgIG5vZGVUeXBlOiAnY206Y29udGVudCdcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UudXBsb2FkLnVwbG9hZEZpbGUoZmlsZSwgJycsIHBhcmVudElkLCBub2RlUHJvcHMsIG9wdHMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvY2tOb2Rlcyhub2RlSWRzOiBzdHJpbmdbXSwgbG9ja1R5cGU6IHN0cmluZyA9ICdBTExPV19PV05FUl9DSEFOR0VTJyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IG5vZGVJZCBvZiBub2RlSWRzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZS5ub2Rlcy5sb2NrTm9kZShub2RlSWQsIHsgdHlwZTogbG9ja1R5cGUgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgYXN5bmMgZ2V0Tm9kZUJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8Tm9kZUVudHJ5IHwgbnVsbD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLm5vZGVzLmdldE5vZGUoaWQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0Tm9kZVByb3BlcnR5KG5vZGVJZDogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgbm9kZSA9IGF3YWl0IHRoaXMuZ2V0Tm9kZUJ5SWQobm9kZUlkKTtcbiAgICAgIHJldHVybiBub2RlLmVudHJ5LnByb3BlcnRpZXM/Lltwcm9wZXJ0eV0gfHwgJyc7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRMb2NrVHlwZShub2RlSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxvY2tUeXBlID0gYXdhaXQgdGhpcy5nZXROb2RlUHJvcGVydHkobm9kZUlkLCAnY206bG9ja1R5cGUnKTtcbiAgICAgIHJldHVybiBsb2NrVHlwZSB8fCAnJztcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBhc3luYyBpc0ZpbGVMb2NrZWRXcml0ZVdpdGhSZXRyeShub2RlSWQ6IHN0cmluZywgZXhwZWN0OiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGV4cGVjdDogZXhwZWN0LFxuICAgICAgcmV0cnk6IDVcbiAgICB9O1xuICAgIGxldCBpc0xvY2tlZCA9IGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2NrZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlzTG9ja2VkID0gKGF3YWl0IHRoaXMuZ2V0TG9ja1R5cGUobm9kZUlkKSkgPT09ICdXUklURV9MT0NLJztcbiAgICAgICAgaWYgKGlzTG9ja2VkICE9PSBkYXRhLmV4cGVjdCkge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChpc0xvY2tlZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpc0xvY2tlZCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gYXdhaXQgVXRpbHMucmV0cnlDYWxsKGxvY2tlZCwgZGF0YS5yZXRyeSk7XG4gICAgfSBjYXRjaCB7fVxuICAgIHJldHVybiBpc0xvY2tlZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcXVlcnlOb2Rlc05hbWVzKHNlYXJjaFRlcm06IHN0cmluZyk6IFByb21pc2U8UmVzdWx0U2V0UGFnaW5nPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIHF1ZXJ5OiBgY206bmFtZTpcXFwiJHtzZWFyY2hUZXJtfSpcXFwiYCxcbiAgICAgICAgbGFuZ3VhZ2U6ICdhZnRzJ1xuICAgICAgfSxcbiAgICAgIGZpbHRlclF1ZXJpZXM6IFt7IHF1ZXJ5OiBgK1RZUEU6J2NtOmZvbGRlcicgT1IgK1RZUEU6J2NtOmNvbnRlbnQnYCB9XVxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5zZWFyY2guc2VhcmNoKGRhdGEpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG5ldyBSZXN1bHRTZXRQYWdpbmcoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB3YWl0Rm9yTm9kZXMoc2VhcmNoVGVybTogc3RyaW5nLCBkYXRhOiB7IGV4cGVjdDogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwcmVkaWNhdGUgPSAodG90YWxJdGVtczogbnVtYmVyKSA9PiB0b3RhbEl0ZW1zID09PSBkYXRhLmV4cGVjdDtcblxuICAgIGNvbnN0IGFwaUNhbGwgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMucXVlcnlOb2Rlc05hbWVzKHNlYXJjaFRlcm0pKS5saXN0LnBhZ2luYXRpb24udG90YWxJdGVtcztcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgd2FpdEZvckFwaShhcGlDYWxsLCBwcmVkaWNhdGUsIDMwLCAyNTAwKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgRXJyb3I6ICR7ZXJyb3J9YCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlTm9kZUNvbnRlbnQobm9kZUlkOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgbWFqb3JWZXJzaW9uOiBib29sZWFuID0gdHJ1ZSwgY29tbWVudD86IHN0cmluZywgbmV3TmFtZT86IHN0cmluZyk6IFByb21pc2U8Tm9kZUVudHJ5PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9wdHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB9ID0ge1xuICAgICAgICBtYWpvclZlcnNpb246IG1ham9yVmVyc2lvbixcbiAgICAgICAgY29tbWVudDogY29tbWVudCxcbiAgICAgICAgbmFtZTogbmV3TmFtZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2Uubm9kZXMudXBkYXRlTm9kZUNvbnRlbnQobm9kZUlkLCBjb250ZW50LCBvcHRzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9ICR7dGhpcy51cGRhdGVOb2RlQ29udGVudC5uYW1lfWAsIGVycm9yKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ /*!
2
+ * Copyright © 2005-2025 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 './rules-api';
25
+ export * from './api-client-factory';
26
+ export * from './file-actions';
27
+ export * from './shared-links-api';
28
+ export * from './favorites-api';
29
+ export * from './people-api-models';
30
+ export * from './nodes-api';
31
+ export * from './sites-api';
32
+ export * from './node-content-tree';
33
+ export * from './search-api';
34
+ export * from './trashcan-api';
35
+ export * from './queries-api';
36
+ export * from './categories-api';
37
+ export * from './tags-api';
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtcGxheXdyaWdodC1zaGFyZWQvc3JjL2FwaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3J1bGVzLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1jbGllbnQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC1saW5rcy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9mYXZvcml0ZXMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGVvcGxlLWFwaS1tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2Rlcy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zaXRlcy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWNvbnRlbnQtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90cmFzaGNhbi1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVzLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3JpZXMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncy1hcGknO1xuIl19