@microsoft/omnichannel-chat-sdk 1.9.7-main.9019907 → 1.9.7

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 (200) hide show
  1. package/lib/OmnichannelChatSDK.d.ts +128 -128
  2. package/lib/OmnichannelChatSDK.js +2610 -2609
  3. package/lib/OmnichannelChatSDK.js.map +1 -1
  4. package/lib/api/createVoiceVideoCalling.d.ts +53 -53
  5. package/lib/api/createVoiceVideoCalling.js +462 -462
  6. package/lib/config/ocSDKConfiguration.d.ts +7 -7
  7. package/lib/config/ocSDKConfiguration.js +9 -9
  8. package/lib/config/settings.d.ts +7 -6
  9. package/lib/config/settings.js +15 -13
  10. package/lib/config/settings.js.map +1 -1
  11. package/lib/core/AuthSettings.d.ts +5 -5
  12. package/lib/core/AuthSettings.js +2 -2
  13. package/lib/core/AxiosErrorCodes.d.ts +4 -4
  14. package/lib/core/AxiosErrorCodes.js +7 -7
  15. package/lib/core/CallingOptionsOptionSetNumber.d.ts +6 -6
  16. package/lib/core/CallingOptionsOptionSetNumber.js +9 -9
  17. package/lib/core/ChatConfig.d.ts +10 -10
  18. package/lib/core/ChatConfig.js +2 -2
  19. package/lib/core/ChatReconnectContext.d.ts +4 -4
  20. package/lib/core/ChatReconnectContext.js +2 -2
  21. package/lib/core/ChatReconnectOptionalParams.d.ts +3 -3
  22. package/lib/core/ChatReconnectOptionalParams.js +2 -2
  23. package/lib/core/ChatSDKConfig.d.ts +38 -38
  24. package/lib/core/ChatSDKConfig.js +2 -2
  25. package/lib/core/ChatSDKError.d.ts +64 -64
  26. package/lib/core/ChatSDKError.js +73 -73
  27. package/lib/core/ChatSDKExceptionDetails.d.ts +13 -13
  28. package/lib/core/ChatSDKExceptionDetails.js +2 -2
  29. package/lib/core/ChatTranscriptBody.d.ts +5 -5
  30. package/lib/core/ChatTranscriptBody.js +2 -2
  31. package/lib/core/ConversationMode.d.ts +5 -5
  32. package/lib/core/ConversationMode.js +8 -8
  33. package/lib/core/EmailLiveChatTranscriptOptionalParams.d.ts +4 -4
  34. package/lib/core/EmailLiveChatTranscriptOptionalParams.js +2 -2
  35. package/lib/core/GetAgentAvailabilityOptionalParams.d.ts +13 -13
  36. package/lib/core/GetAgentAvailabilityOptionalParams.js +2 -2
  37. package/lib/core/GetChatTokenOptionalParams.d.ts +3 -3
  38. package/lib/core/GetChatTokenOptionalParams.js +2 -2
  39. package/lib/core/GetConversationDetailsOptionalParams.d.ts +4 -4
  40. package/lib/core/GetConversationDetailsOptionalParams.js +2 -2
  41. package/lib/core/GetLiveChatConfigOptionalParams.d.ts +5 -5
  42. package/lib/core/GetLiveChatConfigOptionalParams.js +2 -2
  43. package/lib/core/GetLiveChatTranscriptOptionalParams.d.ts +4 -4
  44. package/lib/core/GetLiveChatTranscriptOptionalParams.js +2 -2
  45. package/lib/core/InitializeOptionalParams.d.ts +6 -6
  46. package/lib/core/InitializeOptionalParams.js +2 -2
  47. package/lib/core/LiveChatContext.d.ts +14 -14
  48. package/lib/core/LiveChatContext.js +2 -2
  49. package/lib/core/LiveChatVersion.d.ts +5 -5
  50. package/lib/core/LiveChatVersion.js +8 -8
  51. package/lib/core/LiveWorkItemDetails.d.ts +8 -8
  52. package/lib/core/LiveWorkItemDetails.js +2 -2
  53. package/lib/core/LiveWorkItemState.d.ts +8 -8
  54. package/lib/core/LiveWorkItemState.js +11 -11
  55. package/lib/core/OmnichannelConfig.d.ts +5 -5
  56. package/lib/core/OmnichannelConfig.js +2 -2
  57. package/lib/core/OmnichannelErrorCodes.d.ts +4 -4
  58. package/lib/core/OmnichannelErrorCodes.js +7 -7
  59. package/lib/core/PostChatContext.d.ts +8 -8
  60. package/lib/core/PostChatContext.js +2 -2
  61. package/lib/core/SetAuthTokenProviderOptionalParams.d.ts +3 -3
  62. package/lib/core/SetAuthTokenProviderOptionalParams.js +2 -2
  63. package/lib/core/StartChatOptionalParams.d.ts +18 -18
  64. package/lib/core/StartChatOptionalParams.js +2 -2
  65. package/lib/core/messaging/ACSChatMessageType.d.ts +7 -7
  66. package/lib/core/messaging/ACSChatMessageType.js +10 -10
  67. package/lib/core/messaging/ACSClient.d.ts +45 -45
  68. package/lib/core/messaging/ACSClient.js +612 -612
  69. package/lib/core/messaging/ACSClientConfig.d.ts +5 -5
  70. package/lib/core/messaging/ACSClientConfig.js +2 -2
  71. package/lib/core/messaging/ACSParticipantDisplayName.d.ts +6 -6
  72. package/lib/core/messaging/ACSParticipantDisplayName.js +9 -9
  73. package/lib/core/messaging/ACSSessionInfo.d.ts +5 -5
  74. package/lib/core/messaging/ACSSessionInfo.js +2 -2
  75. package/lib/core/messaging/ChatAdapterConfig.d.ts +8 -8
  76. package/lib/core/messaging/ChatAdapterConfig.js +2 -2
  77. package/lib/core/messaging/ChatAdapterOptionalParams.d.ts +24 -24
  78. package/lib/core/messaging/ChatAdapterOptionalParams.js +2 -2
  79. package/lib/core/messaging/ChatAdapterProtocols.d.ts +6 -6
  80. package/lib/core/messaging/ChatAdapterProtocols.js +10 -10
  81. package/lib/core/messaging/ChatSDKMessage.d.ts +6 -6
  82. package/lib/core/messaging/ChatSDKMessage.js +2 -2
  83. package/lib/core/messaging/IC3Config.d.ts +4 -4
  84. package/lib/core/messaging/IC3Config.js +2 -2
  85. package/lib/core/messaging/MessageTags.d.ts +3 -3
  86. package/lib/core/messaging/MessageTags.js +6 -6
  87. package/lib/core/messaging/OmnichannelMessage.d.ts +64 -64
  88. package/lib/core/messaging/OmnichannelMessage.js +51 -51
  89. package/lib/core/messaging/OnNewMessageOptionalParams.d.ts +3 -3
  90. package/lib/core/messaging/OnNewMessageOptionalParams.js +2 -2
  91. package/lib/external/ACSAdapter/AMSFileManager.d.ts +76 -76
  92. package/lib/external/ACSAdapter/AMSFileManager.js +394 -394
  93. package/lib/external/ACSAdapter/AMSFileScanner.d.ts +36 -36
  94. package/lib/external/ACSAdapter/AMSFileScanner.js +275 -275
  95. package/lib/external/ACSAdapter/activityUtils.d.ts +9 -9
  96. package/lib/external/ACSAdapter/activityUtils.js +79 -79
  97. package/lib/external/ACSAdapter/createChannelDataEgressMiddleware.d.ts +5 -5
  98. package/lib/external/ACSAdapter/createChannelDataEgressMiddleware.js +33 -33
  99. package/lib/external/ACSAdapter/createFileScanIngressMiddleware.d.ts +2 -2
  100. package/lib/external/ACSAdapter/createFileScanIngressMiddleware.js +95 -95
  101. package/lib/external/ACSAdapter/createFormatEgressTagsMiddleware.d.ts +2 -2
  102. package/lib/external/ACSAdapter/createFormatEgressTagsMiddleware.js +30 -30
  103. package/lib/external/ACSAdapter/createFormatIngressTagsMiddleware.d.ts +2 -2
  104. package/lib/external/ACSAdapter/createFormatIngressTagsMiddleware.js +24 -24
  105. package/lib/external/CallingSDK/ICallingSDKLogData.d.ts +7 -7
  106. package/lib/external/CallingSDK/ICallingSDKLogData.js +2 -2
  107. package/lib/external/IC3Adapter/IChatToken.d.ts +11 -11
  108. package/lib/external/IC3Adapter/IChatToken.js +3 -3
  109. package/lib/external/IC3Adapter/IIC3AdapterOptions.d.ts +22 -22
  110. package/lib/external/IC3Adapter/IIC3AdapterOptions.js +2 -2
  111. package/lib/external/IC3Adapter/INotification.d.ts +6 -6
  112. package/lib/external/IC3Adapter/INotification.js +2 -2
  113. package/lib/external/IC3Adapter/Notification.d.ts +7 -7
  114. package/lib/external/IC3Adapter/Notification.js +14 -14
  115. package/lib/external/IC3Client/IIC3SDKLogData.d.ts +9 -9
  116. package/lib/external/IC3Client/IIC3SDKLogData.js +2 -2
  117. package/lib/external/OCSDK/IOCSDKLogData.d.ts +14 -14
  118. package/lib/external/OCSDK/IOCSDKLogData.js +2 -2
  119. package/lib/index.d.ts +25 -25
  120. package/lib/index.js +34 -34
  121. package/lib/telemetry/AriaTelemetry.d.ts +40 -40
  122. package/lib/telemetry/AriaTelemetry.js +539 -539
  123. package/lib/telemetry/EUDomainNames.d.ts +2 -2
  124. package/lib/telemetry/EUDomainNames.js +16 -16
  125. package/lib/telemetry/EventMarker.d.ts +3 -3
  126. package/lib/telemetry/EventMarker.js +12 -12
  127. package/lib/telemetry/GCCDomainPatterns.d.ts +2 -2
  128. package/lib/telemetry/GCCDomainPatterns.js +7 -7
  129. package/lib/telemetry/LogLevel.d.ts +8 -8
  130. package/lib/telemetry/LogLevel.js +11 -11
  131. package/lib/telemetry/ScenarioMarker.d.ts +21 -21
  132. package/lib/telemetry/ScenarioMarker.js +82 -82
  133. package/lib/telemetry/ScenarioType.d.ts +11 -11
  134. package/lib/telemetry/ScenarioType.js +14 -14
  135. package/lib/telemetry/StopWatch.d.ts +6 -6
  136. package/lib/telemetry/StopWatch.js +14 -14
  137. package/lib/telemetry/TelemetryEvent.d.ts +46 -46
  138. package/lib/telemetry/TelemetryEvent.js +49 -49
  139. package/lib/telemetry/retrieveCollectorUri.d.ts +2 -2
  140. package/lib/telemetry/retrieveCollectorUri.js +25 -25
  141. package/lib/tsconfig.tsbuildinfo +1917 -1968
  142. package/lib/utils/AMSClientLoadStates.d.ts +6 -6
  143. package/lib/utils/AMSClientLoadStates.js +11 -11
  144. package/lib/utils/CoreServicesUtils.d.ts +7 -7
  145. package/lib/utils/CoreServicesUtils.js +39 -39
  146. package/lib/utils/WebUtils.d.ts +10 -10
  147. package/lib/utils/WebUtils.js +128 -128
  148. package/lib/utils/chatAdapterCreators.d.ts +20 -20
  149. package/lib/utils/chatAdapterCreators.js +208 -208
  150. package/lib/utils/createOcSDKConfiguration.d.ts +4 -4
  151. package/lib/utils/createOcSDKConfiguration.js +22 -22
  152. package/lib/utils/createOmnichannelMessage.d.ts +11 -11
  153. package/lib/utils/createOmnichannelMessage.js +77 -77
  154. package/lib/utils/createTelemetry.d.ts +3 -3
  155. package/lib/utils/createTelemetry.js +9 -9
  156. package/lib/utils/exceptionSuppressors.d.ts +29 -29
  157. package/lib/utils/exceptionSuppressors.js +49 -49
  158. package/lib/utils/exceptionThrowers.d.ts +119 -119
  159. package/lib/utils/exceptionThrowers.js +137 -137
  160. package/lib/utils/internalUtils.d.ts +4 -4
  161. package/lib/utils/internalUtils.js +16 -16
  162. package/lib/utils/libraries.d.ts +12 -12
  163. package/lib/utils/libraries.js +34 -34
  164. package/lib/utils/locale.d.ts +4 -4
  165. package/lib/utils/locale.js +60 -60
  166. package/lib/utils/location.d.ts +7 -7
  167. package/lib/utils/location.js +95 -95
  168. package/lib/utils/loggerUtils.d.ts +15 -15
  169. package/lib/utils/loggerUtils.js +55 -55
  170. package/lib/utils/loggers.d.ts +111 -111
  171. package/lib/utils/loggers.js +501 -501
  172. package/lib/utils/parsers.d.ts +6 -6
  173. package/lib/utils/parsers.js +10 -10
  174. package/lib/utils/platform.d.ts +9 -9
  175. package/lib/utils/platform.js +11 -11
  176. package/lib/utils/setOcUserAgent.d.ts +2 -2
  177. package/lib/utils/setOcUserAgent.js +21 -21
  178. package/lib/utils/sleep.d.ts +2 -2
  179. package/lib/utils/sleep.js +4 -4
  180. package/lib/utils/urlResolvers.d.ts +10 -10
  181. package/lib/utils/urlResolvers.js +64 -64
  182. package/lib/utils/utilities.d.ts +5 -5
  183. package/lib/utils/utilities.js +36 -36
  184. package/lib/validators/OmnichannelConfigValidator.d.ts +3 -3
  185. package/lib/validators/OmnichannelConfigValidator.js +28 -28
  186. package/lib/validators/SDKConfigValidators.d.ts +5 -5
  187. package/lib/validators/SDKConfigValidators.js +48 -48
  188. package/package.json +1 -1
  189. package/lib/utils/fillMobilePlatformData.d.ts +0 -2
  190. package/lib/utils/fillMobilePlatformData.js +0 -44
  191. package/lib/utils/fillMobilePlatformData.js.map +0 -1
  192. package/lib/utils/fillPlatformData.browser.d.ts +0 -2
  193. package/lib/utils/fillPlatformData.browser.js +0 -8
  194. package/lib/utils/fillPlatformData.browser.js.map +0 -1
  195. package/lib/utils/fillPlatformData.d.ts +0 -2
  196. package/lib/utils/fillPlatformData.js +0 -8
  197. package/lib/utils/fillPlatformData.js.map +0 -1
  198. package/lib/utils/fillWebPlatformData.d.ts +0 -2
  199. package/lib/utils/fillWebPlatformData.js +0 -21
  200. package/lib/utils/fillWebPlatformData.js.map +0 -1
