@alfresco/js-api 9.4.0-17607933312 → 9.4.0-17617861152

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 (44) hide show
  1. package/esm2015/package.json +2 -2
  2. package/esm2015/src/alfrescoApi.js +14 -14
  3. package/esm2015/src/alfrescoApi.js.map +1 -1
  4. package/esm2015/src/alfrescoApiClient.js +12 -26
  5. package/esm2015/src/alfrescoApiClient.js.map +1 -1
  6. package/esm2015/src/api-clients/http-client.interface.js.map +1 -1
  7. package/esm2015/src/authentication/contentAuth.js +7 -4
  8. package/esm2015/src/authentication/contentAuth.js.map +1 -1
  9. package/esm2015/src/authentication/oauth2Auth.js +4 -3
  10. package/esm2015/src/authentication/oauth2Auth.js.map +1 -1
  11. package/esm2015/src/authentication/processAuth.js +5 -3
  12. package/esm2015/src/authentication/processAuth.js.map +1 -1
  13. package/esm2015/src/superagentHttpClient.js.map +1 -1
  14. package/esm5/package.json +2 -2
  15. package/esm5/src/alfrescoApi.js +14 -14
  16. package/esm5/src/alfrescoApi.js.map +1 -1
  17. package/esm5/src/alfrescoApiClient.js +12 -26
  18. package/esm5/src/alfrescoApiClient.js.map +1 -1
  19. package/esm5/src/api-clients/http-client.interface.js.map +1 -1
  20. package/esm5/src/authentication/contentAuth.js +7 -4
  21. package/esm5/src/authentication/contentAuth.js.map +1 -1
  22. package/esm5/src/authentication/oauth2Auth.js +4 -3
  23. package/esm5/src/authentication/oauth2Auth.js.map +1 -1
  24. package/esm5/src/authentication/processAuth.js +5 -3
  25. package/esm5/src/authentication/processAuth.js.map +1 -1
  26. package/esm5/src/superagentHttpClient.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/alfrescoApi.js +15 -14
  29. package/src/alfrescoApi.js.map +1 -1
  30. package/src/alfrescoApiClient.js +13 -26
  31. package/src/alfrescoApiClient.js.map +1 -1
  32. package/src/api-clients/http-client.interface.js.map +1 -1
  33. package/src/authentication/contentAuth.js +8 -4
  34. package/src/authentication/contentAuth.js.map +1 -1
  35. package/src/authentication/oauth2Auth.js +4 -3
  36. package/src/authentication/oauth2Auth.js.map +1 -1
  37. package/src/authentication/processAuth.js +6 -3
  38. package/src/authentication/processAuth.js.map +1 -1
  39. package/src/superagentHttpClient.js.map +1 -1
  40. package/typings/package.json +2 -2
  41. package/typings/src/alfrescoApi.d.ts +10 -2
  42. package/typings/src/alfrescoApiClient.d.ts +11 -14
  43. package/typings/src/api-clients/http-client.interface.d.ts +3 -10
  44. package/typings/src/authentication/oauth2Auth.d.ts +1 -1
