@alfresco/js-api 7.9.0-9192302350 → 7.9.0-9198470300

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 (104) hide show
  1. package/esm2015/index.js +1 -0
  2. package/esm2015/index.js.map +1 -1
  3. package/esm2015/src/alfrescoApi.js +11 -0
  4. package/esm2015/src/alfrescoApi.js.map +1 -1
  5. package/esm2015/src/alfrescoApiClient.js.map +1 -1
  6. package/esm2015/src/api/activiti-rest-api/model/formDefinitionRepresentation.js.map +1 -1
  7. package/esm2015/src/api/activiti-rest-api/model/processInstanceFilterRepresentation.js.map +1 -1
  8. package/esm2015/src/api/activiti-rest-api/model/processInstanceQueryRepresentation.js.map +1 -1
  9. package/esm2015/src/api/hxi-connector-api/api/base.api.js +23 -0
  10. package/esm2015/src/api/hxi-connector-api/api/base.api.js.map +1 -0
  11. package/esm2015/src/api/hxi-connector-api/api/index.js +18 -0
  12. package/esm2015/src/api/hxi-connector-api/api/index.js.map +1 -0
  13. package/esm2015/src/api/hxi-connector-api/api/predictions.api.js +33 -0
  14. package/esm2015/src/api/hxi-connector-api/api/predictions.api.js.map +1 -0
  15. package/esm2015/src/api/hxi-connector-api/index.js +19 -0
  16. package/esm2015/src/api/hxi-connector-api/index.js.map +1 -0
  17. package/esm2015/src/api/hxi-connector-api/model/index.js +21 -0
  18. package/esm2015/src/api/hxi-connector-api/model/index.js.map +1 -0
  19. package/esm2015/src/api/hxi-connector-api/model/prediction.js +32 -0
  20. package/esm2015/src/api/hxi-connector-api/model/prediction.js.map +1 -0
  21. package/esm2015/src/api/hxi-connector-api/model/predictionEntry.js +26 -0
  22. package/esm2015/src/api/hxi-connector-api/model/predictionEntry.js.map +1 -0
  23. package/esm2015/src/api/hxi-connector-api/model/predictionPaging.js +26 -0
  24. package/esm2015/src/api/hxi-connector-api/model/predictionPaging.js.map +1 -0
  25. package/esm2015/src/api/hxi-connector-api/model/predictionPagingList.js +30 -0
  26. package/esm2015/src/api/hxi-connector-api/model/predictionPagingList.js.map +1 -0
  27. package/esm2015/src/to-deprecate/alfresco-api-type.js.map +1 -1
  28. package/esm2015/types.js +18 -0
  29. package/esm2015/types.js.map +1 -0
  30. package/esm5/index.js +1 -0
  31. package/esm5/index.js.map +1 -1
  32. package/esm5/src/alfrescoApi.js +11 -0
  33. package/esm5/src/alfrescoApi.js.map +1 -1
  34. package/esm5/src/alfrescoApiClient.js.map +1 -1
  35. package/esm5/src/api/activiti-rest-api/model/formDefinitionRepresentation.js.map +1 -1
  36. package/esm5/src/api/activiti-rest-api/model/processInstanceFilterRepresentation.js.map +1 -1
  37. package/esm5/src/api/activiti-rest-api/model/processInstanceQueryRepresentation.js.map +1 -1
  38. package/esm5/src/api/hxi-connector-api/api/base.api.js +23 -0
  39. package/esm5/src/api/hxi-connector-api/api/base.api.js.map +1 -0
  40. package/esm5/src/api/hxi-connector-api/api/index.js +18 -0
  41. package/esm5/src/api/hxi-connector-api/api/index.js.map +1 -0
  42. package/esm5/src/api/hxi-connector-api/api/predictions.api.js +33 -0
  43. package/esm5/src/api/hxi-connector-api/api/predictions.api.js.map +1 -0
  44. package/esm5/src/api/hxi-connector-api/index.js +19 -0
  45. package/esm5/src/api/hxi-connector-api/index.js.map +1 -0
  46. package/esm5/src/api/hxi-connector-api/model/index.js +21 -0
  47. package/esm5/src/api/hxi-connector-api/model/index.js.map +1 -0
  48. package/esm5/src/api/hxi-connector-api/model/prediction.js +32 -0
  49. package/esm5/src/api/hxi-connector-api/model/prediction.js.map +1 -0
  50. package/esm5/src/api/hxi-connector-api/model/predictionEntry.js +26 -0
  51. package/esm5/src/api/hxi-connector-api/model/predictionEntry.js.map +1 -0
  52. package/esm5/src/api/hxi-connector-api/model/predictionPaging.js +26 -0
  53. package/esm5/src/api/hxi-connector-api/model/predictionPaging.js.map +1 -0
  54. package/esm5/src/api/hxi-connector-api/model/predictionPagingList.js +30 -0
  55. package/esm5/src/api/hxi-connector-api/model/predictionPagingList.js.map +1 -0
  56. package/esm5/src/to-deprecate/alfresco-api-type.js.map +1 -1
  57. package/esm5/types.js +18 -0
  58. package/esm5/types.js.map +1 -0
  59. package/index.js +1 -0
  60. package/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/src/alfrescoApi.js +11 -0
  63. package/src/alfrescoApi.js.map +1 -1
  64. package/src/alfrescoApiClient.js.map +1 -1
  65. package/src/api/activiti-rest-api/model/formDefinitionRepresentation.js.map +1 -1
  66. package/src/api/activiti-rest-api/model/processInstanceFilterRepresentation.js.map +1 -1
  67. package/src/api/activiti-rest-api/model/processInstanceQueryRepresentation.js.map +1 -1
  68. package/src/api/hxi-connector-api/api/base.api.js +27 -0
  69. package/src/api/hxi-connector-api/api/base.api.js.map +1 -0
  70. package/src/api/hxi-connector-api/api/index.js +21 -0
  71. package/src/api/hxi-connector-api/api/index.js.map +1 -0
  72. package/src/api/hxi-connector-api/api/predictions.api.js +37 -0
  73. package/src/api/hxi-connector-api/api/predictions.api.js.map +1 -0
  74. package/src/api/hxi-connector-api/index.js +22 -0
  75. package/src/api/hxi-connector-api/index.js.map +1 -0
  76. package/src/api/hxi-connector-api/model/index.js +24 -0
  77. package/src/api/hxi-connector-api/model/index.js.map +1 -0
  78. package/src/api/hxi-connector-api/model/prediction.js +36 -0
  79. package/src/api/hxi-connector-api/model/prediction.js.map +1 -0
  80. package/src/api/hxi-connector-api/model/predictionEntry.js +30 -0
  81. package/src/api/hxi-connector-api/model/predictionEntry.js.map +1 -0
  82. package/src/api/hxi-connector-api/model/predictionPaging.js +30 -0
  83. package/src/api/hxi-connector-api/model/predictionPaging.js.map +1 -0
  84. package/src/api/hxi-connector-api/model/predictionPagingList.js +34 -0
  85. package/src/api/hxi-connector-api/model/predictionPagingList.js.map +1 -0
  86. package/src/to-deprecate/alfresco-api-type.js.map +1 -1
  87. package/types.js +19 -0
  88. package/types.js.map +1 -0
  89. package/typings/index.d.ts +1 -0
  90. package/typings/src/alfrescoApi.d.ts +1 -0
  91. package/typings/src/api/activiti-rest-api/model/formDefinitionRepresentation.d.ts +2 -0
  92. package/typings/src/api/activiti-rest-api/model/processInstanceFilterRepresentation.d.ts +1 -0
  93. package/typings/src/api/activiti-rest-api/model/processInstanceQueryRepresentation.d.ts +5 -2
  94. package/typings/src/api/hxi-connector-api/api/base.api.d.ts +21 -0
  95. package/typings/src/api/hxi-connector-api/api/index.d.ts +17 -0
  96. package/typings/src/api/hxi-connector-api/api/predictions.api.d.ts +27 -0
  97. package/typings/src/api/hxi-connector-api/index.d.ts +18 -0
  98. package/typings/src/api/hxi-connector-api/model/index.d.ts +20 -0
  99. package/typings/src/api/hxi-connector-api/model/prediction.d.ts +34 -0
  100. package/typings/src/api/hxi-connector-api/model/predictionEntry.d.ts +21 -0
  101. package/typings/src/api/hxi-connector-api/model/predictionPaging.d.ts +21 -0
  102. package/typings/src/api/hxi-connector-api/model/predictionPagingList.d.ts +23 -0
  103. package/typings/src/to-deprecate/alfresco-api-type.d.ts +1 -0
  104. package/typings/types.d.ts +17 -0
