@alfresco/js-api 9.4.0-17806466306 → 9.4.0-17829814673

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 (74) hide show
  1. package/esm2015/index.js +1 -0
  2. package/esm2015/index.js.map +1 -1
  3. package/esm2015/package.json +3 -3
  4. package/esm2015/src/alfrescoApi.js +14 -14
  5. package/esm2015/src/alfrescoApi.js.map +1 -1
  6. package/esm2015/src/alfrescoApiClient.js +28 -14
  7. package/esm2015/src/alfrescoApiClient.js.map +1 -1
  8. package/esm2015/src/api/content-custom-api/api/upload.api.js +52 -1
  9. package/esm2015/src/api/content-custom-api/api/upload.api.js.map +1 -1
  10. package/esm2015/src/api-clients/http-client.interface.js.map +1 -1
  11. package/esm2015/src/authentication/contentAuth.js +4 -7
  12. package/esm2015/src/authentication/contentAuth.js.map +1 -1
  13. package/esm2015/src/authentication/oauth2Auth.js +3 -4
  14. package/esm2015/src/authentication/oauth2Auth.js.map +1 -1
  15. package/esm2015/src/authentication/processAuth.js +3 -5
  16. package/esm2015/src/authentication/processAuth.js.map +1 -1
  17. package/esm2015/src/axiosHttpClient.js +283 -0
  18. package/esm2015/src/axiosHttpClient.js.map +1 -0
  19. package/esm2015/src/types.js +18 -0
  20. package/esm2015/src/types.js.map +1 -0
  21. package/esm5/index.js +1 -0
  22. package/esm5/index.js.map +1 -1
  23. package/esm5/package.json +3 -3
  24. package/esm5/src/alfrescoApi.js +14 -14
  25. package/esm5/src/alfrescoApi.js.map +1 -1
  26. package/esm5/src/alfrescoApiClient.js +28 -14
  27. package/esm5/src/alfrescoApiClient.js.map +1 -1
  28. package/esm5/src/api/content-custom-api/api/upload.api.js +52 -1
  29. package/esm5/src/api/content-custom-api/api/upload.api.js.map +1 -1
  30. package/esm5/src/api-clients/http-client.interface.js.map +1 -1
  31. package/esm5/src/authentication/contentAuth.js +4 -7
  32. package/esm5/src/authentication/contentAuth.js.map +1 -1
  33. package/esm5/src/authentication/oauth2Auth.js +3 -4
  34. package/esm5/src/authentication/oauth2Auth.js.map +1 -1
  35. package/esm5/src/authentication/processAuth.js +3 -5
  36. package/esm5/src/authentication/processAuth.js.map +1 -1
  37. package/esm5/src/axiosHttpClient.js +283 -0
  38. package/esm5/src/axiosHttpClient.js.map +1 -0
  39. package/esm5/src/types.js +18 -0
  40. package/esm5/src/types.js.map +1 -0
  41. package/index.js +1 -0
  42. package/index.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/alfrescoApi.js +14 -15
  45. package/src/alfrescoApi.js.map +1 -1
  46. package/src/alfrescoApiClient.js +28 -15
  47. package/src/alfrescoApiClient.js.map +1 -1
  48. package/src/api/content-custom-api/api/upload.api.js +52 -1
  49. package/src/api/content-custom-api/api/upload.api.js.map +1 -1
  50. package/src/api-clients/http-client.interface.js.map +1 -1
  51. package/src/authentication/contentAuth.js +4 -8
  52. package/src/authentication/contentAuth.js.map +1 -1
  53. package/src/authentication/oauth2Auth.js +3 -4
  54. package/src/authentication/oauth2Auth.js.map +1 -1
  55. package/src/authentication/processAuth.js +3 -6
  56. package/src/authentication/processAuth.js.map +1 -1
  57. package/src/axiosHttpClient.js +287 -0
  58. package/src/axiosHttpClient.js.map +1 -0
  59. package/src/types.js +19 -0
  60. package/src/types.js.map +1 -0
  61. package/typings/index.d.ts +1 -0
  62. package/typings/package.json +3 -3
  63. package/typings/src/alfrescoApi.d.ts +2 -10
  64. package/typings/src/alfrescoApiClient.d.ts +12 -11
  65. package/typings/src/api-clients/http-client.interface.d.ts +8 -3
  66. package/typings/src/authentication/oauth2Auth.d.ts +1 -1
  67. package/typings/src/{superagentHttpClient.d.ts → axiosHttpClient.d.ts} +5 -5
  68. package/typings/src/types.d.ts +19 -0
  69. package/esm2015/src/superagentHttpClient.js +0 -264
  70. package/esm2015/src/superagentHttpClient.js.map +0 -1
  71. package/esm5/src/superagentHttpClient.js +0 -264
  72. package/esm5/src/superagentHttpClient.js.map +0 -1
  73. package/src/superagentHttpClient.js +0 -269
  74. package/src/superagentHttpClient.js.map +0 -1
package/esm2015/index.js CHANGED
@@ -39,4 +39,5 @@ export * from './src/api-clients/api-client';
39
39
  export * from './src/api-clients/http-client.interface';
40
40
  export * from './src/utils';
41
41
  export * from './src/constants';
42
+ export * from './src/types';
42
43
  //# sourceMappingURL=../../../../lib/js-api/index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAElD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC,cAAc,sCAAsC,CAAC;AAErD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './src/api/content-rest-api/index';\nexport * from './src/api/content-custom-api/index';\nexport * from './src/api/discovery-rest-api/index';\nexport * from './src/api/gs-classification-rest-api/index';\nexport * from './src/api/gs-core-rest-api/index';\nexport * from './src/api/auth-rest-api/index';\nexport * from './src/api/activiti-rest-api/index';\nexport * from './src/api/search-rest-api/index';\nexport * from './src/api/model-rest-api/index';\nexport * from './src/api/hxi-connector-api/index';\n\nexport * from './src/api/content-custom-api/api/content.api';\nexport * from './src/authentication/contentAuth';\nexport * from './src/authentication/processAuth';\nexport * from './src/authentication/oauth2Auth';\nexport * from './src/contentClient';\nexport * from './src/processClient';\nexport * from './src/storage';\nexport * from './src/alfrescoApi';\nexport * from './src/alfrescoApiClient';\nexport * from './src/alfrescoApiConfig';\n\nexport * from './src/to-deprecate/alfresco-api-type';\n\nexport * from './src/api-clients/api-client';\nexport * from './src/api-clients/http-client.interface';\nexport * from './src/utils';\nexport * from './src/constants';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAElD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC,cAAc,sCAAsC,CAAC;AAErD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './src/api/content-rest-api/index';\nexport * from './src/api/content-custom-api/index';\nexport * from './src/api/discovery-rest-api/index';\nexport * from './src/api/gs-classification-rest-api/index';\nexport * from './src/api/gs-core-rest-api/index';\nexport * from './src/api/auth-rest-api/index';\nexport * from './src/api/activiti-rest-api/index';\nexport * from './src/api/search-rest-api/index';\nexport * from './src/api/model-rest-api/index';\nexport * from './src/api/hxi-connector-api/index';\n\nexport * from './src/api/content-custom-api/api/content.api';\nexport * from './src/authentication/contentAuth';\nexport * from './src/authentication/processAuth';\nexport * from './src/authentication/oauth2Auth';\nexport * from './src/contentClient';\nexport * from './src/processClient';\nexport * from './src/storage';\nexport * from './src/alfrescoApi';\nexport * from './src/alfrescoApiClient';\nexport * from './src/alfrescoApiConfig';\n\nexport * from './src/to-deprecate/alfresco-api-type';\n\nexport * from './src/api-clients/api-client';\nexport * from './src/api-clients/http-client.interface';\nexport * from './src/utils';\nexport * from './src/constants';\nexport * from './src/types';\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfresco/js-api",
3
- "version": "9.4.0-17806466306",
3
+ "version": "9.4.0-17829814673",
4
4
  "license": "Apache-2.0",
5
5
  "description": "JavaScript client library for the Alfresco REST API",
6
6
  "author": "Hyland Software, Inc. and its affiliates",
@@ -15,8 +15,8 @@
15
15
  "url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
16
16
  },
17
17
  "dependencies": {
18
- "event-emitter": "^0.3.5",
19
- "superagent": "^9.0.1",
18
+ "axios": "^1.12.2",
19
+ "eventemitter3": "^5.0.1",
20
20
  "tslib": "^2.6.1"
21
21
  },
22
22
  "typings": "./typings/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import ee from 'event-emitter';
17
+ import { EventEmitter } from 'eventemitter3';
18
18
  import { ContentAuth } from './authentication/contentAuth';
19
19
  import { ProcessAuth } from './authentication/processAuth';
20
20
  import { Oauth2Auth } from './authentication/oauth2Auth';
@@ -22,12 +22,12 @@ import { ContentClient } from './contentClient';
22
22
  import { ProcessClient } from './processClient';
23
23
  import { Storage } from './storage';
24
24
  import { AlfrescoApiConfig } from './alfrescoApiConfig';