@@ -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 { 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';\n\ntype EventEmitterInstance = InstanceType<typeof EventEmitter>;\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"]}
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"]}
@@ -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 { EventEmitter } from 'eventemitter3';
17
+ import ee from 'event-emitter';
18
18
  import { SuperagentHttpClient } from './superagentHttpClient';
19
19
  import { paramToString } from './utils';
20
20
  import { Storage } from './storage';
@@ -39,7 +39,6 @@ export function buildCollectionParam(param, collectionFormat) {
39
39
  }
40
40
  export class AlfrescoApiClient {
41
41
  constructor(host, httpClient) {
42
- this.eventEmitter = new EventEmitter();
43
42
  this.basePath = '';
44
43
  this.authentications = {
45
44
  basicAuth: {
@@ -55,21 +54,7 @@ export class AlfrescoApiClient {
55
54
  this.host = host;
56
55
  this.storage = Storage.getInstance();
57
56
  this.httpClient = httpClient || new SuperagentHttpClient();
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);
57
+ ee(this);
73
58
  }
74
59
  request(options) {
75
60
  return this.buildRequestCall(this.basePath, options, this.httpClient.request.bind(this.httpClient));
@@ -222,7 +207,7 @@ export class AlfrescoApiClient {
222
207
  };
223
208
  return {
224
209
  apiClientEmitter,
225
- eventEmitter: new EventEmitter()
210
+ eventEmitter: ee({})
226
211
  };
227
212
  }
228
213
  getRequestOptionsWithAcceptAndContentType(options) {
@@ -247,19 +232,20 @@ export class AlfrescoApiClient {
247
232
  }
248
233
  addPromiseListeners(promise, eventEmitter) {
249
234
  return Object.assign(promise, {
250
- on(event, fn, context) {
251
- eventEmitter.on(event, fn, context);
235
+ on() {
236
+ eventEmitter.on.apply(eventEmitter, arguments);
252
237
  return this;
253
238
  },
254
- once(event, fn, context) {
255
- eventEmitter.once(event, fn, context);
239
+ once() {
240
+ eventEmitter.once.apply(eventEmitter, arguments);
256
241
  return this;
257
242
  },
258
- emit(event, ...args) {
259
- return eventEmitter.emit(event, ...args);
243
+ emit() {
244
+ eventEmitter.emit.apply(eventEmitter, arguments);
245
+ return this;
260
246
  },
261
- off(event, fn, context) {
262
- eventEmitter.off(event, fn, context);
247
+ off() {
248
+ eventEmitter.off.apply(eventEmitter, arguments);
263
249
  return this;
264
250
  }
265
251
  });
@@ -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 { EventEmitter } from 'eventemitter3';\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\ntype EventEmitterInstance = InstanceType<typeof EventEmitter>;\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 SuperagentHttpClient();\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"]}
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 +1 @@
1
- {"version":3,"file":"http-client.interface.js","sourceRoot":"","sources":["http-client.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","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 { Authentication } from '../authentication/authentication';\nimport { EventEmitter } from 'eventemitter3';\n\ntype EventEmitterInstance = InstanceType<typeof EventEmitter>;\n\nexport interface RequestOptions {\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 readonly accept?: string;\n readonly contentType?: string;\n}\n\nexport interface HttpClientConfig {\n contextRoot?: string;\n host?: string; // Should be mandatory but can't make it because of AlfrescoApiConfig incompatibility 😕\n servicePath?: string; // Should be mandatory but can't make it because of AlfrescoApiConfig incompatibility 😕\n}\n\nexport interface LegacyHttpClient {\n basePath: string;\n config: HttpClientConfig;\n\n request<T = any>(options: RequestOptions): Promise<T>;\n post<T = any>(options: RequestOptions): Promise<T>;\n put<T = any>(options: RequestOptions): Promise<T>;\n get<T = any>(options: RequestOptions): Promise<T>;\n delete<T = void>(options: RequestOptions): Promise<T>;\n /** @deprecated */\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 ): Promise<any>;\n /** @deprecated */\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 ): Promise<any>;\n}\n\nexport interface SecurityOptions {\n readonly isBpmRequest: boolean;\n readonly enableCsrf?: boolean;\n readonly withCredentials?: boolean;\n readonly authentications: Authentication;\n readonly defaultHeaders: Record<string, string>;\n}\n\nexport interface Emitters {\n readonly eventEmitter: EventEmitterInstance;\n readonly apiClientEmitter: {\n on: EventEmitterInstance['on'];\n off: EventEmitterInstance['off'];\n once: EventEmitterInstance['once'];\n emit: EventEmitterInstance['emit'];\n };\n}\n\nexport interface HttpClient {\n request<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n post<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n put<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n get<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n delete<T = void>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n}\n"]}
1
+ {"version":3,"file":"http-client.interface.js","sourceRoot":"","sources":["http-client.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","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 { Authentication } from '../authentication/authentication';\nimport { Emitter } from 'event-emitter';\n\nexport interface RequestOptions {\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 readonly accept?: string;\n readonly contentType?: string;\n}\n\nexport interface HttpClientConfig {\n contextRoot?: string;\n host?: string; // Should be mandatory but can't make it because of AlfrescoApiConfig incompatibility 😕\n servicePath?: string; // Should be mandatory but can't make it because of AlfrescoApiConfig incompatibility 😕\n}\n\nexport interface LegacyHttpClient {\n basePath: string;\n config: HttpClientConfig;\n\n request<T = any>(options: RequestOptions): Promise<T>;\n post<T = any>(options: RequestOptions): Promise<T>;\n put<T = any>(options: RequestOptions): Promise<T>;\n get<T = any>(options: RequestOptions): Promise<T>;\n delete<T = void>(options: RequestOptions): Promise<T>;\n /** @deprecated */\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 ): Promise<any>;\n /** @deprecated */\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 ): Promise<any>;\n}\n\nexport interface SecurityOptions {\n readonly isBpmRequest: boolean;\n readonly enableCsrf?: boolean;\n readonly withCredentials?: boolean;\n readonly authentications: Authentication;\n readonly defaultHeaders: Record<string, string>;\n}\n\nexport interface Emitters {\n readonly eventEmitter: Emitter;\n readonly apiClientEmitter: Emitter;\n}\n\nexport interface HttpClient {\n request<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n post<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n put<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n get<T = any>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n delete<T = void>(url: string, options: RequestOptions, security: SecurityOptions, emitters: Emitters): Promise<T>;\n}\n"]}
@@ -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 { EventEmitter } from 'eventemitter3';
17
+ import ee from 'event-emitter';
18
18
  import { AuthenticationApi, TicketBody } from '../api/auth-rest-api';
19
19
  import { AlfrescoApiClient } from '../alfrescoApiClient';
20
20
  import { Storage } from '../storage';
@@ -78,7 +78,8 @@ export class ContentAuth extends AlfrescoApiClient {
78
78
  reject(error);
79
79
  });
80
80
  });
81
- return this.addPromiseListeners(promise, new EventEmitter());
81
+ ee(promise);
82
+ return promise;
82
83
  }
83
84
  validateTicket() {
84
85
  this.setTicket(this.config.ticketEcm);
@@ -96,7 +97,8 @@ export class ContentAuth extends AlfrescoApiClient {
96
97
  reject(error);
97
98
  });
98
99
  });
99
- return this.addPromiseListeners(promise, new EventEmitter());
100
+ ee(promise);
101
+ return promise;
100
102
  }
101
103
  logout() {
102
104
  this.saveUsername('');
@@ -113,7 +115,8 @@ export class ContentAuth extends AlfrescoApiClient {
113
115
  reject(error);
114
116
  });
115
117
  });
116
- return this.addPromiseListeners(promise, new EventEmitter());
118
+ ee(promise);
119
+ return promise;
117
120
  }