package/esm2015/index.js CHANGED
@@ -23,6 +23,7 @@ export * from './src/api/auth-rest-api/index';
23
23
  export * from './src/api/activiti-rest-api/index';
24
24
  export * from './src/api/search-rest-api/index';
25
25
  export * from './src/api/model-rest-api/index';
26
+ export * from './src/api/hxi-connector-api/index';
26
27
  export * from './src/api/content-custom-api/api/content.api';
27
28
  export * from './src/authentication/contentAuth';
28
29
  export * from './src/authentication/processAuth';
@@ -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;AAE/C,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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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';\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';\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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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';\n"]}
@@ -128,6 +128,12 @@ export class AlfrescoApi {
128
128
  else {
129
129
  this.processClient.setConfig(this.config);
130
130
  }
131
+ if (!this.hxiConnectorClient) {
132
+ this.hxiConnectorClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`, this.httpClient);
133
+ }
134
+ else {
135
+ this.hxiConnectorClient.setConfig(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`);
136
+ }
131
137
  }
132
138
  errorListeners() {
133
139
  this.contentClient.off('error', () => { });
@@ -137,6 +143,7 @@ export class AlfrescoApi {
137
143
  this.searchClient.off('error', () => { });
138
144
  this.discoveryClient.off('error', () => { });
139
145
  this.gsClient.off('error', () => { });
146
+ this.hxiConnectorClient.off('error', () => { });
140
147
  this.contentClient.on('error', (error) => {
141
148
  this.errorHandler(error);
142
149
  });
@@ -158,6 +165,9 @@ export class AlfrescoApi {
158
165
  this.gsClient.on('error', (error) => {
159
166
  this.errorHandler(error);
160
167
  });
168
+ this.hxiConnectorClient.on('error', (error) => {
169
+ this.errorHandler(error);
170
+ });
161
171
  }
162
172
  errorHandler(error) {
163
173
  if (this.config.oauthInit && error.status === 401) {
@@ -247,6 +257,7 @@ export class AlfrescoApi {
247
257
  this.searchClient.setAuthentications(authECM);
248
258
  this.discoveryClient.setAuthentications(authECM);
249
259
  this.gsClient.setAuthentications(authECM);
260
+ this.hxiConnectorClient.setAuthentications(authECM);
250
261
  }
251
262
  loginTicket(ticketEcm, ticketBpm) {
252
263
  this.config.ticketEcm = ticketEcm;
@@ -1 +1 @@
1
- {"version":3,"file":"alfrescoApi.js","sourceRoot":"","sources":["alfrescoApi.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 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(config?: AlfrescoApiConfig, public httpClient?: HttpClient) {\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.config = new AlfrescoApiConfig(config);\n\n this.clientsFactory();\n\n this.errorListeners();\n if (this.config.oauthInit) {\n this.initAuth(config);\n\n if (this.isLoggedIn()) {\n this.emitBuffer('logged-in');\n }\n }\n\n return config;\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 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.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\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\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\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 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 *\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 }\n\n /**\n * login Tickets\n *\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 () => (this.config.ticket = undefined),\n () => {}\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 *\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-2024 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(config?: AlfrescoApiConfig, public httpClient?: HttpClient) {\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.config = new AlfrescoApiConfig(config);\n\n this.clientsFactory();\n\n this.errorListeners();\n if (this.config.oauthInit) {\n this.initAuth(config);\n\n if (this.isLoggedIn()) {\n this.emitBuffer('logged-in');\n }\n }\n\n return config;\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 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.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 /**@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 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 *\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 *\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 () => (this.config.ticket = undefined),\n () => {}\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 *\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 +1 @@
1
- {"version":3,"file":"alfrescoApiClient.js","sourceRoot":"","sources":["alfrescoApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 *\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\n const ticketParam = this.isWithCredentials() ? '&ticket=' : '&alf_ticket=';\n\n if (ticket) {\n return ticketParam + ticket;\n } else if (this.config.ticketEcm) {\n return ticketParam + this.config.ticketEcm;\n } else if (this.storage.getItem('ticket-ECM')) {\n return ticketParam + this.storage.getItem('ticket-ECM');\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 *\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 *\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-2024 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 *\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 if (this.config.ticketEcm) {\n return ticketParam + this.config.ticketEcm;\n } else if (this.storage.getItem('ticket-ECM')) {\n return ticketParam + this.storage.getItem('ticket-ECM');\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 *\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 *\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":"formDefinitionRepresentation.js","sourceRoot":"","sources":["formDefinitionRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { FieldValueInfo } from './fieldValueInfo';\nimport { FormFieldRepresentation } from './formFieldRepresentation';\nimport { FormJavascriptEventRepresentation } from './formJavascriptEventRepresentation';\nimport { FormOutcomeRepresentation } from './formOutcomeRepresentation';\nimport { FormTabRepresentation } from './formTabRepresentation';\nimport { FormVariableRepresentation } from './formVariableRepresentation';\n\nexport interface FormDefinitionRepresentation {\n className?: string;\n customFieldTemplates?: { [key: string]: string };\n customFieldsValueInfo?: { [key: string]: FieldValueInfo };\n fields?: FormFieldRepresentation[];\n globalDateFormat?: string;\n gridsterForm?: boolean;\n id?: number;\n javascriptEvents?: FormJavascriptEventRepresentation[];\n metadata?: { [key: string]: string };\n name?: string;\n outcomeTarget?: string;\n outcomes?: FormOutcomeRepresentation[];\n processDefinitionId?: string;\n processDefinitionKey?: string;\n processDefinitionName?: string;\n selectedOutcome?: string;\n style?: string;\n tabs?: FormTabRepresentation[];\n taskDefinitionKey?: string;\n taskId?: string;\n taskName?: string;\n variables?: FormVariableRepresentation[];\n}\n"]}
1
+ {"version":3,"file":"formDefinitionRepresentation.js","sourceRoot":"","sources":["formDefinitionRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { FieldValueInfo } from './fieldValueInfo';\nimport { FormFieldRepresentation } from './formFieldRepresentation';\nimport { FormJavascriptEventRepresentation } from './formJavascriptEventRepresentation';\nimport { FormOutcomeRepresentation } from './formOutcomeRepresentation';\nimport { FormTabRepresentation } from './formTabRepresentation';\nimport { FormVariableRepresentation } from './formVariableRepresentation';\nimport { RestVariable } from './restVariable';\n\nexport interface FormDefinitionRepresentation {\n className?: string;\n customFieldTemplates?: { [key: string]: string };\n customFieldsValueInfo?: { [key: string]: FieldValueInfo };\n fields?: FormFieldRepresentation[];\n globalDateFormat?: string;\n gridsterForm?: boolean;\n id?: number;\n javascriptEvents?: FormJavascriptEventRepresentation[];\n metadata?: { [key: string]: string };\n name?: string;\n outcomeTarget?: string;\n outcomes?: FormOutcomeRepresentation[];\n processDefinitionId?: string;\n processDefinitionKey?: string;\n processDefinitionName?: string;\n selectedOutcome?: string;\n style?: string;\n tabs?: FormTabRepresentation[];\n taskDefinitionKey?: string;\n taskId?: string;\n taskName?: string;\n variables?: FormVariableRepresentation[];\n processVariables?: RestVariable[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"processInstanceFilterRepresentation.js","sourceRoot":"","sources":["processInstanceFilterRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 interface ProcessInstanceFilterRepresentation {\n asc?: boolean;\n name?: string;\n processDefinitionId?: string;\n processDefinitionKey?: string;\n sort?: string;\n state?: string;\n}\n"]}
1
+ {"version":3,"file":"processInstanceFilterRepresentation.js","sourceRoot":"","sources":["processInstanceFilterRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 interface ProcessInstanceFilterRepresentation {\n asc?: boolean;\n name?: string;\n processDefinitionId?: string;\n processDefinitionKey?: string;\n sort?: string;\n state?: string;\n assignment?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"processInstanceQueryRepresentation.js","sourceRoot":"","sources":["processInstanceQueryRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 interface ProcessInstanceQueryRepresentation {\n appDefinitionId?: number;\n page?: number;\n processDefinitionId?: string;\n processInstanceId?: string;\n size?: number;\n sort?: 'created-desc' | 'created-asc' | 'ended-desc' | 'ended-asc';\n start?: number;\n state?: 'running' | 'completed' | 'all';\n}\n"]}
1
+ {"version":3,"file":"processInstanceQueryRepresentation.js","sourceRoot":"","sources":["processInstanceQueryRepresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { Union } from '../../../../types';\n\nexport interface ProcessInstanceQueryRepresentation {\n appDefinitionId?: number;\n page?: number;\n processDefinitionId?: string;\n processInstanceId?: string;\n size?: number;\n sort?: ProcessInstanceQueryRepresentationSort;\n start?: number;\n state?: ProcessInstanceQueryRepresentationState;\n}\n\nexport type ProcessInstanceQueryRepresentationSort = Union<string, 'created-desc' | 'created-asc' | 'ended-desc' | 'ended-asc'>;\nexport type ProcessInstanceQueryRepresentationState = Union<string, 'running' | 'completed' | 'all' | 'open'>;\n"]}
@@ -0,0 +1,23 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { ApiClient } from '../../../api-clients/api-client';
18
+ export class BaseApi extends ApiClient {
19
+ get apiClient() {
20
+ return this.alfrescoApi.hxiConnectorClient;
21
+ }
22
+ }
23
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/api/base.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.api.js","sourceRoot":"","sources":["base.api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,MAAM,OAAgB,OAAQ,SAAQ,SAAS;IAC3C,IAAa,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAC/C,CAAC;CACJ","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { ApiClient } from '../../../api-clients/api-client';\nimport { LegacyHttpClient } from '../../../api-clients/http-client.interface';\n\nexport abstract class BaseApi extends ApiClient {\n override get apiClient(): LegacyHttpClient {\n return this.alfrescoApi.hxiConnectorClient;\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './predictions.api';
18
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/api/index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,mBAAmB,CAAC","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 './predictions.api';\n"]}
@@ -0,0 +1,33 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { BaseApi } from './base.api';
18
+ import { throwIfNotDefined } from '../../../assert';
19
+ import { PredictionPaging } from '../model';
20
+ export class PredictionsApi extends BaseApi {
21
+ getPredictions(nodeId) {
22
+ throwIfNotDefined(nodeId, 'nodeId');
23
+ const pathParams = {
24
+ nodeId
25
+ };
26
+ return this.get({
27
+ path: '/nodes/{nodeId}/predictions',
28
+ pathParams,
29
+ returnType: PredictionPaging
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/api/predictions.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predictions.api.js","sourceRoot":"","sources":["predictions.api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,OAAO,cAAe,SAAQ,OAAO;IAOvC,cAAc,CAAC,MAAc;QACzB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG;YACf,MAAM;SACT,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,6BAA6B;YACnC,UAAU;YACV,UAAU,EAAE,gBAAgB;SAC/B,CAAC,CAAC;IACP,CAAC;CACJ","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { BaseApi } from './base.api';\nimport { throwIfNotDefined } from '../../../assert';\nimport { PredictionPaging } from '../model';\n\nexport class PredictionsApi extends BaseApi {\n /**\n * List of predictions for a node\n *\n * @param nodeId The identifier of a node.\n * @returns Promise<PredictionPaging>\n */\n getPredictions(nodeId: string): Promise<PredictionPaging> {\n throwIfNotDefined(nodeId, 'nodeId');\n\n const pathParams = {\n nodeId\n };\n\n return this.get({\n path: '/nodes/{nodeId}/predictions',\n pathParams,\n returnType: PredictionPaging\n });\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './api';
18
+ export * from './model';
19
+ //# sourceMappingURL=../../../../../../../lib/js-api/src/api/hxi-connector-api/index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 './api';\nexport * from './model';\n"]}
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './prediction';
18
+ export * from './predictionEntry';
19
+ export * from './predictionPaging';
20
+ export * from './predictionPagingList';
21
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/model/index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 './prediction';\nexport * from './predictionEntry';\nexport * from './predictionPaging';\nexport * from './predictionPagingList';\n"]}
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { DateAlfresco } from '../../content-custom-api';
18
+ export class Prediction {
19
+ constructor(input) {
20
+ if (input) {
21
+ Object.assign(this, input);
22
+ this.predictionDateTime = input.predictionDateTime ? DateAlfresco.parseDate(input.predictionDateTime) : undefined;
23
+ }
24
+ }
25
+ }
26
+ export var ReviewStatus;
27
+ (function (ReviewStatus) {
28
+ ReviewStatus["UNREVIEWED"] = "UNREVIEWED";
29
+ ReviewStatus["CONFIRMED"] = "CONFIRMED";
30
+ ReviewStatus["REJECTED"] = "REJECTED";
31
+ })(ReviewStatus || (ReviewStatus = {}));
32
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/model/prediction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prediction.js","sourceRoot":"","sources":["prediction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,OAAO,UAAU;IAWnB,YAAY,KAA2B;QACnC,IAAI,KAAK,EAAE;YACP,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACrH;IACL,CAAC;CACJ;AAID,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { DateAlfresco } from '../../content-custom-api';\n\nexport class Prediction {\n id: string;\n modelId: string;\n confidenceLevel: number;\n predictionDateTime: Date;\n property: string;\n previousValue: any;\n predictionValue: any;\n updateType: UpdateType;\n reviewStatus: ReviewStatus;\n\n constructor(input?: Partial<Prediction>) {\n if (input) {\n Object.assign(this, input);\n this.predictionDateTime = input.predictionDateTime ? DateAlfresco.parseDate(input.predictionDateTime) : undefined;\n }\n }\n}\n\nexport type UpdateType = 'AUTOFILL' | 'AUTOCORRECT';\n\nexport enum ReviewStatus {\n UNREVIEWED = 'UNREVIEWED',\n CONFIRMED = 'CONFIRMED',\n REJECTED = 'REJECTED'\n}\n"]}
@@ -0,0 +1,26 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Prediction } from './prediction';
18
+ export class PredictionEntry {
19
+ constructor(input) {
20
+ if (input) {
21
+ Object.assign(this, input);
22
+ this.entry = input.entry ? new Prediction(input.entry) : undefined;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=../../../../../../../../lib/js-api/src/api/hxi-connector-api/model/predictionEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predictionEntry.js","sourceRoot":"","sources":["predictionEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,eAAe;IAGxB,YAAY,KAAgC;QACxC,IAAI,KAAK,EAAE;YACP,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACtE;IACL,CAAC;CACJ","sourcesContent":["/*!\n * @license\n * Copyright © 2005-2024 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 { Prediction } from './prediction';\n\nexport class PredictionEntry {\n entry: Prediction;\n\n constructor(input?: Partial<PredictionEntry>) {\n if (input) {\n Object.assign(this, input);\n this.entry = input.entry ? new Prediction(input.entry) : undefined;\n }\n }\n}\n"]}