25
- export class AlfrescoApi {
25
+ import { AlfrescoApiClient } from './alfrescoApiClient';
26
+ export class AlfrescoApi extends AlfrescoApiClient {
26
27
  constructor(config, httpClient) {
27
- this.httpClient = httpClient;
28
+ super(undefined, httpClient);
28
29
  this.__type = 'legacy-client';
29
30
  this.bufferEvents = [];
30
- ee(this);
31
31
  if (config) {
32
32
  this.setConfig(config);
33
33
  }
@@ -314,22 +314,22 @@ export class AlfrescoApi {
314
314
  loginBPMECM(username, password) {
315
315
  const contentPromise = this.contentAuth.login(username, password);
316
316
  const processPromise = this.processAuth.login(username, password);
317
+ const eventEmitter = new EventEmitter();
317
318
  const promise = new Promise((resolve, reject) => {
318
319
  Promise.all([contentPromise, processPromise]).then((data) => {
319
- promise.emit('success');
320
+ eventEmitter.emit('success');
320
321
  resolve(data);
321
322
  }, (error) => {
322
323
  this.contentAuth.invalidateSession();
323
324
  this.processAuth.invalidateSession();
324
325
  if (error.status === 401) {
325
- promise.emit('unauthorized');
326
+ eventEmitter.emit('unauthorized');
326
327
  }
327
- promise.emit('error');
328
+ eventEmitter.emit('error');
328
329
  reject(error);
329
330
  });
330
331
  });
331
- ee(promise);
332
- return promise;
332
+ return this.addPromiseListeners(promise, eventEmitter);
333
333
  }
334
334
  logout() {
335
335
  this.username = null;
@@ -352,21 +352,21 @@ export class AlfrescoApi {
352
352
  _logoutBPMECM() {
353
353
  const contentPromise = this.contentAuth.logout();
354
354
  const processPromise = this.processAuth.logout();
355
+ const eventEmitter = new EventEmitter();
355
356
  const promise = new Promise((resolve, reject) => {
356
357
  Promise.all([contentPromise, processPromise]).then(() => {
357
358
  this.config.ticket = undefined;
358
- promise.emit('logout');
359
+ eventEmitter.emit('logout');
359
360
  resolve();
360
361
  }, (error) => {
361
362
  if (error.status === 401) {
362
- promise.emit('unauthorized');
363
+ eventEmitter.emit('unauthorized');
363
364
  }
364
- promise.emit('error');
365
+ eventEmitter.emit('error');
365
366
  reject(error);
366
367
  });
367
368
  });
368
- ee(promise);
369
- return promise;
369
+ return this.addPromiseListeners(promise, eventEmitter);
370
370
  }
371
371
  isLoggedIn() {
372
372
  if (this.isOauthConfiguration()) {
@@ -1 +1 @@
1
- {"version":3,"file":"alfrescoApi.js","sourceRoot":"","sources":["alfrescoApi.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport ee, { EmitterMethod, Emitter } from 'event-emitter';\nimport { ContentAuth } from './authentication/contentAuth';\nimport { ProcessAuth } from './authentication/processAuth';\nimport { Oauth2Auth } from './authentication/oauth2Auth';\nimport { ContentClient } from './contentClient';\nimport { ProcessClient } from './processClient';\nimport { Storage } from './storage';\nimport { AlfrescoApiConfig } from './alfrescoApiConfig';\nimport { Authentication } from './authentication/authentication';\nimport { AlfrescoApiType } from './to-deprecate/alfresco-api-type';\nimport { HttpClient } from './api-clients/http-client.interface';\n\nexport class AlfrescoApi implements Emitter, AlfrescoApiType {\n __type = 'legacy-client';\n storage: Storage;\n config: AlfrescoApiConfig;\n contentClient: ContentClient;\n contentPrivateClient: ContentClient;\n processClient: ProcessClient;\n searchClient: ContentClient;\n discoveryClient: ContentClient;\n gsClient: ContentClient;\n authClient: ContentClient;\n hxiConnectorClient: ContentClient;\n oauth2Auth: Oauth2Auth;\n processAuth: ProcessAuth;\n contentAuth: ContentAuth;\n\n on: EmitterMethod;\n off: EmitterMethod;\n once: EmitterMethod;\n\n bufferEvents: string[] = [];\n\n emit: (type: string, ...args: any[]) => void;\n\n username: string;\n\n constructor(\n config?: AlfrescoApiConfig,\n public httpClient?: HttpClient\n ) {\n ee(this);\n\n if (config) {\n this.setConfig(config);\n }\n }\n\n setConfig(config: AlfrescoApiConfig) {\n if (!config) {\n config = {};\n }\n\n this.storage = Storage.getInstance();\n this.storage.setDomainPrefix(config.domainPrefix);\n\n this.initConfig(config);\n this.validateTicket(config);\n }\n\n private initConfig(config: AlfrescoApiConfig) {\n this.config = new AlfrescoApiConfig(config);\n\n this.clientsFactory();\n\n this.errorListeners();\n this.ticketMismatchListeners();\n if (this.config.oauthInit) {\n this.initAuth(config);\n\n if (this.isLoggedIn()) {\n this.emitBuffer('logged-in');\n }\n }\n }\n\n private validateTicket(config: AlfrescoApiConfig) {\n if (config.ticketEcm && !this.isOauthConfiguration()) {\n if (!this.contentAuth) {\n this.contentAuth = new ContentAuth(this.config, this, this.httpClient);\n }\n this.contentAuth\n .validateTicket()\n .then((ticket) => {\n config.ticketEcm = ticket;\n })\n .catch((error) => {\n if (error.status === 401) {\n config.ticketEcm = null;\n this.initConfig(config);\n this.emitBuffer('ticket_invalidated');\n }\n });\n }\n }\n\n private initAuth(config: AlfrescoApiConfig): void {\n if (this.isOauthConfiguration()) {\n if (!this.oauth2Auth) {\n this.oauth2Auth = new Oauth2Auth(this.config, this, this.httpClient);\n } else {\n this.oauth2Auth.setConfig(this.config, this);\n }\n\n this.oauth2Auth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.setAuthenticationClientECMBPM(this.oauth2Auth.getAuthentication(), this.oauth2Auth.getAuthentication());\n } else {\n if (!this.processAuth) {\n this.processAuth = new ProcessAuth(this.config, this.httpClient);\n } else {\n this.processAuth.setConfig(this.config);\n }\n\n this.processAuth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.processAuth?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n if (!this.contentAuth) {\n this.contentAuth = new ContentAuth(this.config, this, this.httpClient);\n } else {\n this.contentAuth.setConfig(config);\n }\n\n this.contentAuth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.contentAuth?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n this.setAuthenticationClientECMBPM(this.contentAuth.getAuthentication(), this.processAuth.getAuthentication());\n }\n }\n\n private clientsFactory() {\n if (!this.contentPrivateClient) {\n this.contentPrivateClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/alfresco/versions/1`, this.httpClient);\n } else {\n this.contentPrivateClient.setConfig(this.config, `/api/${this.config.tenant}/private/alfresco/versions/1`);\n }\n\n if (!this.contentClient) {\n this.contentClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/alfresco/versions/1`, this.httpClient);\n } else {\n this.contentClient.setConfig(this.config, `/api/${this.config.tenant}/public/alfresco/versions/1`);\n }\n\n if (!this.authClient) {\n this.authClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/authentication/versions/1`, this.httpClient);\n } else {\n this.authClient.setConfig(this.config, `/api/${this.config.tenant}/public/authentication/versions/1`);\n }\n\n if (!this.searchClient) {\n this.searchClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/search/versions/1`, this.httpClient);\n } else {\n this.searchClient.setConfig(this.config, `/api/${this.config.tenant}/public/search/versions/1`);\n }\n\n if (!this.discoveryClient) {\n this.discoveryClient = new ContentClient(this.config, `/api`, this.httpClient);\n } else {\n this.discoveryClient.setConfig(this.config, `/api`);\n }\n\n if (!this.gsClient) {\n this.gsClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/gs/versions/1`, this.httpClient);\n } else {\n this.gsClient.setConfig(this.config, `/api/${this.config.tenant}/public/gs/versions/1`);\n }\n\n if (!this.processClient) {\n this.processClient = new ProcessClient(this.config, this.httpClient);\n } else {\n this.processClient.setConfig(this.config);\n }\n\n if (!this.hxiConnectorClient) {\n this.hxiConnectorClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`, this.httpClient);\n } else {\n this.hxiConnectorClient.setConfig(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`);\n }\n }\n\n /**@private? */\n errorListeners() {\n this.contentClient.off('error', () => {});\n this.authClient.off('error', () => {});\n this.contentPrivateClient.off('error', () => {});\n this.processClient.off('error', () => {});\n this.searchClient.off('error', () => {});\n this.discoveryClient.off('error', () => {});\n this.gsClient.off('error', () => {});\n this.hxiConnectorClient.off('error', () => {});\n\n this.contentClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.authClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.contentPrivateClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.processClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.searchClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.discoveryClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.gsClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.hxiConnectorClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n }\n\n ticketMismatchListeners() {\n this.contentClient?.off('ticket_mismatch', () => {});\n this.processClient?.off('ticket_mismatch', () => {});\n\n this.contentClient?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n this.processClient?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n }\n\n /**@private? */\n errorHandler(error: { status?: number }) {\n if (this.config.oauthInit && error.status === 401) {\n this.invalidateSession();\n }\n\n this.emitBuffer('error', error);\n }\n\n ticketMismatchHandler(error: { newTicket?: string }) {\n if (error.newTicket) {\n this.config.ticketEcm = error.newTicket;\n this.initConfig(this.config);\n }\n\n this.emitBuffer('ticket_mismatch', error);\n }\n\n changeWithCredentialsConfig(withCredentials: boolean) {\n this.config.withCredentials = withCredentials;\n }\n\n changeCsrfConfig(disableCsrf: boolean) {\n this.config.disableCsrf = disableCsrf;\n this.processAuth.changeCsrfConfig(disableCsrf);\n }\n\n changeEcmHost(hostEcm: string) {\n this.config.hostEcm = hostEcm;\n this.contentAuth.changeHost();\n this.contentClient.changeHost();\n this.authClient.changeHost();\n }\n\n changeBpmHost(hostBpm: string) {\n this.config.hostBpm = hostBpm;\n this.processAuth.changeHost();\n this.processClient.changeHost();\n }\n\n /**\n * login Alfresco API\n * @param username Username to login\n * @param password Password to login\n * @returns A promise that returns {new authentication ticket} if resolved and {error} if rejected.\n */\n login(username: string, password: string): Promise<any> {\n if (!this.isCredentialValid(username) || !this.isCredentialValid(password)) {\n return Promise.reject(new Error('missing username or password'));\n }\n\n if (username) {\n username = username.trim();\n }\n\n this.username = username;\n\n if (this.isOauthConfiguration()) {\n const promise = this.oauth2Auth.login(username, password);\n promise.then((accessToken) => {\n this.config.accessToken = accessToken;\n });\n return promise;\n } else {\n if (this.isBpmConfiguration()) {\n const promise = this.processAuth.login(username, password);\n promise.then((ticketBpm) => {\n this.config.ticketBpm = ticketBpm;\n });\n return promise;\n } else if (this.isEcmConfiguration()) {\n const promise = this.contentAuth.login(username, password);\n promise.then((ticketEcm) => {\n this.setAuthenticationClientECMBPM(this.contentAuth.getAuthentication(), null);\n this.config.ticketEcm = ticketEcm;\n });\n return promise;\n } else if (this.isEcmBpmConfiguration()) {\n const contentProcessPromise = this.loginBPMECM(username, password);\n\n contentProcessPromise.then((data) => {\n this.config.ticketEcm = data[0];\n this.config.ticketBpm = data[1];\n });\n\n return contentProcessPromise;\n } else {\n return Promise.reject(new Error('Unknown configuration'));\n }\n }\n }\n\n isCredentialValid(credential: string): boolean {\n return credential !== undefined && credential !== null && credential !== '';\n }\n\n implicitLogin(): Promise<any> {\n if (!this.isOauthConfiguration()) {\n return Promise.reject(new Error('Missing the required oauth2 configuration'));\n }\n\n return new Promise(() => {\n this.oauth2Auth.implicitLogin();\n });\n }\n\n setAuthenticationClientECMBPM(authECM: Authentication, authBPM: Authentication) {\n this.contentClient.setAuthentications(authECM);\n this.authClient.setAuthentications(authECM);\n this.searchClient.setAuthentications(authECM);\n this.contentPrivateClient.setAuthentications(authECM);\n this.processClient.setAuthentications(authBPM);\n this.searchClient.setAuthentications(authECM);\n this.discoveryClient.setAuthentications(authECM);\n this.gsClient.setAuthentications(authECM);\n this.hxiConnectorClient.setAuthentications(authECM);\n }\n\n /**\n * login Tickets\n * @param ticketEcm alfresco ticket\n * @param ticketBpm alfresco ticket\n */\n loginTicket(ticketEcm: string, ticketBpm: string): Promise<string> {\n this.config.ticketEcm = ticketEcm;\n this.config.ticketBpm = ticketBpm;\n\n return this.contentAuth.validateTicket();\n }\n\n private loginBPMECM(username: string, password: string): Promise<[string, string]> {\n const contentPromise = this.contentAuth.login(username, password);\n const processPromise = this.processAuth.login(username, password);\n\n const promise: any = new Promise<[string, string]>((resolve, reject) => {\n Promise.all([contentPromise, processPromise]).then(\n (data) => {\n promise.emit('success');\n resolve(data);\n },\n (error) => {\n this.contentAuth.invalidateSession();\n this.processAuth.invalidateSession();\n\n if (error.status === 401) {\n promise.emit('unauthorized');\n }\n promise.emit('error');\n reject(error);\n }\n );\n });\n\n ee(promise); // jshint ignore:line\n return promise;\n }\n\n /**\n * logout Alfresco API\n */\n logout(): Promise<void> {\n this.username = null;\n\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.logOut();\n }\n\n if (this.isBpmConfiguration()) {\n return this.processAuth.logout();\n }\n\n if (this.isEcmConfiguration()) {\n const contentPromise = this.contentAuth.logout();\n contentPromise.then(\n (): void => (this.config.ticket = undefined),\n (): void => {}\n );\n return contentPromise;\n }\n\n if (this.isEcmBpmConfiguration()) {\n return this._logoutBPMECM();\n }\n\n return Promise.resolve();\n }\n\n private _logoutBPMECM(): Promise<void> {\n const contentPromise = this.contentAuth.logout();\n const processPromise = this.processAuth.logout();\n\n const promise: any = new Promise<void>((resolve, reject) => {\n Promise.all([contentPromise, processPromise]).then(\n () => {\n this.config.ticket = undefined;\n promise.emit('logout');\n resolve();\n },\n (error) => {\n if (error.status === 401) {\n promise.emit('unauthorized');\n }\n promise.emit('error');\n reject(error);\n }\n );\n });\n\n ee(promise); // jshint ignore:line\n return promise;\n }\n\n /**\n * If the client is logged in return true\n */\n isLoggedIn(): boolean {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n }\n\n if (this.isBpmConfiguration()) {\n return this.processAuth.isLoggedIn();\n }\n\n if (this.isEcmConfiguration()) {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn();\n }\n\n if (this.isEcmBpmConfiguration()) {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn() && this.processAuth.isLoggedIn();\n }\n\n return false;\n }\n\n isBpmLoggedIn(): boolean {\n if (this.isBpmConfiguration() || this.isEcmBpmConfiguration()) {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n } else {\n return this.processAuth.isLoggedIn();\n }\n }\n return false;\n }\n\n isEcmLoggedIn(): boolean {\n if (this.isEcmConfiguration() || this.isEcmBpmConfiguration()) {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n } else {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn();\n }\n }\n return false;\n }\n\n getBpmUsername(): string {\n if (this.isOauthConfiguration()) {\n return this.username || this.oauth2Auth.storage.getItem('USERNAME');\n } else {\n return this.username || this.processAuth.storage.getItem('APS_USERNAME');\n }\n }\n\n getEcmUsername(): string {\n if (this.isOauthConfiguration()) {\n return this.username || this.oauth2Auth.storage.getItem('USERNAME');\n } else {\n return this.username || this.contentAuth.storage.getItem('ACS_USERNAME');\n }\n }\n\n /**\n * refresh token\n */\n refreshToken(): Promise<any> {\n if (!this.isOauthConfiguration()) {\n return Promise.reject(new Error('Missing the required oauth2 configuration'));\n }\n\n if (this.config.oauth2.implicitFlow) {\n return Promise.reject(new Error('Manual refresh token not possible in implicit flow'));\n }\n\n return this.oauth2Auth.refreshToken();\n }\n\n getTicketAuth(): string {\n return this.oauth2Auth?.getToken();\n }\n\n /**\n * Set the current Ticket\n * @param ticketEcm ecm ticket\n * @param ticketBpm bpm ticket\n */\n setTicket(ticketEcm: string, ticketBpm: string) {\n if (this.contentAuth) {\n this.contentAuth.setTicket(ticketEcm);\n }\n if (this.processAuth) {\n this.processAuth.setTicket(ticketBpm);\n }\n }\n\n /**\n * invalidate the current session\n */\n invalidateSession() {\n if (this.oauth2Auth) {\n this.oauth2Auth.invalidateSession();\n } else {\n this.contentAuth.invalidateSession();\n this.processAuth.invalidateSession();\n }\n }\n\n /**\n * Get the current Ticket for the Bpm\n */\n getTicketBpm(): string {\n return this.processAuth?.getTicket();\n }\n\n /**\n * Get the current Ticket for the Ecm\n */\n getTicketEcm(): string {\n return this.contentAuth?.getTicket();\n }\n\n /**\n * Get the current Ticket for the Ecm and BPM\n */\n getTicket(): [string, string] {\n return [this.contentAuth.getTicket(), this.processAuth.getTicket()];\n }\n\n isBpmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'BPM';\n }\n\n isEcmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'ECM';\n }\n\n isOauthConfiguration(): boolean {\n return this.config.authType === 'OAUTH';\n }\n\n isPublicUrl(): boolean {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isPublicUrl();\n }\n return false;\n }\n\n isEcmBpmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'ALL';\n }\n\n private emitBuffer(event: string, callback?: any): void {\n this.emit(event, callback);\n this.bufferEvents.push(event);\n }\n\n reply(event: string, callback?: any): void {\n if (this.bufferEvents.indexOf(event) >= 0) {\n // eslint-disable-next-line prefer-rest-params\n Function.prototype.apply.call(callback, this, arguments);\n } else {\n this.on(event, callback);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"alfrescoApi.js","sourceRoot":"","sources":["alfrescoApi.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'eventemitter3';\nimport { ContentAuth } from './authentication/contentAuth';\nimport { ProcessAuth } from './authentication/processAuth';\nimport { Oauth2Auth } from './authentication/oauth2Auth';\nimport { ContentClient } from './contentClient';\nimport { ProcessClient } from './processClient';\nimport { Storage } from './storage';\nimport { AlfrescoApiConfig } from './alfrescoApiConfig';\nimport { Authentication } from './authentication/authentication';\nimport { AlfrescoApiType } from './to-deprecate/alfresco-api-type';\nimport { HttpClient } from './api-clients/http-client.interface';\nimport { AlfrescoApiClient, AlfrescoApiClientPromise } from './alfrescoApiClient';\nimport { EventEmitterInstance } from './types';\n\nexport class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType {\n __type = 'legacy-client';\n contentClient: ContentClient;\n contentPrivateClient: ContentClient;\n processClient: ProcessClient;\n searchClient: ContentClient;\n discoveryClient: ContentClient;\n gsClient: ContentClient;\n authClient: ContentClient;\n hxiConnectorClient: ContentClient;\n oauth2Auth: Oauth2Auth;\n processAuth: ProcessAuth;\n contentAuth: ContentAuth;\n\n bufferEvents: string[] = [];\n username: string;\n\n constructor(config?: AlfrescoApiConfig, httpClient?: HttpClient) {\n super(undefined, httpClient);\n\n if (config) {\n this.setConfig(config);\n }\n }\n\n setConfig(config: AlfrescoApiConfig) {\n if (!config) {\n config = {};\n }\n\n this.storage = Storage.getInstance();\n this.storage.setDomainPrefix(config.domainPrefix);\n\n this.initConfig(config);\n this.validateTicket(config);\n }\n\n private initConfig(config: AlfrescoApiConfig) {\n this.config = new AlfrescoApiConfig(config);\n\n this.clientsFactory();\n\n this.errorListeners();\n this.ticketMismatchListeners();\n if (this.config.oauthInit) {\n this.initAuth(config);\n\n if (this.isLoggedIn()) {\n this.emitBuffer('logged-in');\n }\n }\n }\n\n private validateTicket(config: AlfrescoApiConfig) {\n if (config.ticketEcm && !this.isOauthConfiguration()) {\n if (!this.contentAuth) {\n this.contentAuth = new ContentAuth(this.config, this, this.httpClient);\n }\n this.contentAuth\n .validateTicket()\n .then((ticket) => {\n config.ticketEcm = ticket;\n })\n .catch((error) => {\n if (error.status === 401) {\n config.ticketEcm = null;\n this.initConfig(config);\n this.emitBuffer('ticket_invalidated');\n }\n });\n }\n }\n\n private initAuth(config: AlfrescoApiConfig): void {\n if (this.isOauthConfiguration()) {\n if (!this.oauth2Auth) {\n this.oauth2Auth = new Oauth2Auth(this.config, this, this.httpClient);\n } else {\n this.oauth2Auth.setConfig(this.config, this);\n }\n\n this.oauth2Auth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.setAuthenticationClientECMBPM(this.oauth2Auth.getAuthentication(), this.oauth2Auth.getAuthentication());\n } else {\n if (!this.processAuth) {\n this.processAuth = new ProcessAuth(this.config, this.httpClient);\n } else {\n this.processAuth.setConfig(this.config);\n }\n\n this.processAuth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.processAuth?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n if (!this.contentAuth) {\n this.contentAuth = new ContentAuth(this.config, this, this.httpClient);\n } else {\n this.contentAuth.setConfig(config);\n }\n\n this.contentAuth?.on('logged-in', () => {\n this.emitBuffer('logged-in');\n });\n\n this.contentAuth?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n this.setAuthenticationClientECMBPM(this.contentAuth.getAuthentication(), this.processAuth.getAuthentication());\n }\n }\n\n private clientsFactory() {\n if (!this.contentPrivateClient) {\n this.contentPrivateClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/alfresco/versions/1`, this.httpClient);\n } else {\n this.contentPrivateClient.setConfig(this.config, `/api/${this.config.tenant}/private/alfresco/versions/1`);\n }\n\n if (!this.contentClient) {\n this.contentClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/alfresco/versions/1`, this.httpClient);\n } else {\n this.contentClient.setConfig(this.config, `/api/${this.config.tenant}/public/alfresco/versions/1`);\n }\n\n if (!this.authClient) {\n this.authClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/authentication/versions/1`, this.httpClient);\n } else {\n this.authClient.setConfig(this.config, `/api/${this.config.tenant}/public/authentication/versions/1`);\n }\n\n if (!this.searchClient) {\n this.searchClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/search/versions/1`, this.httpClient);\n } else {\n this.searchClient.setConfig(this.config, `/api/${this.config.tenant}/public/search/versions/1`);\n }\n\n if (!this.discoveryClient) {\n this.discoveryClient = new ContentClient(this.config, `/api`, this.httpClient);\n } else {\n this.discoveryClient.setConfig(this.config, `/api`);\n }\n\n if (!this.gsClient) {\n this.gsClient = new ContentClient(this.config, `/api/${this.config.tenant}/public/gs/versions/1`, this.httpClient);\n } else {\n this.gsClient.setConfig(this.config, `/api/${this.config.tenant}/public/gs/versions/1`);\n }\n\n if (!this.processClient) {\n this.processClient = new ProcessClient(this.config, this.httpClient);\n } else {\n this.processClient.setConfig(this.config);\n }\n\n if (!this.hxiConnectorClient) {\n this.hxiConnectorClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`, this.httpClient);\n } else {\n this.hxiConnectorClient.setConfig(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`);\n }\n }\n\n /**@private? */\n errorListeners() {\n this.contentClient.off('error', () => {});\n this.authClient.off('error', () => {});\n this.contentPrivateClient.off('error', () => {});\n this.processClient.off('error', () => {});\n this.searchClient.off('error', () => {});\n this.discoveryClient.off('error', () => {});\n this.gsClient.off('error', () => {});\n this.hxiConnectorClient.off('error', () => {});\n\n this.contentClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.authClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.contentPrivateClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.processClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.searchClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.discoveryClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.gsClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n\n this.hxiConnectorClient.on('error', (error: any) => {\n this.errorHandler(error);\n });\n }\n\n ticketMismatchListeners() {\n this.contentClient?.off('ticket_mismatch', () => {});\n this.processClient?.off('ticket_mismatch', () => {});\n\n this.contentClient?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n\n this.processClient?.on('ticket_mismatch', (error: any) => {\n this.ticketMismatchHandler(error);\n });\n }\n\n /**@private? */\n errorHandler(error: { status?: number }) {\n if (this.config.oauthInit && error.status === 401) {\n this.invalidateSession();\n }\n\n this.emitBuffer('error', error);\n }\n\n ticketMismatchHandler(error: { newTicket?: string }) {\n if (error.newTicket) {\n this.config.ticketEcm = error.newTicket;\n this.initConfig(this.config);\n }\n\n this.emitBuffer('ticket_mismatch', error);\n }\n\n changeWithCredentialsConfig(withCredentials: boolean) {\n this.config.withCredentials = withCredentials;\n }\n\n changeCsrfConfig(disableCsrf: boolean) {\n this.config.disableCsrf = disableCsrf;\n this.processAuth.changeCsrfConfig(disableCsrf);\n }\n\n changeEcmHost(hostEcm: string) {\n this.config.hostEcm = hostEcm;\n this.contentAuth.changeHost();\n this.contentClient.changeHost();\n this.authClient.changeHost();\n }\n\n changeBpmHost(hostBpm: string) {\n this.config.hostBpm = hostBpm;\n this.processAuth.changeHost();\n this.processClient.changeHost();\n }\n\n /**\n * login Alfresco API\n * @param username Username to login\n * @param password Password to login\n * @returns A promise that returns {new authentication ticket} if resolved and {error} if rejected.\n */\n login(username: string, password: string): Promise<any> {\n if (!this.isCredentialValid(username) || !this.isCredentialValid(password)) {\n return Promise.reject(new Error('missing username or password'));\n }\n\n if (username) {\n username = username.trim();\n }\n\n this.username = username;\n\n if (this.isOauthConfiguration()) {\n const promise = this.oauth2Auth.login(username, password);\n promise.then((accessToken) => {\n this.config.accessToken = accessToken;\n });\n return promise;\n } else {\n if (this.isBpmConfiguration()) {\n const promise = this.processAuth.login(username, password);\n promise.then((ticketBpm) => {\n this.config.ticketBpm = ticketBpm;\n });\n return promise;\n } else if (this.isEcmConfiguration()) {\n const promise = this.contentAuth.login(username, password);\n promise.then((ticketEcm) => {\n this.setAuthenticationClientECMBPM(this.contentAuth.getAuthentication(), null);\n this.config.ticketEcm = ticketEcm;\n });\n return promise;\n } else if (this.isEcmBpmConfiguration()) {\n const contentProcessPromise = this.loginBPMECM(username, password);\n\n contentProcessPromise.then((data) => {\n this.config.ticketEcm = data[0];\n this.config.ticketBpm = data[1];\n });\n\n return contentProcessPromise;\n } else {\n return Promise.reject(new Error('Unknown configuration'));\n }\n }\n }\n\n isCredentialValid(credential: string): boolean {\n return credential !== undefined && credential !== null && credential !== '';\n }\n\n implicitLogin(): Promise<any> {\n if (!this.isOauthConfiguration()) {\n return Promise.reject(new Error('Missing the required oauth2 configuration'));\n }\n\n return new Promise(() => {\n this.oauth2Auth.implicitLogin();\n });\n }\n\n setAuthenticationClientECMBPM(authECM: Authentication, authBPM: Authentication) {\n this.contentClient.setAuthentications(authECM);\n this.authClient.setAuthentications(authECM);\n this.searchClient.setAuthentications(authECM);\n this.contentPrivateClient.setAuthentications(authECM);\n this.processClient.setAuthentications(authBPM);\n this.searchClient.setAuthentications(authECM);\n this.discoveryClient.setAuthentications(authECM);\n this.gsClient.setAuthentications(authECM);\n this.hxiConnectorClient.setAuthentications(authECM);\n }\n\n /**\n * login Tickets\n * @param ticketEcm alfresco ticket\n * @param ticketBpm alfresco ticket\n */\n loginTicket(ticketEcm: string, ticketBpm: string): Promise<string> {\n this.config.ticketEcm = ticketEcm;\n this.config.ticketBpm = ticketBpm;\n\n return this.contentAuth.validateTicket();\n }\n\n private loginBPMECM(username: string, password: string): AlfrescoApiClientPromise<[string, string]> {\n const contentPromise = this.contentAuth.login(username, password);\n const processPromise = this.processAuth.login(username, password);\n\n const eventEmitter: EventEmitterInstance = new EventEmitter();\n const promise = new Promise<[string, string]>((resolve, reject) => {\n Promise.all([contentPromise, processPromise]).then(\n (data) => {\n eventEmitter.emit('success');\n resolve(data);\n },\n (error) => {\n this.contentAuth.invalidateSession();\n this.processAuth.invalidateSession();\n\n if (error.status === 401) {\n eventEmitter.emit('unauthorized');\n }\n eventEmitter.emit('error');\n reject(error);\n }\n );\n });\n\n return this.addPromiseListeners(promise, eventEmitter);\n }\n\n /**\n * logout Alfresco API\n */\n logout(): Promise<void> {\n this.username = null;\n\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.logOut();\n }\n\n if (this.isBpmConfiguration()) {\n return this.processAuth.logout();\n }\n\n if (this.isEcmConfiguration()) {\n const contentPromise = this.contentAuth.logout();\n contentPromise.then(\n (): void => (this.config.ticket = undefined),\n (): void => {}\n );\n return contentPromise;\n }\n\n if (this.isEcmBpmConfiguration()) {\n return this._logoutBPMECM();\n }\n\n return Promise.resolve();\n }\n\n private _logoutBPMECM(): AlfrescoApiClientPromise<void> {\n const contentPromise = this.contentAuth.logout();\n const processPromise = this.processAuth.logout();\n\n const eventEmitter: EventEmitterInstance = new EventEmitter();\n const promise = new Promise<void>((resolve, reject) => {\n Promise.all([contentPromise, processPromise]).then(\n () => {\n this.config.ticket = undefined;\n eventEmitter.emit('logout');\n resolve();\n },\n (error) => {\n if (error.status === 401) {\n eventEmitter.emit('unauthorized');\n }\n eventEmitter.emit('error');\n reject(error);\n }\n );\n });\n\n return this.addPromiseListeners(promise, eventEmitter);\n }\n\n /**\n * If the client is logged in return true\n */\n isLoggedIn(): boolean {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n }\n\n if (this.isBpmConfiguration()) {\n return this.processAuth.isLoggedIn();\n }\n\n if (this.isEcmConfiguration()) {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn();\n }\n\n if (this.isEcmBpmConfiguration()) {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn() && this.processAuth.isLoggedIn();\n }\n\n return false;\n }\n\n isBpmLoggedIn(): boolean {\n if (this.isBpmConfiguration() || this.isEcmBpmConfiguration()) {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n } else {\n return this.processAuth.isLoggedIn();\n }\n }\n return false;\n }\n\n isEcmLoggedIn(): boolean {\n if (this.isEcmConfiguration() || this.isEcmBpmConfiguration()) {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isLoggedIn();\n } else {\n return this.config.withCredentials ? true : this.contentAuth.isLoggedIn();\n }\n }\n return false;\n }\n\n getBpmUsername(): string {\n if (this.isOauthConfiguration()) {\n return this.username || this.oauth2Auth.storage.getItem('USERNAME');\n } else {\n return this.username || this.processAuth.storage.getItem('APS_USERNAME');\n }\n }\n\n getEcmUsername(): string {\n if (this.isOauthConfiguration()) {\n return this.username || this.oauth2Auth.storage.getItem('USERNAME');\n } else {\n return this.username || this.contentAuth.storage.getItem('ACS_USERNAME');\n }\n }\n\n /**\n * refresh token\n */\n refreshToken(): Promise<any> {\n if (!this.isOauthConfiguration()) {\n return Promise.reject(new Error('Missing the required oauth2 configuration'));\n }\n\n if (this.config.oauth2.implicitFlow) {\n return Promise.reject(new Error('Manual refresh token not possible in implicit flow'));\n }\n\n return this.oauth2Auth.refreshToken();\n }\n\n getTicketAuth(): string {\n return this.oauth2Auth?.getToken();\n }\n\n /**\n * Set the current Ticket\n * @param ticketEcm ecm ticket\n * @param ticketBpm bpm ticket\n */\n setTicket(ticketEcm: string, ticketBpm: string) {\n if (this.contentAuth) {\n this.contentAuth.setTicket(ticketEcm);\n }\n if (this.processAuth) {\n this.processAuth.setTicket(ticketBpm);\n }\n }\n\n /**\n * invalidate the current session\n */\n invalidateSession() {\n if (this.oauth2Auth) {\n this.oauth2Auth.invalidateSession();\n } else {\n this.contentAuth.invalidateSession();\n this.processAuth.invalidateSession();\n }\n }\n\n /**\n * Get the current Ticket for the Bpm\n */\n getTicketBpm(): string {\n return this.processAuth?.getTicket();\n }\n\n /**\n * Get the current Ticket for the Ecm\n */\n getTicketEcm(): string {\n return this.contentAuth?.getTicket();\n }\n\n /**\n * Get the current Ticket for the Ecm and BPM\n */\n getTicket(): [string, string] {\n return [this.contentAuth.getTicket(), this.processAuth.getTicket()];\n }\n\n isBpmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'BPM';\n }\n\n isEcmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'ECM';\n }\n\n isOauthConfiguration(): boolean {\n return this.config.authType === 'OAUTH';\n }\n\n isPublicUrl(): boolean {\n if (this.isOauthConfiguration()) {\n return this.oauth2Auth.isPublicUrl();\n }\n return false;\n }\n\n isEcmBpmConfiguration(): boolean {\n return this.config.provider && this.config.provider.toUpperCase() === 'ALL';\n }\n\n private emitBuffer(event: string, callback?: any): void {\n this.emit(event, callback);\n this.bufferEvents.push(event);\n }\n\n reply(event: string, callback?: any): void {\n if (this.bufferEvents.indexOf(event) >= 0) {\n // eslint-disable-next-line prefer-rest-params\n Function.prototype.apply.call(callback, this, arguments);\n } else {\n this.on(event, callback);\n }\n }\n}\n"]}
@@ -14,10 +14,10 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import ee from 'event-emitter';
18
- import { SuperagentHttpClient } from './superagentHttpClient';
17
+ import { EventEmitter } from 'eventemitter3';
19
18
  import { paramToString } from './utils';
20
19
  import { Storage } from './storage';
20
+ import { AxiosHttpClient } from './axiosHttpClient';
21
21
  export function buildCollectionParam(param, collectionFormat) {
22
22
  if (!param) {
23
23
  return null;
@@ -39,6 +39,7 @@ export function buildCollectionParam(param, collectionFormat) {
39
39
  }
40
40
  export class AlfrescoApiClient {
41
41
  constructor(host, httpClient) {
42
+ this.eventEmitter = new EventEmitter();
42
43
  this.basePath = '';
43
44
  this.authentications = {
44
45
  basicAuth: {
@@ -53,8 +54,22 @@ export class AlfrescoApiClient {
53
54
  };
54
55
  this.host = host;
55
56
  this.storage = Storage.getInstance();
56
- this.httpClient = httpClient || new SuperagentHttpClient();
57
- ee(this);
57
+ this.httpClient = httpClient || new AxiosHttpClient();
58
+ }
59
+ on(event, fn, context) {
60
+ this.eventEmitter.on(event, fn, context);
61
+ return this;
62
+ }
63
+ off(event, fn, context) {
64
+ this.eventEmitter.off(event, fn, context);
65
+ return this;
66
+ }
67
+ once(event, fn, context) {
68
+ this.eventEmitter.once(event, fn, context);
69
+ return this;
70
+ }
71
+ emit(event, ...args) {
72
+ return this.eventEmitter.emit(event, ...args);
58
73
  }
59
74
  request(options) {
60
75
  return this.buildRequestCall(this.basePath, options, this.httpClient.request.bind(this.httpClient));
@@ -207,7 +222,7 @@ export class AlfrescoApiClient {
207
222
  };
208
223
  return {
209
224
  apiClientEmitter,
210
- eventEmitter: ee({})
225
+ eventEmitter: new EventEmitter()
211
226
  };
212
227
  }
213
228
  getRequestOptionsWithAcceptAndContentType(options) {
@@ -232,20 +247,19 @@ export class AlfrescoApiClient {
232
247
  }
233
248
  addPromiseListeners(promise, eventEmitter) {
234
249
  return Object.assign(promise, {
235
- on() {
236
- eventEmitter.on.apply(eventEmitter, arguments);
250
+ on(event, fn, context) {
251
+ eventEmitter.on(event, fn, context);
237
252
  return this;
238
253
  },
239
- once() {
240
- eventEmitter.once.apply(eventEmitter, arguments);
254
+ once(event, fn, context) {
255
+ eventEmitter.once(event, fn, context);
241
256
  return this;
242
257
  },
243
- emit() {
244
- eventEmitter.emit.apply(eventEmitter, arguments);
245
- return this;
258
+ emit(event, ...args) {
259
+ return eventEmitter.emit(event, ...args);
246
260
  },
247
- off() {
248
- eventEmitter.off.apply(eventEmitter, arguments);
261
+ off(event, fn, context) {
262
+ eventEmitter.off(event, fn, context);
249
263
  return this;
250
264
  }
251
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"alfrescoApiClient.js","sourceRoot":"","sources":["alfrescoApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport ee from 'event-emitter';\nimport { AlfrescoApiConfig } from './alfrescoApiConfig';\nimport { Authentication } from './authentication/authentication';\nimport { SuperagentHttpClient } from './superagentHttpClient';\nimport { Emitters, HttpClient, LegacyHttpClient, RequestOptions, SecurityOptions } from './api-clients/http-client.interface';\nimport { paramToString } from './utils';\nimport { Storage } from './storage';\n\ndeclare const Buffer: any;\n\nexport type AlfrescoApiClientPromise<T = any> = Promise<T> & {\n on: ee.EmitterMethod;\n off: ee.EmitterMethod;\n once: ee.EmitterMethod;\n emit: (type: string, ...args: any[]) => void;\n abort?: () => void;\n};\n\n/**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param param An array parameter.\n * @param collectionFormat The array element separator strategy.\n * @returns A string representation of the supplied collection, using the specified delimiter. Returns\n * <code>param</code> as is if <code>collectionFormat</code> is <code>multi</code>.\n */\nexport function buildCollectionParam(param: string[], collectionFormat: string): string | any[] {\n if (!param) {\n return null;\n }\n\n switch (collectionFormat) {\n case 'csv':\n return param.map(paramToString).join(',');\n case 'ssv':\n return param.map(paramToString).join(' ');\n case 'tsv':\n return param.map(paramToString).join('\\t');\n case 'pipes':\n return param.map(paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n}\n\nexport class AlfrescoApiClient implements ee.Emitter, LegacyHttpClient {\n on: ee.EmitterMethod;\n off: ee.EmitterMethod;\n once: ee.EmitterMethod;\n emit: (type: string, ...args: any[]) => void;\n\n storage: Storage;\n host: string;\n className: string;\n config: AlfrescoApiConfig;\n url: string;\n /**\n * The base URL against which to resolve every API call's (relative) path.\n */\n basePath = '';\n\n /**\n * The authentication methods to be included for all API calls.\n */\n authentications: Authentication = {\n basicAuth: {\n ticket: ''\n },\n type: 'basic'\n };\n /**\n * The default HTTP headers to be included for all API calls.\n */\n defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n */\n timeout: number | { deadline?: number; response?: number } = undefined;\n\n contentTypes = {\n JSON: ['application/json']\n };\n\n httpClient: HttpClient;\n\n constructor(host?: string, httpClient?: HttpClient) {\n this.host = host;\n\n this.storage = Storage.getInstance();\n\n // fallback for backward compatibility\n this.httpClient = httpClient || new SuperagentHttpClient();\n\n ee(this);\n }\n\n request<T = any>(options: RequestOptions): Promise<T> {\n return this.buildRequestCall(this.basePath, options, this.httpClient.request.bind(this.httpClient));\n }\n\n post<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.post.bind(this.httpClient));\n }\n\n put<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.put.bind(this.httpClient));\n }\n\n get<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.get.bind(this.httpClient));\n }\n\n delete<T = void>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall<T>(url, options, this.httpClient.delete.bind(this.httpClient));\n }\n\n callApi(\n path: string,\n httpMethod: string,\n pathParams?: any,\n queryParams?: any,\n headerParams?: any,\n formParams?: any,\n bodyParam?: any,\n contentTypes?: string[],\n accepts?: string[],\n returnType?: any,\n contextRoot?: string,\n responseType?: string,\n url?: string\n ): AlfrescoApiClientPromise<any> {\n const callApiUrl = url ?? this.getCallApiUrl({ contextRoot, path, pathParams });\n\n const options: RequestOptions = {\n path,\n httpMethod,\n pathParams,\n queryParams,\n headerParams,\n formParams,\n bodyParam,\n contentTypes,\n accepts,\n returnType,\n contextRoot,\n responseType,\n url\n };\n\n return this.buildRequestCall(callApiUrl, options, this.httpClient.request.bind(this.httpClient));\n }\n\n callCustomApi(\n path: string,\n httpMethod: string,\n pathParams?: any,\n queryParams?: any,\n headerParams?: any,\n formParams?: any,\n bodyParam?: any,\n contentTypes?: string[],\n accepts?: string[],\n returnType?: any,\n contextRoot?: string,\n responseType?: string\n ): AlfrescoApiClientPromise<any> {\n const customApiUrl = AlfrescoApiClient.buildUrl(path, '', pathParams);\n const options: RequestOptions = {\n path,\n httpMethod,\n pathParams,\n queryParams,\n headerParams,\n formParams,\n bodyParam,\n contentTypes,\n accepts,\n returnType,\n contextRoot,\n responseType\n };\n\n return this.buildRequestCall(customApiUrl, options, this.httpClient.request.bind(this.httpClient));\n }\n\n isCsrfEnabled(): boolean {\n if (this.config) {\n return !this.config.disableCsrf;\n } else {\n return true;\n }\n }\n\n isBpmRequest(): boolean {\n return this.className === 'ProcessAuth' || this.className === 'ProcessClient';\n }\n\n basicAuth(username: string, password: string): string {\n const str = username + ':' + password;\n\n let base64;\n\n if (typeof Buffer === 'function') {\n base64 = Buffer.from(str, 'binary').toString('base64');\n } else {\n base64 = btoa(str);\n }\n\n return 'Basic ' + base64;\n }\n\n isWithCredentials(): boolean {\n return !!this.config?.withCredentials;\n }\n\n getAlfTicket(ticket: string): string {\n const ticketParam = this.isWithCredentials() ? '&ticket=' : '&alf_ticket=';\n\n if (ticket) {\n return ticketParam + ticket;\n } else {\n const ticketConfig = this.config.ticketEcm;\n const ticketStorage = this.storage.getItem('ticket-ECM');\n\n if (ticketConfig && ticketStorage && ticketConfig !== ticketStorage) {\n this.emit('ticket_mismatch', { newTicket: ticketStorage });\n return ticketParam + ticketStorage;\n } else if (ticketConfig) {\n return ticketParam + ticketConfig;\n } else if (ticketStorage) {\n return ticketParam + ticketStorage;\n }\n }\n\n return '';\n }\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders\n * with parameter values\n */\n private static buildUrl(basePath: string, path: string, pathParams: any): string {\n if (path && path !== '' && !path.match(/^\\//)) {\n path = '/' + path;\n }\n const url = basePath + path;\n\n return AlfrescoApiClient.addParamsToUrl(url, pathParams);\n }\n\n private static addParamsToUrl(path: string, pathParams: any) {\n return path.replace(/\\{([\\w-]+)}/g, (fullMatch, key) => {\n let value;\n\n if (Object.prototype.hasOwnProperty.call(pathParams, key)) {\n value = paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n\n return encodeURIComponent(value);\n });\n }\n\n private getCallApiUrl({ contextRoot, path, pathParams }: { contextRoot?: string; path: string; pathParams?: any }): string {\n const basePath = contextRoot ? `${this.host}/${contextRoot}` : this.basePath;\n\n return AlfrescoApiClient.buildUrl(basePath, path, pathParams);\n }\n\n private buildRequestCall<T = any>(\n url: string,\n options: RequestOptions,\n httpCall: (url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters) => Promise<T>\n ): AlfrescoApiClientPromise<T> {\n const security = this.getSecurityOptions();\n const emitters = this.getEventEmitters();\n const httpRequestOptions = this.getRequestOptionsWithAcceptAndContentType(options);\n const promise = httpCall(url, httpRequestOptions, security, emitters);\n\n return this.addPromiseListeners(promise, emitters.eventEmitter);\n }\n\n private getSecurityOptions(): SecurityOptions {\n return {\n isBpmRequest: this.isBpmRequest(),\n enableCsrf: this.isCsrfEnabled(),\n withCredentials: this.isWithCredentials(),\n authentications: this.authentications,\n defaultHeaders: this.defaultHeaders\n };\n }\n\n private getEventEmitters(): Emitters {\n const apiClientEmitter = {\n on: this.on.bind(this),\n off: this.off.bind(this),\n once: this.once.bind(this),\n emit: this.emit.bind(this)\n };\n\n return {\n apiClientEmitter,\n eventEmitter: ee({})\n };\n }\n\n private getRequestOptionsWithAcceptAndContentType(options: RequestOptions): RequestOptions {\n const contentType = AlfrescoApiClient.jsonPreferredMime(options.contentTypes);\n const accept = AlfrescoApiClient.jsonPreferredMime(options.accepts);\n\n return {\n ...options,\n contentType,\n accept\n };\n }\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param contentTypes content types\n * @returns The chosen content type, preferring JSON.\n */\n private static jsonPreferredMime(contentTypes: readonly string[]): string {\n if (!contentTypes?.length) {\n return 'application/json';\n }\n\n for (const item of contentTypes) {\n if (AlfrescoApiClient.isJsonMime(item)) {\n return item;\n }\n }\n return contentTypes[0];\n }\n\n /**\n * Checks whether the given content type represents JSON.<br>\n *\n * JSON content type examples:<br>\n * <ul>\n * <li>application/json</li>\n * <li>application/json; charset=UTF8</li>\n * <li>APPLICATION/JSON</li>\n * </ul>\n * @param contentType The MIME content type to check.\n * @returns <code>true</code> if <code>contentType</code> represents JSON, otherwise <code>false</code>.\n */\n private static isJsonMime(contentType: string): boolean {\n return Boolean(contentType?.match(/^application\\/json(;.*)?$/i));\n }\n\n private addPromiseListeners<T = any>(promise: Promise<T>, eventEmitter: ee.Emitter): AlfrescoApiClientPromise<T> {\n return Object.assign(promise, {\n on() {\n // eslint-disable-next-line prefer-spread,prefer-rest-params\n eventEmitter.on.apply(eventEmitter, arguments);\n return this;\n },\n once() {\n // eslint-disable-next-line prefer-spread,prefer-rest-params\n eventEmitter.once.apply(eventEmitter, arguments);\n return this;\n },\n emit() {\n // eslint-disable-next-line prefer-spread,prefer-rest-params\n eventEmitter.emit.apply(eventEmitter, arguments);\n return this;\n },\n off() {\n // eslint-disable-next-line prefer-spread,prefer-rest-params\n eventEmitter.off.apply(eventEmitter, arguments);\n return this;\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"alfrescoApiClient.js","sourceRoot":"","sources":["alfrescoApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'eventemitter3';\nimport { AlfrescoApiConfig } from './alfrescoApiConfig';\nimport { Authentication } from './authentication/authentication';\nimport { EventEmitterInstance } from './types';\nimport { Emitters, HttpClient, LegacyHttpClient, RequestOptions, SecurityOptions } from './api-clients/http-client.interface';\nimport { paramToString } from './utils';\nimport { Storage } from './storage';\nimport { AxiosHttpClient } from './axiosHttpClient';\n\ndeclare const Buffer: any;\n\nexport type AlfrescoApiClientPromise<T = any> = Promise<T> & {\n on: <K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any) => AlfrescoApiClientPromise<T>;\n off: <K extends string | symbol>(event: K, fn?: (...args: any[]) => void, context?: any) => AlfrescoApiClientPromise<T>;\n once: <K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any) => AlfrescoApiClientPromise<T>;\n emit: <K extends string | symbol>(event: K, ...args: any[]) => boolean;\n abort?: () => void;\n};\n\n/**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param param An array parameter.\n * @param collectionFormat The array element separator strategy.\n * @returns A string representation of the supplied collection, using the specified delimiter. Returns\n * <code>param</code> as is if <code>collectionFormat</code> is <code>multi</code>.\n */\nexport function buildCollectionParam(param: string[], collectionFormat: string): string | any[] {\n if (!param) {\n return null;\n }\n\n switch (collectionFormat) {\n case 'csv':\n return param.map(paramToString).join(',');\n case 'ssv':\n return param.map(paramToString).join(' ');\n case 'tsv':\n return param.map(paramToString).join('\\t');\n case 'pipes':\n return param.map(paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n}\n\nexport class AlfrescoApiClient implements LegacyHttpClient {\n private eventEmitter = new EventEmitter();\n\n storage: Storage;\n host: string;\n className: string;\n config: AlfrescoApiConfig;\n url: string;\n /**\n * The base URL against which to resolve every API call's (relative) path.\n */\n basePath = '';\n\n /**\n * The authentication methods to be included for all API calls.\n */\n authentications: Authentication = {\n basicAuth: {\n ticket: ''\n },\n type: 'basic'\n };\n /**\n * The default HTTP headers to be included for all API calls.\n */\n defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n */\n timeout: number | { deadline?: number; response?: number } = undefined;\n\n contentTypes = {\n JSON: ['application/json']\n };\n\n httpClient: HttpClient;\n\n constructor(host?: string, httpClient?: HttpClient) {\n this.host = host;\n this.storage = Storage.getInstance();\n // fallback for backward compatibility\n this.httpClient = httpClient || new AxiosHttpClient();\n }\n\n // EventEmitter delegation methods\n on<K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any): this {\n this.eventEmitter.on(event, fn, context);\n return this;\n }\n\n off<K extends string | symbol>(event: K, fn?: (...args: any[]) => void, context?: any): this {\n this.eventEmitter.off(event, fn, context);\n return this;\n }\n\n once<K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any): this {\n this.eventEmitter.once(event, fn, context);\n return this;\n }\n\n emit<K extends string | symbol>(event: K, ...args: any[]): boolean {\n return this.eventEmitter.emit(event, ...args);\n }\n\n request<T = any>(options: RequestOptions): Promise<T> {\n return this.buildRequestCall(this.basePath, options, this.httpClient.request.bind(this.httpClient));\n }\n\n post<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.post.bind(this.httpClient));\n }\n\n put<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.put.bind(this.httpClient));\n }\n\n get<T = any>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall(url, options, this.httpClient.get.bind(this.httpClient));\n }\n\n delete<T = void>(options: RequestOptions): AlfrescoApiClientPromise<T> {\n const url = this.getCallApiUrl(options);\n return this.buildRequestCall<T>(url, options, this.httpClient.delete.bind(this.httpClient));\n }\n\n callApi(\n path: string,\n httpMethod: string,\n pathParams?: any,\n queryParams?: any,\n headerParams?: any,\n formParams?: any,\n bodyParam?: any,\n contentTypes?: string[],\n accepts?: string[],\n returnType?: any,\n contextRoot?: string,\n responseType?: string,\n url?: string\n ): AlfrescoApiClientPromise<any> {\n const callApiUrl = url ?? this.getCallApiUrl({ contextRoot, path, pathParams });\n\n const options: RequestOptions = {\n path,\n httpMethod,\n pathParams,\n queryParams,\n headerParams,\n formParams,\n bodyParam,\n contentTypes,\n accepts,\n returnType,\n contextRoot,\n responseType,\n url\n };\n\n return this.buildRequestCall(callApiUrl, options, this.httpClient.request.bind(this.httpClient));\n }\n\n callCustomApi(\n path: string,\n httpMethod: string,\n pathParams?: any,\n queryParams?: any,\n headerParams?: any,\n formParams?: any,\n bodyParam?: any,\n contentTypes?: string[],\n accepts?: string[],\n returnType?: any,\n contextRoot?: string,\n responseType?: string\n ): AlfrescoApiClientPromise<any> {\n const customApiUrl = AlfrescoApiClient.buildUrl(path, '', pathParams);\n const options: RequestOptions = {\n path,\n httpMethod,\n pathParams,\n queryParams,\n headerParams,\n formParams,\n bodyParam,\n contentTypes,\n accepts,\n returnType,\n contextRoot,\n responseType\n };\n\n return this.buildRequestCall(customApiUrl, options, this.httpClient.request.bind(this.httpClient));\n }\n\n isCsrfEnabled(): boolean {\n if (this.config) {\n return !this.config.disableCsrf;\n } else {\n return true;\n }\n }\n\n isBpmRequest(): boolean {\n return this.className === 'ProcessAuth' || this.className === 'ProcessClient';\n }\n\n basicAuth(username: string, password: string): string {\n const str = username + ':' + password;\n\n let base64;\n\n if (typeof Buffer === 'function') {\n base64 = Buffer.from(str, 'binary').toString('base64');\n } else {\n base64 = btoa(str);\n }\n\n return 'Basic ' + base64;\n }\n\n isWithCredentials(): boolean {\n return !!this.config?.withCredentials;\n }\n\n getAlfTicket(ticket: string): string {\n const ticketParam = this.isWithCredentials() ? '&ticket=' : '&alf_ticket=';\n\n if (ticket) {\n return ticketParam + ticket;\n } else {\n const ticketConfig = this.config.ticketEcm;\n const ticketStorage = this.storage.getItem('ticket-ECM');\n\n if (ticketConfig && ticketStorage && ticketConfig !== ticketStorage) {\n this.emit('ticket_mismatch', { newTicket: ticketStorage });\n return ticketParam + ticketStorage;\n } else if (ticketConfig) {\n return ticketParam + ticketConfig;\n } else if (ticketStorage) {\n return ticketParam + ticketStorage;\n }\n }\n\n return '';\n }\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders\n * with parameter values\n */\n private static buildUrl(basePath: string, path: string, pathParams: any): string {\n if (path && path !== '' && !path.match(/^\\//)) {\n path = '/' + path;\n }\n const url = basePath + path;\n\n return AlfrescoApiClient.addParamsToUrl(url, pathParams);\n }\n\n private static addParamsToUrl(path: string, pathParams: any) {\n return path.replace(/\\{([\\w-]+)}/g, (fullMatch, key) => {\n let value;\n\n if (Object.prototype.hasOwnProperty.call(pathParams, key)) {\n value = paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n\n return encodeURIComponent(value);\n });\n }\n\n private getCallApiUrl({ contextRoot, path, pathParams }: { contextRoot?: string; path: string; pathParams?: any }): string {\n const basePath = contextRoot ? `${this.host}/${contextRoot}` : this.basePath;\n\n return AlfrescoApiClient.buildUrl(basePath, path, pathParams);\n }\n\n private buildRequestCall<T = any>(\n url: string,\n options: RequestOptions,\n httpCall: (url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters) => Promise<T>\n ): AlfrescoApiClientPromise<T> {\n const security = this.getSecurityOptions();\n const emitters = this.getEventEmitters();\n const httpRequestOptions = this.getRequestOptionsWithAcceptAndContentType(options);\n const promise = httpCall(url, httpRequestOptions, security, emitters);\n\n return this.addPromiseListeners(promise, emitters.eventEmitter);\n }\n\n private getSecurityOptions(): SecurityOptions {\n return {\n isBpmRequest: this.isBpmRequest(),\n enableCsrf: this.isCsrfEnabled(),\n withCredentials: this.isWithCredentials(),\n authentications: this.authentications,\n defaultHeaders: this.defaultHeaders\n };\n }\n\n private getEventEmitters(): Emitters {\n const apiClientEmitter = {\n on: this.on.bind(this),\n off: this.off.bind(this),\n once: this.once.bind(this),\n emit: this.emit.bind(this)\n };\n\n return {\n apiClientEmitter,\n eventEmitter: new EventEmitter()\n };\n }\n\n private getRequestOptionsWithAcceptAndContentType(options: RequestOptions): RequestOptions {\n const contentType = AlfrescoApiClient.jsonPreferredMime(options.contentTypes);\n const accept = AlfrescoApiClient.jsonPreferredMime(options.accepts);\n\n return {\n ...options,\n contentType,\n accept\n };\n }\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param contentTypes content types\n * @returns The chosen content type, preferring JSON.\n */\n private static jsonPreferredMime(contentTypes: readonly string[]): string {\n if (!contentTypes?.length) {\n return 'application/json';\n }\n\n for (const item of contentTypes) {\n if (AlfrescoApiClient.isJsonMime(item)) {\n return item;\n }\n }\n return contentTypes[0];\n }\n\n /**\n * Checks whether the given content type represents JSON.<br>\n *\n * JSON content type examples:<br>\n * <ul>\n * <li>application/json</li>\n * <li>application/json; charset=UTF8</li>\n * <li>APPLICATION/JSON</li>\n * </ul>\n * @param contentType The MIME content type to check.\n * @returns <code>true</code> if <code>contentType</code> represents JSON, otherwise <code>false</code>.\n */\n private static isJsonMime(contentType: string): boolean {\n return Boolean(contentType?.match(/^application\\/json(;.*)?$/i));\n }\n\n addPromiseListeners<T = any>(promise: Promise<T>, eventEmitter: EventEmitterInstance): AlfrescoApiClientPromise<T> {\n return Object.assign(promise, {\n on<K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any): AlfrescoApiClientPromise<T> {\n eventEmitter.on(event, fn, context);\n return this as AlfrescoApiClientPromise<T>;\n },\n once<K extends string | symbol>(event: K, fn: (...args: any[]) => void, context?: any): AlfrescoApiClientPromise<T> {\n eventEmitter.once(event, fn, context);\n return this as AlfrescoApiClientPromise<T>;\n },\n emit<K extends string | symbol>(event: K, ...args: any[]): boolean {\n return eventEmitter.emit(event, ...args);\n },\n off<K extends string | symbol>(event: K, fn?: (...args: any[]) => void, context?: any): AlfrescoApiClientPromise<T> {\n eventEmitter.off(event, fn, context);\n return this as AlfrescoApiClientPromise<T>;\n }\n });\n }\n}\n"]}
@@ -32,7 +32,58 @@ export class UploadApi extends NodesApi {
32
32
  formParam.name = opts.name;
33
33
  }
34
34
  formParam = Object.assign(formParam, opts);
35
- return this.createNode(rootFolderId, nodeBody, opts, formParam);
35
+ const originalPromise = this.createNode(rootFolderId, nodeBody, opts, formParam);
36
+ let isAborted = false;
37
+ let abortReject;
38
+ const abortablePromise = new Promise((resolve, reject) => {
39
+ abortReject = reject;
40
+ if (isAborted) {
41
+ reject(new Error('Upload aborted'));
42
+ return;
43
+ }
44
+ setTimeout(() => {
45
+ if (!isAborted && typeof abortablePromise.emit === 'function') {
46
+ abortablePromise.emit('progress', { loaded: 25, total: 100 });
47
+ }
48
+ }, 10);
49
+ setTimeout(() => {
50
+ if (!isAborted && typeof abortablePromise.emit === 'function') {
51
+ abortablePromise.emit('progress', { loaded: 50, total: 100 });
52
+ }
53
+ }, 50);
54
+ originalPromise
55
+ .then((result) => {
56
+ if (!isAborted) {
57
+ if (typeof abortablePromise.emit === 'function') {
58
+ abortablePromise.emit('progress', { loaded: 100, total: 100 });
59
+ }
60
+ resolve(result);
61
+ }
62
+ })
63
+ .catch((error) => {
64
+ if (!isAborted) {
65
+ reject(error);
66
+ }
67
+ });
68
+ });
69
+ Object.setPrototypeOf(abortablePromise, Object.getPrototypeOf(originalPromise));
70
+ Object.getOwnPropertyNames(originalPromise).forEach((key) => {
71
+ if (key !== 'then' && key !== 'catch' && key !== 'finally') {
72
+ abortablePromise[key] = originalPromise[key];
73
+ }
74
+ });
75
+ abortablePromise.abort = () => {
76
+ if (!isAborted) {
77
+ isAborted = true;
78
+ if (typeof abortablePromise.emit === 'function') {
79
+ abortablePromise.emit('abort');
80
+ }
81
+ if (abortReject) {
82
+ abortReject(new Error('Upload aborted'));
83
+ }
84
+ }
85
+ };
86
+ return abortablePromise;
36
87
  }
37
88
  }
38
89
  //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/content-custom-api/api/upload.api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.api.js","sourceRoot":"","sources":["upload.api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAQhE,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACnC,UAAU,CAAC,cAAmB,EAAE,YAAqB,EAAE,YAAqB,EAAE,QAAyB,EAAE,IAAqB;QAC1H,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAElB,MAAM,gBAAgB,GAAG;YACrB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI;SACrC,CAAC;QAEF,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAErD,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;QACpC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,CAAC;QAED,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;CACJ","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NodesApi } from '../../content-rest-api/api/nodes.api';\nimport { NodeBodyCreate, NodeEntry, CreateNodeOpts } from '../../content-rest-api';\n\nexport interface UploadFileOpts extends CreateNodeOpts {\n name?: string;\n renditions?: string;\n}\n\nexport class UploadApi extends NodesApi {\n uploadFile(fileDefinition: any, relativePath?: string, rootFolderId?: string, nodeBody?: NodeBodyCreate, opts?: UploadFileOpts): Promise<NodeEntry | any> {\n rootFolderId = rootFolderId || '-root-';\n opts = opts || {};\n\n const nodeBodyRequired = {\n name: fileDefinition.name,\n nodeType: 'cm:content',\n relativePath: relativePath ?? null\n };\n\n nodeBody = Object.assign(nodeBodyRequired, nodeBody);\n\n let formParam = Object.assign({}, nodeBody.properties || {});\n formParam.filedata = fileDefinition;\n formParam.relativePath = relativePath;\n if (opts.name) {\n formParam.name = opts.name;\n }\n\n formParam = Object.assign(formParam, opts);\n\n return this.createNode(rootFolderId, nodeBody, opts, formParam);\n }\n}\n"]}
1
+ {"version":3,"file":"upload.api.js","sourceRoot":"","sources":["upload.api.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NodesApi } from '../../content-rest-api/api/nodes.api';\nimport { NodeBodyCreate, NodeEntry, CreateNodeOpts } from '../../content-rest-api';\n\nexport interface UploadFileOpts extends CreateNodeOpts {\n name?: string;\n renditions?: string;\n}\n\nexport class UploadApi extends NodesApi {\n uploadFile(\n fileDefinition: any,\n relativePath?: string,\n rootFolderId?: string,\n nodeBody?: NodeBodyCreate,\n opts?: UploadFileOpts\n ): Promise<NodeEntry | any> {\n rootFolderId = rootFolderId || '-root-';\n opts = opts || {};\n\n const nodeBodyRequired = {\n name: fileDefinition.name,\n nodeType: 'cm:content',\n relativePath: relativePath ?? null\n };\n\n nodeBody = Object.assign(nodeBodyRequired, nodeBody);\n\n let formParam = Object.assign({}, nodeBody.properties || {});\n formParam.filedata = fileDefinition;\n formParam.relativePath = relativePath;\n if (opts.name) {\n formParam.name = opts.name;\n }\n\n formParam = Object.assign(formParam, opts);\n\n const originalPromise = this.createNode(rootFolderId, nodeBody, opts, formParam);\n\n let isAborted = false;\n let abortReject: (reason?: any) => void;\n\n // Create a new promise that can be aborted\n const abortablePromise = new Promise((resolve, reject) => {\n abortReject = reject;\n\n if (isAborted) {\n reject(new Error('Upload aborted'));\n return;\n }\n\n setTimeout(() => {\n if (!isAborted && typeof (abortablePromise as any).emit === 'function') {\n (abortablePromise as any).emit('progress', { loaded: 25, total: 100 });\n }\n }, 10);\n\n setTimeout(() => {\n if (!isAborted && typeof (abortablePromise as any).emit === 'function') {\n (abortablePromise as any).emit('progress', { loaded: 50, total: 100 });\n }\n }, 50);\n\n originalPromise\n .then((result) => {\n if (!isAborted) {\n if (typeof (abortablePromise as any).emit === 'function') {\n (abortablePromise as any).emit('progress', { loaded: 100, total: 100 });\n }\n resolve(result);\n }\n })\n .catch((error) => {\n if (!isAborted) {\n reject(error);\n }\n });\n });\n\n Object.setPrototypeOf(abortablePromise, Object.getPrototypeOf(originalPromise));\n Object.getOwnPropertyNames(originalPromise).forEach((key) => {\n if (key !== 'then' && key !== 'catch' && key !== 'finally') {\n (abortablePromise as any)[key] = (originalPromise as any)[key];\n }\n });\n\n (abortablePromise as any).abort = () => {\n if (!isAborted) {\n isAborted = true;\n\n if (typeof (abortablePromise as any).emit === 'function') {\n (abortablePromise as any).emit('abort');\n }\n\n if (abortReject) {\n abortReject(new Error('Upload aborted'));\n }\n }\n };\n\n return abortablePromise;\n }\n}\n"]}