118
121
  setTicket(ticket) {
119
122
  this.authentications.basicAuth.username = 'ROLE_TICKET';
@@ -1 +1 @@
1
- {"version":3,"file":"contentAuth.js","sourceRoot":"","sources":["contentAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAM9C,YAAY,MAAyB,EAAE,WAA4B,EAAE,UAAuB;QACxF,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,MAAyB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,iDAAiD,CAAC;QAExH,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED,UAAU;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,iDAAiD,CAAC;QACxH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,QAAgB;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAQD,KAAK,CAAC,QAAgB,EAAE,QAAgB;QACpC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ;YAC/C,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ;SACpD,CAAC,CAAC;QAEH,MAAM,OAAO,GAAQ,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO;iBACP,YAAY,CAAC,YAAY,CAAC;iBAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAMD,cAAc;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAQ,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE;gBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACN,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAMD,MAAM;QACF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,OAAO,GAAQ,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAC5B,GAAG,EAAE;gBACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAC;YACd,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACN,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAKD,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAMD,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAMD,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAMD,iBAAiB;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,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 { EventEmitter } from 'eventemitter3';\nimport { AuthenticationApi, TicketBody } from '../api/auth-rest-api';\nimport { AlfrescoApiClient } from '../alfrescoApiClient';\nimport { AlfrescoApiConfig } from '../alfrescoApiConfig';\nimport { Authentication } from './authentication';\nimport { Storage } from '../storage';\nimport { AlfrescoApiType } from '../to-deprecate/alfresco-api-type';\nimport { HttpClient } from '../api-clients/http-client.interface';\n\nexport class ContentAuth extends AlfrescoApiClient {\n ticketStorageLabel: string;\n ticket: string;\n\n authApi: AuthenticationApi;\n\n constructor(config: AlfrescoApiConfig, alfrescoApi: AlfrescoApiType, httpClient?: HttpClient) {\n super(undefined, httpClient);\n this.className = 'ContentAuth';\n this.storage = Storage.getInstance();\n this.storage.setDomainPrefix(config.domainPrefix);\n\n this.setConfig(config);\n\n this.authApi = new AuthenticationApi(alfrescoApi);\n }\n\n setConfig(config: AlfrescoApiConfig) {\n this.config = config;\n\n this.basePath = this.config.hostEcm + '/' + this.config.contextRoot + '/api/-default-/public/authentication/versions/1'; //Auth Call\n\n this.ticketStorageLabel = 'ticket-ECM';\n\n if (this.config.ticketEcm) {\n this.setTicket(config.ticketEcm);\n } else if (this.storage.getItem(this.ticketStorageLabel)) {\n this.setTicket(this.storage.getItem(this.ticketStorageLabel));\n }\n }\n\n changeHost() {\n this.basePath = this.config.hostEcm + '/' + this.config.contextRoot + '/api/-default-/public/authentication/versions/1'; //Auth Call\n this.ticket = undefined;\n }\n\n saveUsername(username: string) {\n if (this.storage.supportsStorage()) {\n this.storage.setItem('ACS_USERNAME', username);\n }\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<string> {\n this.authentications.basicAuth.username = username;\n this.authentications.basicAuth.password = password;\n\n const loginRequest = new TicketBody({\n userId: this.authentications.basicAuth.username,\n password: this.authentications.basicAuth.password\n });\n\n const promise: any = new Promise<string>((resolve, reject) => {\n this.authApi\n .createTicket(loginRequest)\n .then((data) => {\n this.saveUsername(username);\n this.setTicket(data.entry.id);\n promise.emit('success');\n this.emit('logged-in');\n resolve(data.entry.id);\n })\n .catch((error) => {\n this.saveUsername('');\n if (error.status === 401) {\n promise.emit('unauthorized');\n } else if (error.status === 403) {\n promise.emit('forbidden');\n } else {\n promise.emit('error');\n }\n reject(error);\n });\n });\n\n return this.addPromiseListeners(promise, new EventEmitter());\n }\n\n /**\n * validate the ticket present in this.config.ticket against the server\n * @returns A promise that returns if resolved and {error} if rejected.\n */\n validateTicket(): Promise<string> {\n this.setTicket(this.config.ticketEcm);\n\n const promise: any = new Promise<string>((resolve, reject) => {\n this.authApi.validateTicket().then(\n (data) => {\n this.setTicket(data.entry.id);\n promise.emit('success');\n this.emit('logged-in');\n resolve(data.entry.id);\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 return this.addPromiseListeners(promise, new EventEmitter());\n }\n\n /**\n * logout Alfresco API\n * @returns A promise that returns { authentication ticket} if resolved and {error} if rejected.\n */\n logout(): Promise<void> {\n this.saveUsername('');\n const promise: any = new Promise<void>((resolve, reject) => {\n this.authApi.deleteTicket().then(\n () => {\n promise.emit('logout');\n this.invalidateSession();\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 return this.addPromiseListeners(promise, new EventEmitter());\n }\n\n /**\n * Set the current Ticket\n */\n setTicket(ticket: string) {\n this.authentications.basicAuth.username = 'ROLE_TICKET';\n this.authentications.basicAuth.password = ticket;\n this.config.ticketEcm = ticket;\n this.storage.setItem(this.ticketStorageLabel, ticket);\n this.ticket = ticket;\n }\n\n /**\n * Get the current Ticket\n * @returns ticket value\n */\n getTicket(): string {\n return this.ticket;\n }\n\n invalidateSession() {\n this.storage.removeItem(this.ticketStorageLabel);\n this.authentications.basicAuth.username = null;\n this.authentications.basicAuth.password = null;\n this.config.ticketEcm = null;\n this.ticket = null;\n }\n\n /**\n * If the client is logged in return true\n * @returns `true` if client is logged in, otherwise `false`\n */\n isLoggedIn(): boolean {\n return !!this.ticket;\n }\n\n /**\n * return the Authentication\n * @returns authentication object\n */\n getAuthentication(): Authentication {\n return this.authentications;\n }\n}\n"]}
1
+ {"version":3,"file":"contentAuth.js","sourceRoot":"","sources":["contentAuth.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 { AuthenticationApi, TicketBody } from '../api/auth-rest-api';\nimport { AlfrescoApiClient } from '../alfrescoApiClient';\nimport { AlfrescoApiConfig } from '../alfrescoApiConfig';\nimport { Authentication } from './authentication';\nimport { Storage } from '../storage';\nimport { AlfrescoApiType } from '../to-deprecate/alfresco-api-type';\nimport { HttpClient } from '../api-clients/http-client.interface';\n\nexport class ContentAuth extends AlfrescoApiClient {\n ticketStorageLabel: string;\n ticket: string;\n\n authApi: AuthenticationApi;\n\n constructor(config: AlfrescoApiConfig, alfrescoApi: AlfrescoApiType, httpClient?: HttpClient) {\n super(undefined, httpClient);\n this.className = 'ContentAuth';\n this.storage = Storage.getInstance();\n this.storage.setDomainPrefix(config.domainPrefix);\n\n this.setConfig(config);\n\n this.authApi = new AuthenticationApi(alfrescoApi);\n }\n\n setConfig(config: AlfrescoApiConfig) {\n this.config = config;\n\n this.basePath = this.config.hostEcm + '/' + this.config.contextRoot + '/api/-default-/public/authentication/versions/1'; //Auth Call\n\n this.ticketStorageLabel = 'ticket-ECM';\n\n if (this.config.ticketEcm) {\n this.setTicket(config.ticketEcm);\n } else if (this.storage.getItem(this.ticketStorageLabel)) {\n this.setTicket(this.storage.getItem(this.ticketStorageLabel));\n }\n }\n\n changeHost() {\n this.basePath = this.config.hostEcm + '/' + this.config.contextRoot + '/api/-default-/public/authentication/versions/1'; //Auth Call\n this.ticket = undefined;\n }\n\n saveUsername(username: string) {\n if (this.storage.supportsStorage()) {\n this.storage.setItem('ACS_USERNAME', username);\n }\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<string> {\n this.authentications.basicAuth.username = username;\n this.authentications.basicAuth.password = password;\n\n const loginRequest = new TicketBody({\n userId: this.authentications.basicAuth.username,\n password: this.authentications.basicAuth.password\n });\n\n const promise: any = new Promise<string>((resolve, reject) => {\n this.authApi\n .createTicket(loginRequest)\n .then((data) => {\n this.saveUsername(username);\n this.setTicket(data.entry.id);\n promise.emit('success');\n this.emit('logged-in');\n resolve(data.entry.id);\n })\n .catch((error) => {\n this.saveUsername('');\n if (error.status === 401) {\n promise.emit('unauthorized');\n } else if (error.status === 403) {\n promise.emit('forbidden');\n } else {\n promise.emit('error');\n }\n reject(error);\n });\n });\n\n ee(promise); // jshint ignore:line\n return promise;\n }\n\n /**\n * validate the ticket present in this.config.ticket against the server\n * @returns A promise that returns if resolved and {error} if rejected.\n */\n validateTicket(): Promise<string> {\n this.setTicket(this.config.ticketEcm);\n\n const promise: any = new Promise<string>((resolve, reject) => {\n this.authApi.validateTicket().then(\n (data) => {\n this.setTicket(data.entry.id);\n promise.emit('success');\n this.emit('logged-in');\n resolve(data.entry.id);\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 * logout Alfresco API\n * @returns A promise that returns { authentication ticket} if resolved and {error} if rejected.\n */\n logout(): Promise<void> {\n this.saveUsername('');\n const promise: any = new Promise<void>((resolve, reject) => {\n this.authApi.deleteTicket().then(\n () => {\n promise.emit('logout');\n this.invalidateSession();\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 * Set the current Ticket\n */\n setTicket(ticket: string) {\n this.authentications.basicAuth.username = 'ROLE_TICKET';\n this.authentications.basicAuth.password = ticket;\n this.config.ticketEcm = ticket;\n this.storage.setItem(this.ticketStorageLabel, ticket);\n this.ticket = ticket;\n }\n\n /**\n * Get the current Ticket\n * @returns ticket value\n */\n getTicket(): string {\n return this.ticket;\n }\n\n invalidateSession() {\n this.storage.removeItem(this.ticketStorageLabel);\n this.authentications.basicAuth.username = null;\n this.authentications.basicAuth.password = null;\n this.config.ticketEcm = null;\n this.ticket = null;\n }\n\n /**\n * If the client is logged in return true\n * @returns `true` if client is logged in, otherwise `false`\n */\n isLoggedIn(): boolean {\n return !!this.ticket;\n }\n\n /**\n * return the Authentication\n * @returns authentication object\n */\n getAuthentication(): Authentication {\n return this.authentications;\n }\n}\n"]}
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import { __awaiter } from "tslib";
18
- import { EventEmitter } from 'eventemitter3';
18
+ import ee from 'event-emitter';
19
19
  import { AlfrescoApiClient } from '../alfrescoApiClient';
20
20
  import { AuthenticationApi } from '../api/auth-rest-api';
21
21
  import { Storage } from '../storage';
@@ -449,7 +449,7 @@ export class Oauth2Auth extends AlfrescoApiClient {
449
449
  this.emit('error');
450
450
  reject(error.error);
451
451
  });
452
- return this.addPromiseListeners(promise, new EventEmitter());
452
+ ee(promise);
453
453
  }
454
454
  pollingRefreshToken() {
455
455
  this.refreshTokenIntervalPolling = setInterval(() => __awaiter(this, void 0, void 0, function* () {
@@ -486,7 +486,8 @@ export class Oauth2Auth extends AlfrescoApiClient {
486
486
  reject(error.error);
487
487
  });
488
488
  });
489
- return this.addPromiseListeners(promise, new EventEmitter());
489
+ ee(promise);
490
+ return promise;
490
491
  }
491
492
  universalBtoa(stringToConvert) {
492
493
  try {