@@ -1,395 +1,395 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.AMSViewScanStatus = void 0;
51
- var AMSFileScanner_1 = require("./AMSFileScanner");
52
- var FilePermission;
53
- (function (FilePermission) {
54
- FilePermission[FilePermission["READ"] = 0] = "READ";
55
- FilePermission[FilePermission["WRITE"] = 1] = "WRITE";
56
- })(FilePermission || (FilePermission = {}));
57
- var AMSFileManagerEvent;
58
- (function (AMSFileManagerEvent) {
59
- AMSFileManagerEvent["AMSUpload"] = "AMSUpload";
60
- AMSFileManagerEvent["AMSDownload"] = "AMSDownload";
61
- AMSFileManagerEvent["GetFileIds"] = "GetFileIds";
62
- AMSFileManagerEvent["CreateFileIdProperty"] = "CreateFileIdProperty";
63
- AMSFileManagerEvent["GetFileMetadata"] = "GetFileMetadata";
64
- AMSFileManagerEvent["CreateFileMetadataProperty"] = "CreateFileMetadataProperty";
65
- })(AMSFileManagerEvent || (AMSFileManagerEvent = {}));
66
- var AMSViewScanStatus;
67
- (function (AMSViewScanStatus) {
68
- AMSViewScanStatus["PASSED"] = "passed";
69
- AMSViewScanStatus["MALWARE"] = "malware";
70
- AMSViewScanStatus["INPROGRESS"] = "in progress";
71
- })(AMSViewScanStatus = exports.AMSViewScanStatus || (exports.AMSViewScanStatus = {}));
72
- var supportedImagesMimeTypes = ["image/jpeg", "image/png", "image/gif", "image/heic", "image/webp"];
73
- var AMSFileManager = /** @class */ (function () {
74
- function AMSFileManager(amsClient, logger, options) {
75
- if (logger === void 0) { logger = null; }
76
- if (options === void 0) { options = {}; }
77
- var _a;
78
- this.supportedImagesMimeTypes = supportedImagesMimeTypes;
79
- this.logger = logger;
80
- this.amsClient = amsClient;
81
- this.options = options;
82
- this.omnichannelChatToken = null;
83
- if (((_a = this.options.fileScan) === null || _a === void 0 ? void 0 : _a.disabled) === false) {
84
- var options_1 = __assign({}, this.options.fileScan);
85
- this.fileScanner = new AMSFileScanner_1.default(this.amsClient, options_1);
86
- }
87
- }
88
- AMSFileManager.prototype.uploadFiles = function (files) {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var _this = this;
91
- return __generator(this, function (_a) {
92
- return [2 /*return*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
93
- return [2 /*return*/, this.uploadFileToAMS(file)];
94
- }); }); }))];
95
- });
96
- });
97
- };
98
- AMSFileManager.prototype.downloadFiles = function (files) {
99
- return __awaiter(this, void 0, void 0, function () {
100
- var _this = this;
101
- return __generator(this, function (_a) {
102
- return [2 /*return*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
103
- return [2 /*return*/, this.downloadFileFromAMS(file)];
104
- }); }); }))];
105
- });
106
- });
107
- };
108
- AMSFileManager.prototype.updatePermissions = function () {
109
- return __awaiter(this, void 0, void 0, function () {
110
- return __generator(this, function (_a) {
111
- return [2 /*return*/, undefined];
112
- });
113
- });
114
- };
115
- AMSFileManager.prototype.getFileIds = function (metadata) {
116
- var _a, _b, _c;
117
- if (!metadata) {
118
- return;
119
- }
120
- if (!metadata.amsReferences && !metadata.amsreferences) {
121
- return;
122
- }
123
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.GetFileIds);
124
- try {
125
- var result = undefined;
126
- if (metadata === null || metadata === void 0 ? void 0 : metadata.amsReferences) {
127
- result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsReferences);
128
- }
129
- if (metadata === null || metadata === void 0 ? void 0 : metadata.amsreferences) {
130
- result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsreferences);
131
- }
132
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.GetFileIds);
133
- return result;
134
- }
135
- catch (error) {
136
- var exceptionDetails = {
137
- metadata: "" + metadata,
138
- errorObject: "" + error
139
- };
140
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.GetFileIds, {
141
- ExceptionDetails: JSON.stringify(exceptionDetails)
142
- });
143
- return undefined;
144
- }
145
- };
146
- /**
147
- * Creates property for the reference of the attachments to be sent to ACS as metadata after successful upload.
148
- *
149
- * @param fileIds List of fileIds
150
- * @returns
151
- */
152
- AMSFileManager.prototype.createFileIdProperty = function (fileIds) {
153
- var _a, _b, _c;
154
- if (!fileIds) {
155
- return;
156
- }
157
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.CreateFileIdProperty);
158
- try {
159
- var result = {
160
- amsReferences: JSON.stringify(fileIds),
161
- amsreferences: JSON.stringify(fileIds)
162
- };
163
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.CreateFileIdProperty);
164
- return result;
165
- }
166
- catch (error) {
167
- var exceptionDetails = {
168
- fileIds: "" + fileIds,
169
- errorObject: "" + error
170
- };
171
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.CreateFileIdProperty, {
172
- ExceptionDetails: JSON.stringify(exceptionDetails)
173
- });
174
- return undefined;
175
- }
176
- };
177
- AMSFileManager.prototype.getFileMetadata = function (metadata) {
178
- var _a, _b, _c;
179
- if (!metadata || !metadata.amsMetadata) {
180
- return;
181
- }
182
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.GetFileMetadata);
183
- try {
184
- var result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsMetadata);
185
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.GetFileMetadata);
186
- return result;
187
- }
188
- catch (error) {
189
- var exceptionDetails = {
190
- metadata: "" + metadata,
191
- errorObject: "" + error
192
- };
193
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.GetFileMetadata, {
194
- ExceptionDetails: JSON.stringify(exceptionDetails)
195
- });
196
- return undefined;
197
- }
198
- };
199
- /**
200
- *
201
- * Creates property for the metadata of the attachments to be sent to ACS as metadata after successful upload.
202
- *
203
- * @param metadata List of file metadata
204
- * @returns
205
- */
206
- AMSFileManager.prototype.createFileMetadataProperty = function (metadata) {
207
- var _a, _b, _c;
208
- if (!metadata) {
209
- return;
210
- }
211
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.CreateFileMetadataProperty);
212
- try {
213
- var result = {
214
- amsMetadata: JSON.stringify(metadata)
215
- };
216
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.CreateFileMetadataProperty);
217
- return result;
218
- }
219
- catch (error) {
220
- var exceptionDetails = {
221
- metadata: "" + metadata,
222
- errorObject: "" + error
223
- };
224
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.CreateFileMetadataProperty, {
225
- ExceptionDetails: JSON.stringify(exceptionDetails)
226
- });
227
- return undefined;
228
- }
229
- };
230
- /**
231
- * Creates content to be sent to ACS after successful upload.
232
- *
233
- * @param metadata List of file metadata
234
- * @returns
235
- */
236
- AMSFileManager.prototype.createBotAttachment = function (metadata) {
237
- if (!metadata || Object.keys(metadata).length === 0) {
238
- return null;
239
- }
240
- // Sending empty content
241
- return null;
242
- };
243
- AMSFileManager.prototype.uploadFileToAMS = function (fileToUpload) {
244
- var _a, _b, _c, _d, _e;
245
- return __awaiter(this, void 0, void 0, function () {
246
- var blob, error_1, exceptionDetails, file, response, error_2, exceptionDetails, error_3, exceptionDetails;
247
- return __generator(this, function (_f) {
248
- switch (_f.label) {
249
- case 0:
250
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.AMSUpload);
251
- if (!(fileToUpload.contentUrl && fileToUpload.name)) return [3 /*break*/, 12];
252
- blob = void 0;
253
- _f.label = 1;
254
- case 1:
255
- _f.trys.push([1, 3, , 4]);
256
- return [4 /*yield*/, this.amsClient.fetchBlob(fileToUpload.contentUrl)];
257
- case 2:
258
- blob = _f.sent();
259
- return [3 /*break*/, 4];
260
- case 3:
261
- error_1 = _f.sent();
262
- exceptionDetails = {
263
- response: 'AMSFetchBlobFailure',
264
- errorObject: "" + error_1
265
- };
266
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.failScenario(AMSFileManagerEvent.AMSUpload, {
267
- ExceptionDetails: JSON.stringify(exceptionDetails)
268
- });
269
- throw error_1;
270
- case 4:
271
- file = new File([blob], fileToUpload.name, { type: fileToUpload.contentType });
272
- response = void 0;
273
- _f.label = 5;
274
- case 5:
275
- _f.trys.push([5, 7, , 8]);
276
- return [4 /*yield*/, this.amsClient.createObject(this.amsClient.chatToken.chatId, file, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
277
- case 6:
278
- response = _f.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
279
- return [3 /*break*/, 8];
280
- case 7:
281
- error_2 = _f.sent();
282
- exceptionDetails = {
283
- response: 'AMSCreateObjectFailure',
284
- errorObject: "" + error_2
285
- };
286
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.AMSUpload, {
287
- ExceptionDetails: JSON.stringify(exceptionDetails)
288
- });
289
- throw error_2;
290
- case 8:
291
- _f.trys.push([8, 10, , 11]);
292
- return [4 /*yield*/, this.amsClient.uploadDocument(response.id, file, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
293
- case 9:
294
- _f.sent();
295
- return [3 /*break*/, 11];
296
- case 10:
297
- error_3 = _f.sent();
298
- exceptionDetails = {
299
- response: 'AMSUploadDocumentFailure',
300
- errorObject: "" + error_3
301
- };
302
- (_d = this.logger) === null || _d === void 0 ? void 0 : _d.failScenario(AMSFileManagerEvent.AMSUpload, {
303
- ExceptionDetails: JSON.stringify(exceptionDetails)
304
- });
305
- throw error_3;
306
- case 11:
307
- (_e = this.logger) === null || _e === void 0 ? void 0 : _e.completeScenario(AMSFileManagerEvent.AMSUpload);
308
- return [2 /*return*/, {
309
- fileId: response.id,
310
- metadata: {
311
- contentType: fileToUpload.contentType,
312
- fileName: fileToUpload.name
313
- }
314
- }];
315
- case 12: return [2 /*return*/];
316
- }
317
- });
318
- });
319
- };
320
- AMSFileManager.prototype.downloadFileFromAMS = function (uploadedFile) {
321
- var _a, _b, _c, _d, _e, _f;
322
- return __awaiter(this, void 0, void 0, function () {
323
- var fileMetadata, response, error_4, exceptionDetails, blob, view_location, scan, file_1, exceptionDetails, error_5, exceptionDetails, file;
324
- return __generator(this, function (_g) {
325
- switch (_g.label) {
326
- case 0:
327
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.AMSDownload);
328
- if (!(uploadedFile.fileId && uploadedFile.metadata && uploadedFile.metadata.fileName)) return [3 /*break*/, 9];
329
- fileMetadata = {
330
- id: uploadedFile.fileId,
331
- type: uploadedFile.metadata.contentType,
332
- name: uploadedFile.metadata.fileName
333
- };
334
- response = void 0;
335
- _g.label = 1;
336
- case 1:
337
- _g.trys.push([1, 3, , 4]);
338
- return [4 /*yield*/, this.amsClient.getViewStatus(fileMetadata, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
339
- case 2:
340
- response = _g.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
341
- return [3 /*break*/, 4];
342
- case 3:
343
- error_4 = _g.sent();
344
- exceptionDetails = {
345
- response: 'AMSGetViewStatusFailure',
346
- errorObject: "" + error_4
347
- };
348
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.failScenario(AMSFileManagerEvent.AMSDownload, {
349
- ExceptionDetails: JSON.stringify(exceptionDetails)
350
- });
351
- return [2 /*return*/, undefined];
352
- case 4:
353
- blob = void 0;
354
- view_location = response.view_location, scan = response.scan;
355
- if (((_c = this.options.fileScan) === null || _c === void 0 ? void 0 : _c.disabled) === false && scan && (scan === null || scan === void 0 ? void 0 : scan.status) !== AMSViewScanStatus.PASSED) {
356
- file_1 = new File([blob], uploadedFile.metadata.fileName, { type: uploadedFile.metadata.contentType });
357
- exceptionDetails = {
358
- response: "InvalidFileScanResult"
359
- };
360
- this.fileScanner.addOrUpdateFile(fileMetadata.id, fileMetadata, scan);
361
- (_d = this.logger) === null || _d === void 0 ? void 0 : _d.failScenario(AMSFileManagerEvent.AMSDownload, {
362
- ExceptionDetails: JSON.stringify(exceptionDetails)
363
- });
364
- return [2 /*return*/, file_1];
365
- }
366
- _g.label = 5;
367
- case 5:
368
- _g.trys.push([5, 7, , 8]);
369
- return [4 /*yield*/, this.amsClient.getView(fileMetadata, view_location, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
370
- case 6:
371
- blob = _g.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
372
- return [3 /*break*/, 8];
373
- case 7:
374
- error_5 = _g.sent();
375
- exceptionDetails = {
376
- response: 'AMSGetViewFailure',
377
- errorObject: "" + error_5
378
- };
379
- (_e = this.logger) === null || _e === void 0 ? void 0 : _e.failScenario(AMSFileManagerEvent.AMSDownload, {
380
- ExceptionDetails: JSON.stringify(exceptionDetails)
381
- });
382
- return [2 /*return*/, undefined];
383
- case 8:
384
- file = new File([blob], uploadedFile.metadata.fileName, { type: uploadedFile.metadata.contentType });
385
- (_f = this.logger) === null || _f === void 0 ? void 0 : _f.completeScenario(AMSFileManagerEvent.AMSDownload);
386
- return [2 /*return*/, file];
387
- case 9: return [2 /*return*/];
388
- }
389
- });
390
- });
391
- };
392
- return AMSFileManager;
393
- }());
394
- exports.default = AMSFileManager;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.AMSViewScanStatus = void 0;
51
+ var AMSFileScanner_1 = require("./AMSFileScanner");
52
+ var FilePermission;
53
+ (function (FilePermission) {
54
+ FilePermission[FilePermission["READ"] = 0] = "READ";
55
+ FilePermission[FilePermission["WRITE"] = 1] = "WRITE";
56
+ })(FilePermission || (FilePermission = {}));
57
+ var AMSFileManagerEvent;
58
+ (function (AMSFileManagerEvent) {
59
+ AMSFileManagerEvent["AMSUpload"] = "AMSUpload";
60
+ AMSFileManagerEvent["AMSDownload"] = "AMSDownload";
61
+ AMSFileManagerEvent["GetFileIds"] = "GetFileIds";
62
+ AMSFileManagerEvent["CreateFileIdProperty"] = "CreateFileIdProperty";
63
+ AMSFileManagerEvent["GetFileMetadata"] = "GetFileMetadata";
64
+ AMSFileManagerEvent["CreateFileMetadataProperty"] = "CreateFileMetadataProperty";
65
+ })(AMSFileManagerEvent || (AMSFileManagerEvent = {}));
66
+ var AMSViewScanStatus;
67
+ (function (AMSViewScanStatus) {
68
+ AMSViewScanStatus["PASSED"] = "passed";
69
+ AMSViewScanStatus["MALWARE"] = "malware";
70
+ AMSViewScanStatus["INPROGRESS"] = "in progress";
71
+ })(AMSViewScanStatus = exports.AMSViewScanStatus || (exports.AMSViewScanStatus = {}));
72
+ var supportedImagesMimeTypes = ["image/jpeg", "image/png", "image/gif", "image/heic", "image/webp"];
73
+ var AMSFileManager = /** @class */ (function () {
74
+ function AMSFileManager(amsClient, logger, options) {
75
+ if (logger === void 0) { logger = null; }
76
+ if (options === void 0) { options = {}; }
77
+ var _a;
78
+ this.supportedImagesMimeTypes = supportedImagesMimeTypes;
79
+ this.logger = logger;
80
+ this.amsClient = amsClient;
81
+ this.options = options;
82
+ this.omnichannelChatToken = null;
83
+ if (((_a = this.options.fileScan) === null || _a === void 0 ? void 0 : _a.disabled) === false) {
84
+ var options_1 = __assign({}, this.options.fileScan);
85
+ this.fileScanner = new AMSFileScanner_1.default(this.amsClient, options_1);
86
+ }
87
+ }
88
+ AMSFileManager.prototype.uploadFiles = function (files) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ var _this = this;
91
+ return __generator(this, function (_a) {
92
+ return [2 /*return*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
93
+ return [2 /*return*/, this.uploadFileToAMS(file)];
94
+ }); }); }))];
95
+ });
96
+ });
97
+ };
98
+ AMSFileManager.prototype.downloadFiles = function (files) {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var _this = this;
101
+ return __generator(this, function (_a) {
102
+ return [2 /*return*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
103
+ return [2 /*return*/, this.downloadFileFromAMS(file)];
104
+ }); }); }))];
105
+ });
106
+ });
107
+ };
108
+ AMSFileManager.prototype.updatePermissions = function () {
109
+ return __awaiter(this, void 0, void 0, function () {
110
+ return __generator(this, function (_a) {
111
+ return [2 /*return*/, undefined];
112
+ });
113
+ });
114
+ };
115
+ AMSFileManager.prototype.getFileIds = function (metadata) {
116
+ var _a, _b, _c;
117
+ if (!metadata) {
118
+ return;
119
+ }
120
+ if (!metadata.amsReferences && !metadata.amsreferences) {
121
+ return;
122
+ }
123
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.GetFileIds);
124
+ try {
125
+ var result = undefined;
126
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.amsReferences) {
127
+ result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsReferences);
128
+ }
129
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.amsreferences) {
130
+ result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsreferences);
131
+ }
132
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.GetFileIds);
133
+ return result;
134
+ }
135
+ catch (error) {
136
+ var exceptionDetails = {
137
+ metadata: "" + metadata,
138
+ errorObject: "" + error
139
+ };
140
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.GetFileIds, {
141
+ ExceptionDetails: JSON.stringify(exceptionDetails)
142
+ });
143
+ return undefined;
144
+ }
145
+ };
146
+ /**
147
+ * Creates property for the reference of the attachments to be sent to ACS as metadata after successful upload.
148
+ *
149
+ * @param fileIds List of fileIds
150
+ * @returns
151
+ */
152
+ AMSFileManager.prototype.createFileIdProperty = function (fileIds) {
153
+ var _a, _b, _c;
154
+ if (!fileIds) {
155
+ return;
156
+ }
157
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.CreateFileIdProperty);
158
+ try {
159
+ var result = {
160
+ amsReferences: JSON.stringify(fileIds),
161
+ amsreferences: JSON.stringify(fileIds)
162
+ };
163
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.CreateFileIdProperty);
164
+ return result;
165
+ }
166
+ catch (error) {
167
+ var exceptionDetails = {
168
+ fileIds: "" + fileIds,
169
+ errorObject: "" + error
170
+ };
171
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.CreateFileIdProperty, {
172
+ ExceptionDetails: JSON.stringify(exceptionDetails)
173
+ });
174
+ return undefined;
175
+ }
176
+ };
177
+ AMSFileManager.prototype.getFileMetadata = function (metadata) {
178
+ var _a, _b, _c;
179
+ if (!metadata || !metadata.amsMetadata) {
180
+ return;
181
+ }
182
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.GetFileMetadata);
183
+ try {
184
+ var result = JSON.parse(metadata === null || metadata === void 0 ? void 0 : metadata.amsMetadata);
185
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.GetFileMetadata);
186
+ return result;
187
+ }
188
+ catch (error) {
189
+ var exceptionDetails = {
190
+ metadata: "" + metadata,
191
+ errorObject: "" + error
192
+ };
193
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.GetFileMetadata, {
194
+ ExceptionDetails: JSON.stringify(exceptionDetails)
195
+ });
196
+ return undefined;
197
+ }
198
+ };
199
+ /**
200
+ *
201
+ * Creates property for the metadata of the attachments to be sent to ACS as metadata after successful upload.
202
+ *
203
+ * @param metadata List of file metadata
204
+ * @returns
205
+ */
206
+ AMSFileManager.prototype.createFileMetadataProperty = function (metadata) {
207
+ var _a, _b, _c;
208
+ if (!metadata) {
209
+ return;
210
+ }
211
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.CreateFileMetadataProperty);
212
+ try {
213
+ var result = {
214
+ amsMetadata: JSON.stringify(metadata)
215
+ };
216
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.completeScenario(AMSFileManagerEvent.CreateFileMetadataProperty);
217
+ return result;
218
+ }
219
+ catch (error) {
220
+ var exceptionDetails = {
221
+ metadata: "" + metadata,
222
+ errorObject: "" + error
223
+ };
224
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.CreateFileMetadataProperty, {
225
+ ExceptionDetails: JSON.stringify(exceptionDetails)
226
+ });
227
+ return undefined;
228
+ }
229
+ };
230
+ /**
231
+ * Creates content to be sent to ACS after successful upload.
232
+ *
233
+ * @param metadata List of file metadata
234
+ * @returns
235
+ */
236
+ AMSFileManager.prototype.createBotAttachment = function (metadata) {
237
+ if (!metadata || Object.keys(metadata).length === 0) {
238
+ return null;
239
+ }
240
+ // Sending empty content
241
+ return null;
242
+ };
243
+ AMSFileManager.prototype.uploadFileToAMS = function (fileToUpload) {
244
+ var _a, _b, _c, _d, _e;
245
+ return __awaiter(this, void 0, void 0, function () {
246
+ var blob, error_1, exceptionDetails, file, response, error_2, exceptionDetails, error_3, exceptionDetails;
247
+ return __generator(this, function (_f) {
248
+ switch (_f.label) {
249
+ case 0:
250
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.AMSUpload);
251
+ if (!(fileToUpload.contentUrl && fileToUpload.name)) return [3 /*break*/, 12];
252
+ blob = void 0;
253
+ _f.label = 1;
254
+ case 1:
255
+ _f.trys.push([1, 3, , 4]);
256
+ return [4 /*yield*/, this.amsClient.fetchBlob(fileToUpload.contentUrl)];
257
+ case 2:
258
+ blob = _f.sent();
259
+ return [3 /*break*/, 4];
260
+ case 3:
261
+ error_1 = _f.sent();
262
+ exceptionDetails = {
263
+ response: 'AMSFetchBlobFailure',
264
+ errorObject: "" + error_1
265
+ };
266
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.failScenario(AMSFileManagerEvent.AMSUpload, {
267
+ ExceptionDetails: JSON.stringify(exceptionDetails)
268
+ });
269
+ throw error_1;
270
+ case 4:
271
+ file = new File([blob], fileToUpload.name, { type: fileToUpload.contentType });
272
+ response = void 0;
273
+ _f.label = 5;
274
+ case 5:
275
+ _f.trys.push([5, 7, , 8]);
276
+ return [4 /*yield*/, this.amsClient.createObject(this.amsClient.chatToken.chatId, file, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
277
+ case 6:
278
+ response = _f.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
279
+ return [3 /*break*/, 8];
280
+ case 7:
281
+ error_2 = _f.sent();
282
+ exceptionDetails = {
283
+ response: 'AMSCreateObjectFailure',
284
+ errorObject: "" + error_2
285
+ };
286
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.failScenario(AMSFileManagerEvent.AMSUpload, {
287
+ ExceptionDetails: JSON.stringify(exceptionDetails)
288
+ });
289
+ throw error_2;
290
+ case 8:
291
+ _f.trys.push([8, 10, , 11]);
292
+ return [4 /*yield*/, this.amsClient.uploadDocument(response.id, file, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
293
+ case 9:
294
+ _f.sent();
295
+ return [3 /*break*/, 11];
296
+ case 10:
297
+ error_3 = _f.sent();
298
+ exceptionDetails = {
299
+ response: 'AMSUploadDocumentFailure',
300
+ errorObject: "" + error_3
301
+ };
302
+ (_d = this.logger) === null || _d === void 0 ? void 0 : _d.failScenario(AMSFileManagerEvent.AMSUpload, {
303
+ ExceptionDetails: JSON.stringify(exceptionDetails)
304
+ });
305
+ throw error_3;
306
+ case 11:
307
+ (_e = this.logger) === null || _e === void 0 ? void 0 : _e.completeScenario(AMSFileManagerEvent.AMSUpload);
308
+ return [2 /*return*/, {
309
+ fileId: response.id,
310
+ metadata: {
311
+ contentType: fileToUpload.contentType,
312
+ fileName: fileToUpload.name
313
+ }
314
+ }];
315
+ case 12: return [2 /*return*/];
316
+ }
317
+ });
318
+ });
319
+ };
320
+ AMSFileManager.prototype.downloadFileFromAMS = function (uploadedFile) {
321
+ var _a, _b, _c, _d, _e, _f;
322
+ return __awaiter(this, void 0, void 0, function () {
323
+ var fileMetadata, response, error_4, exceptionDetails, blob, view_location, scan, file_1, exceptionDetails, error_5, exceptionDetails, file;
324
+ return __generator(this, function (_g) {
325
+ switch (_g.label) {
326
+ case 0:
327
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.startScenario(AMSFileManagerEvent.AMSDownload);
328
+ if (!(uploadedFile.fileId && uploadedFile.metadata && uploadedFile.metadata.fileName)) return [3 /*break*/, 9];
329
+ fileMetadata = {
330
+ id: uploadedFile.fileId,
331
+ type: uploadedFile.metadata.contentType,
332
+ name: uploadedFile.metadata.fileName
333
+ };
334
+ response = void 0;
335
+ _g.label = 1;
336
+ case 1:
337
+ _g.trys.push([1, 3, , 4]);
338
+ return [4 /*yield*/, this.amsClient.getViewStatus(fileMetadata, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
339
+ case 2:
340
+ response = _g.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
341
+ return [3 /*break*/, 4];
342
+ case 3:
343
+ error_4 = _g.sent();
344
+ exceptionDetails = {
345
+ response: 'AMSGetViewStatusFailure',
346
+ errorObject: "" + error_4
347
+ };
348
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.failScenario(AMSFileManagerEvent.AMSDownload, {
349
+ ExceptionDetails: JSON.stringify(exceptionDetails)
350
+ });
351
+ return [2 /*return*/, undefined];
352
+ case 4:
353
+ blob = void 0;
354
+ view_location = response.view_location, scan = response.scan;
355
+ if (((_c = this.options.fileScan) === null || _c === void 0 ? void 0 : _c.disabled) === false && scan && (scan === null || scan === void 0 ? void 0 : scan.status) !== AMSViewScanStatus.PASSED) {
356
+ file_1 = new File([blob], uploadedFile.metadata.fileName, { type: uploadedFile.metadata.contentType });
357
+ exceptionDetails = {
358
+ response: "InvalidFileScanResult"
359
+ };
360
+ this.fileScanner.addOrUpdateFile(fileMetadata.id, fileMetadata, scan);
361
+ (_d = this.logger) === null || _d === void 0 ? void 0 : _d.failScenario(AMSFileManagerEvent.AMSDownload, {
362
+ ExceptionDetails: JSON.stringify(exceptionDetails)
363
+ });
364
+ return [2 /*return*/, file_1];
365
+ }
366
+ _g.label = 5;
367
+ case 5:
368
+ _g.trys.push([5, 7, , 8]);
369
+ return [4 /*yield*/, this.amsClient.getView(fileMetadata, view_location, this.omnichannelChatToken, this.supportedImagesMimeTypes)];
370
+ case 6:
371
+ blob = _g.sent(); // eslint-disable-line @typescript-eslint/no-explicit-any
372
+ return [3 /*break*/, 8];
373
+ case 7:
374
+ error_5 = _g.sent();
375
+ exceptionDetails = {
376
+ response: 'AMSGetViewFailure',
377
+ errorObject: "" + error_5
378
+ };
379
+ (_e = this.logger) === null || _e === void 0 ? void 0 : _e.failScenario(AMSFileManagerEvent.AMSDownload, {
380
+ ExceptionDetails: JSON.stringify(exceptionDetails)
381
+ });
382
+ return [2 /*return*/, undefined];
383
+ case 8:
384
+ file = new File([blob], uploadedFile.metadata.fileName, { type: uploadedFile.metadata.contentType });
385
+ (_f = this.logger) === null || _f === void 0 ? void 0 : _f.completeScenario(AMSFileManagerEvent.AMSDownload);
386
+ return [2 /*return*/, file];
387
+ case 9: return [2 /*return*/];
388
+ }
389
+ });
390
+ });
391
+ };
392
+ return AMSFileManager;
393
+ }());
394
+ exports.default = AMSFileManager;
395
395
  //# sourceMappingURL=AMSFileManager.js.map