@ibm-aspera/sdk 0.2.9 → 0.2.12
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.
- package/dist/commonjs/app/core.d.ts +4 -18
- package/dist/commonjs/app/core.js +101 -34
- package/dist/commonjs/connect/core.d.ts +11 -0
- package/dist/commonjs/connect/core.js +73 -0
- package/dist/commonjs/helpers/ws.js +1 -1
- package/dist/commonjs/index.d.ts +2 -2
- package/dist/commonjs/index.js +1 -5
- package/dist/commonjs/models/aspera-sdk.model.d.ts +21 -20
- package/dist/commonjs/models/aspera-sdk.model.js +23 -35
- package/dist/commonjs/models/models.d.ts +24 -4
- package/dist/js/aspera-sdk.js +1 -1
- package/dist/js/aspera-sdk.js.LICENSE.txt +1 -1
- package/dist/js/aspera-sdk.js.map +1 -1
- package/package.json +13 -19
- package/scripts/version.sh +24 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AsperaSdkInfo, TransferResponse } from '../models/aspera-sdk.model';
|
|
2
2
|
import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, ResumeTransferOptions, TransferSpec, WebsocketEvent } from '../models/models';
|
|
3
|
+
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
3
4
|
/**
|
|
4
5
|
* Check if IBM Aspera for Desktop connection works. This function is called by init
|
|
5
6
|
* when initializing the SDK. This function can be used at any point for checking.
|
|
@@ -8,7 +9,7 @@ import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTr
|
|
|
8
9
|
*/
|
|
9
10
|
export declare const testConnection: () => Promise<any>;
|
|
10
11
|
/**
|
|
11
|
-
* Initialize drag and drop. HTTP Gateway does not need to init.
|
|
12
|
+
* Initialize drag and drop. HTTP Gateway and Connect does not need to init.
|
|
12
13
|
* Ignore if only HTTP Gateway
|
|
13
14
|
* @param initCall - Indicate if called via init flow and should not reject
|
|
14
15
|
*
|
|
@@ -57,22 +58,6 @@ export declare const registerActivityCallback: (callback: (transfers: TransferRe
|
|
|
57
58
|
* @param id the ID returned by `registerActivityCallback`
|
|
58
59
|
*/
|
|
59
60
|
export declare const deregisterActivityCallback: (id: string) => void;
|
|
60
|
-
/**
|
|
61
|
-
* Register a callback event for when a user removes or cancels a transfer
|
|
62
|
-
* directly from IBM Aspera. This may also be called if IBM Aspera
|
|
63
|
-
* is configured to automatically remove completed transfers.
|
|
64
|
-
*
|
|
65
|
-
* @param callback callback function to receive transfers
|
|
66
|
-
*
|
|
67
|
-
* @returns ID representing the callback for deregistration purposes
|
|
68
|
-
*/
|
|
69
|
-
export declare const registerRemovedCallback: (callback: (transfer: AsperaSdkTransfer) => void) => string;
|
|
70
|
-
/**
|
|
71
|
-
* Remove a callback from the removed transfer callback
|
|
72
|
-
*
|
|
73
|
-
* @param id the ID returned by `registerRemovedCallback`
|
|
74
|
-
*/
|
|
75
|
-
export declare const deregisterRemovedCallback: (id: string) => void;
|
|
76
61
|
/**
|
|
77
62
|
* Register a callback for getting updates about the connection status of IBM Aspera SDK.
|
|
78
63
|
*
|
|
@@ -186,11 +171,12 @@ export declare const setBranding: (id: string, options: CustomBrandingOptions) =
|
|
|
186
171
|
*
|
|
187
172
|
* @param callback the function to call once the files are dropped
|
|
188
173
|
* @param elementSelector the selector of the element on the page that should watch for drop events
|
|
174
|
+
* @param connectOptions options for connect
|
|
189
175
|
*/
|
|
190
176
|
export declare const createDropzone: (callback: (data: {
|
|
191
177
|
event: DragEvent;
|
|
192
178
|
files: DataTransferResponse;
|
|
193
|
-
}) => void, elementSelector: string) => void;
|
|
179
|
+
}) => void, elementSelector: string, connectOptions?: ConnectTypes.DragDropOptions) => void;
|
|
194
180
|
/**
|
|
195
181
|
* Remove dropzone.
|
|
196
182
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.
|
|
3
|
+
exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.init = exports.initDragDrop = exports.testConnection = void 0;
|
|
4
4
|
var messages_1 = require("../constants/messages");
|
|
5
5
|
var client_1 = require("../helpers/client/client");
|
|
6
6
|
var helpers_1 = require("../helpers/helpers");
|
|
@@ -8,6 +8,8 @@ var http_gateway_1 = require("../http-gateway");
|
|
|
8
8
|
var core_1 = require("../http-gateway/core");
|
|
9
9
|
var index_1 = require("../index");
|
|
10
10
|
var http_gateway_sdk_js_1 = require("@ibm-aspera/http-gateway-sdk-js");
|
|
11
|
+
var connect_sdk_js_1 = require("@ibm-aspera/connect-sdk-js");
|
|
12
|
+
var core_2 = require("../connect/core");
|
|
11
13
|
/**
|
|
12
14
|
* Check if IBM Aspera for Desktop connection works. This function is called by init
|
|
13
15
|
* when initializing the SDK. This function can be used at any point for checking.
|
|
@@ -15,6 +17,9 @@ var http_gateway_sdk_js_1 = require("@ibm-aspera/http-gateway-sdk-js");
|
|
|
15
17
|
* @returns a promise that resolves if server can connect or rejects if not
|
|
16
18
|
*/
|
|
17
19
|
var testConnection = function () {
|
|
20
|
+
if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
|
|
21
|
+
return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
|
|
22
|
+
}
|
|
18
23
|
return client_1.client.request('get_info')
|
|
19
24
|
.then(function (data) {
|
|
20
25
|
index_1.asperaSdk.globals.asperaSdkInfo = data;
|
|
@@ -24,14 +29,14 @@ var testConnection = function () {
|
|
|
24
29
|
};
|
|
25
30
|
exports.testConnection = testConnection;
|
|
26
31
|
/**
|
|
27
|
-
* Initialize drag and drop. HTTP Gateway does not need to init.
|
|
32
|
+
* Initialize drag and drop. HTTP Gateway and Connect does not need to init.
|
|
28
33
|
* Ignore if only HTTP Gateway
|
|
29
34
|
* @param initCall - Indicate if called via init flow and should not reject
|
|
30
35
|
*
|
|
31
36
|
* @returns a promise that resolves if the initialization was successful or not
|
|
32
37
|
*/
|
|
33
38
|
var initDragDrop = function (initCall) {
|
|
34
|
-
if (index_1.asperaSdk.useHttpGateway) {
|
|
39
|
+
if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
|
|
35
40
|
return Promise.resolve(true);
|
|
36
41
|
}
|
|
37
42
|
else if (!index_1.asperaSdk.isReady) {
|
|
@@ -72,7 +77,7 @@ exports.initDragDrop = initDragDrop;
|
|
|
72
77
|
* rejects if unable to connect
|
|
73
78
|
*/
|
|
74
79
|
var init = function (options) {
|
|
75
|
-
var _a, _b;
|
|
80
|
+
var _a, _b, _c, _d;
|
|
76
81
|
var appId = (_a = options === null || options === void 0 ? void 0 : options.appId) !== null && _a !== void 0 ? _a : (0, helpers_1.randomUUID)();
|
|
77
82
|
var supportMultipleUsers = (_b = options === null || options === void 0 ? void 0 : options.supportMultipleUsers) !== null && _b !== void 0 ? _b : false;
|
|
78
83
|
index_1.asperaSdk.globals.appId = appId;
|
|
@@ -91,6 +96,23 @@ var init = function (options) {
|
|
|
91
96
|
index_1.asperaSdk.globals.asperaAppVerified = false;
|
|
92
97
|
throw (0, helpers_1.generateErrorBody)(messages_1.messages.serverError, error);
|
|
93
98
|
};
|
|
99
|
+
var getConnectStartCalls = function () {
|
|
100
|
+
index_1.asperaSdk.globals.connect = new connect_sdk_js_1.Connect({
|
|
101
|
+
minVersion: options.connectSettings.minVersion || '3.10.1',
|
|
102
|
+
dragDropEnabled: options.connectSettings.dragDropEnabled,
|
|
103
|
+
connectMethod: options.connectSettings.method,
|
|
104
|
+
});
|
|
105
|
+
index_1.asperaSdk.globals.connectInstaller = new connect_sdk_js_1.ConnectInstaller({
|
|
106
|
+
sdkLocation: options.connectSettings.sdkLocation,
|
|
107
|
+
correlationId: options.connectSettings.correlationId,
|
|
108
|
+
style: 'carbon',
|
|
109
|
+
});
|
|
110
|
+
index_1.asperaSdk.globals.connectAW4 = {
|
|
111
|
+
Connect: connect_sdk_js_1.Connect,
|
|
112
|
+
ConnectInstaller: connect_sdk_js_1.ConnectInstaller,
|
|
113
|
+
};
|
|
114
|
+
return (0, core_2.initConnect)(!options.connectSettings.hideIncludedInstaller);
|
|
115
|
+
};
|
|
94
116
|
var getDesktopStartCalls = function () {
|
|
95
117
|
return index_1.asperaSdk.activityTracking.setup()
|
|
96
118
|
.then(function () { return (0, exports.testConnection)(); })
|
|
@@ -98,8 +120,8 @@ var init = function (options) {
|
|
|
98
120
|
.then(function () { return index_1.asperaSdk.globals.sdkResponseData; })
|
|
99
121
|
.catch(handleErrors);
|
|
100
122
|
};
|
|
101
|
-
if (options.
|
|
102
|
-
var finalHttpGatewayUrl = options.
|
|
123
|
+
if (((_c = options === null || options === void 0 ? void 0 : options.httpGatewaySettings) === null || _c === void 0 ? void 0 : _c.url) && !index_1.asperaSdk.globals.httpGatewayVerified) {
|
|
124
|
+
var finalHttpGatewayUrl = options.httpGatewaySettings.url.trim();
|
|
103
125
|
if (finalHttpGatewayUrl.indexOf('http') !== 0) {
|
|
104
126
|
finalHttpGatewayUrl = "https://".concat(finalHttpGatewayUrl);
|
|
105
127
|
}
|
|
@@ -115,6 +137,7 @@ var init = function (options) {
|
|
|
115
137
|
return responseData;
|
|
116
138
|
});
|
|
117
139
|
}).then(function (response) {
|
|
140
|
+
var _a, _b;
|
|
118
141
|
index_1.asperaSdk.globals.httpGatewayInfo = response;
|
|
119
142
|
index_1.asperaSdk.globals.httpGatewayVerified = true;
|
|
120
143
|
var iframeContainer = document.createElement('div');
|
|
@@ -122,19 +145,20 @@ var init = function (options) {
|
|
|
122
145
|
iframeContainer.style = 'display: none;';
|
|
123
146
|
document.body.appendChild(iframeContainer);
|
|
124
147
|
index_1.asperaSdk.globals.httpGatewayIframeContainer = iframeContainer;
|
|
125
|
-
if (options.
|
|
148
|
+
if ((_a = options === null || options === void 0 ? void 0 : options.httpGatewaySettings) === null || _a === void 0 ? void 0 : _a.forceGateway) {
|
|
126
149
|
return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
|
|
127
150
|
}
|
|
128
151
|
else {
|
|
129
|
-
return getDesktopStartCalls();
|
|
152
|
+
return ((_b = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _b === void 0 ? void 0 : _b.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
|
|
130
153
|
}
|
|
131
154
|
}).catch(function (error) {
|
|
155
|
+
var _a;
|
|
132
156
|
// If HTTP Gateway fails log and move on to desktop
|
|
133
157
|
(0, helpers_1.errorLog)(messages_1.messages.httpInitFail, error);
|
|
134
|
-
return getDesktopStartCalls();
|
|
158
|
+
return ((_a = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _a === void 0 ? void 0 : _a.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
|
|
135
159
|
});
|
|
136
160
|
}
|
|
137
|
-
return getDesktopStartCalls();
|
|
161
|
+
return ((_d = options === null || options === void 0 ? void 0 : options.connectSettings) === null || _d === void 0 ? void 0 : _d.useConnect) ? getConnectStartCalls() : getDesktopStartCalls();
|
|
138
162
|
};
|
|
139
163
|
exports.init = init;
|
|
140
164
|
/**
|
|
@@ -152,6 +176,11 @@ var startTransfer = function (transferSpec, asperaSdkSpec) {
|
|
|
152
176
|
if (index_1.asperaSdk.useHttpGateway) {
|
|
153
177
|
return transferSpec.direction === 'receive' ? (0, http_gateway_1.httpDownload)(transferSpec, asperaSdkSpec) : (0, http_gateway_1.httpUpload)(transferSpec, asperaSdkSpec);
|
|
154
178
|
}
|
|
179
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
180
|
+
return index_1.asperaSdk.globals.connect.startTransferPromise(transferSpec, asperaSdkSpec).then(function (response) {
|
|
181
|
+
return response.transfer_specs[0];
|
|
182
|
+
});
|
|
183
|
+
}
|
|
155
184
|
else if (!index_1.asperaSdk.isReady) {
|
|
156
185
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
157
186
|
}
|
|
@@ -190,28 +219,6 @@ var deregisterActivityCallback = function (id) {
|
|
|
190
219
|
index_1.asperaSdk.activityTracking.removeCallback(id);
|
|
191
220
|
};
|
|
192
221
|
exports.deregisterActivityCallback = deregisterActivityCallback;
|
|
193
|
-
/**
|
|
194
|
-
* Register a callback event for when a user removes or cancels a transfer
|
|
195
|
-
* directly from IBM Aspera. This may also be called if IBM Aspera
|
|
196
|
-
* is configured to automatically remove completed transfers.
|
|
197
|
-
*
|
|
198
|
-
* @param callback callback function to receive transfers
|
|
199
|
-
*
|
|
200
|
-
* @returns ID representing the callback for deregistration purposes
|
|
201
|
-
*/
|
|
202
|
-
var registerRemovedCallback = function (callback) {
|
|
203
|
-
return index_1.asperaSdk.activityTracking.setRemovedCallback(callback);
|
|
204
|
-
};
|
|
205
|
-
exports.registerRemovedCallback = registerRemovedCallback;
|
|
206
|
-
/**
|
|
207
|
-
* Remove a callback from the removed transfer callback
|
|
208
|
-
*
|
|
209
|
-
* @param id the ID returned by `registerRemovedCallback`
|
|
210
|
-
*/
|
|
211
|
-
var deregisterRemovedCallback = function (id) {
|
|
212
|
-
index_1.asperaSdk.activityTracking.removeRemovedCallback(id);
|
|
213
|
-
};
|
|
214
|
-
exports.deregisterRemovedCallback = deregisterRemovedCallback;
|
|
215
222
|
/**
|
|
216
223
|
* Register a callback for getting updates about the connection status of IBM Aspera SDK.
|
|
217
224
|
*
|
|
@@ -247,6 +254,9 @@ var removeTransfer = function (id) {
|
|
|
247
254
|
if (index_1.asperaSdk.useHttpGateway) {
|
|
248
255
|
return (0, core_1.httpRemoveTransfer)(id);
|
|
249
256
|
}
|
|
257
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
258
|
+
return index_1.asperaSdk.globals.connect.removeTransfer(id);
|
|
259
|
+
}
|
|
250
260
|
if (!index_1.asperaSdk.isReady) {
|
|
251
261
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
252
262
|
}
|
|
@@ -271,6 +281,9 @@ exports.removeTransfer = removeTransfer;
|
|
|
271
281
|
* @returns a promise that resolves if transfer is stopped and rejects if transfer cannot be stopped
|
|
272
282
|
*/
|
|
273
283
|
var stopTransfer = function (id) {
|
|
284
|
+
if (index_1.asperaSdk.useConnect) {
|
|
285
|
+
return index_1.asperaSdk.globals.connect.stopTransfer(id);
|
|
286
|
+
}
|
|
274
287
|
if (!index_1.asperaSdk.isReady) {
|
|
275
288
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
276
289
|
}
|
|
@@ -296,6 +309,11 @@ exports.stopTransfer = stopTransfer;
|
|
|
296
309
|
* @returns a promise that resolves with the new transfer object if transfer is resumed
|
|
297
310
|
*/
|
|
298
311
|
var resumeTransfer = function (id, options) {
|
|
312
|
+
if (index_1.asperaSdk.useConnect) {
|
|
313
|
+
return index_1.asperaSdk.globals.connect.resumeTransfer(id, options).then(function (response) {
|
|
314
|
+
return response.transfer_spec;
|
|
315
|
+
});
|
|
316
|
+
}
|
|
299
317
|
if (!index_1.asperaSdk.isReady) {
|
|
300
318
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
301
319
|
}
|
|
@@ -324,6 +342,11 @@ var showSelectFileDialog = function (options) {
|
|
|
324
342
|
if (index_1.asperaSdk.useHttpGateway) {
|
|
325
343
|
return (0, core_1.httpGatewaySelectFileFolderDialog)(options, false);
|
|
326
344
|
}
|
|
345
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
346
|
+
return index_1.asperaSdk.globals.connect.showSelectFileDialogPromise(options).then(function (response) {
|
|
347
|
+
return response;
|
|
348
|
+
});
|
|
349
|
+
}
|
|
327
350
|
else if (!index_1.asperaSdk.isReady) {
|
|
328
351
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
329
352
|
}
|
|
@@ -352,6 +375,11 @@ var showSelectFolderDialog = function (options) {
|
|
|
352
375
|
if (index_1.asperaSdk.useHttpGateway) {
|
|
353
376
|
return (0, core_1.httpGatewaySelectFileFolderDialog)(options, true);
|
|
354
377
|
}
|
|
378
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
379
|
+
return index_1.asperaSdk.globals.connect.showSelectFolderDialogPromise(options).then(function (response) {
|
|
380
|
+
return response;
|
|
381
|
+
});
|
|
382
|
+
}
|
|
355
383
|
else if (!index_1.asperaSdk.isReady) {
|
|
356
384
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
357
385
|
}
|
|
@@ -375,6 +403,9 @@ exports.showSelectFolderDialog = showSelectFolderDialog;
|
|
|
375
403
|
* @returns a promise that resolves when the preferences page is opened.
|
|
376
404
|
*/
|
|
377
405
|
var showPreferences = function () {
|
|
406
|
+
if (index_1.asperaSdk.useConnect) {
|
|
407
|
+
return index_1.asperaSdk.globals.connect.showPreferences();
|
|
408
|
+
}
|
|
378
409
|
if (!index_1.asperaSdk.isReady) {
|
|
379
410
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
380
411
|
}
|
|
@@ -394,13 +425,23 @@ exports.showPreferences = showPreferences;
|
|
|
394
425
|
* @returns a promise that resolves with an array of transfers.
|
|
395
426
|
*/
|
|
396
427
|
var getAllTransfers = function () {
|
|
428
|
+
var promiseInfo = (0, helpers_1.generatePromiseObjects)();
|
|
397
429
|
if (index_1.asperaSdk.useHttpGateway) {
|
|
398
430
|
return Promise.resolve((0, core_1.httpGetAllTransfers)());
|
|
399
431
|
}
|
|
432
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
433
|
+
index_1.asperaSdk.globals.connect.getAllTransfers({
|
|
434
|
+
success: function (data) {
|
|
435
|
+
promiseInfo.resolver(data.transfers);
|
|
436
|
+
}, error: function (error) {
|
|
437
|
+
promiseInfo.rejecter(error);
|
|
438
|
+
},
|
|
439
|
+
});
|
|
440
|
+
return promiseInfo.promise;
|
|
441
|
+
}
|
|
400
442
|
if (!index_1.asperaSdk.isReady) {
|
|
401
443
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
402
444
|
}
|
|
403
|
-
var promiseInfo = (0, helpers_1.generatePromiseObjects)();
|
|
404
445
|
var payload = {
|
|
405
446
|
app_id: index_1.asperaSdk.globals.appId,
|
|
406
447
|
};
|
|
@@ -430,6 +471,11 @@ var getTransfer = function (id) {
|
|
|
430
471
|
return Promise.reject((0, helpers_1.generateErrorBody)(messages_1.messages.getTransferFailed, { reason: 'Not found' }));
|
|
431
472
|
}
|
|
432
473
|
}
|
|
474
|
+
else if (index_1.asperaSdk.useConnect) {
|
|
475
|
+
return index_1.asperaSdk.globals.connect.getTransfer(id).then(function (response) {
|
|
476
|
+
return response.transfer_info;
|
|
477
|
+
});
|
|
478
|
+
}
|
|
433
479
|
if (!index_1.asperaSdk.isReady) {
|
|
434
480
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
435
481
|
}
|
|
@@ -455,6 +501,9 @@ exports.getTransfer = getTransfer;
|
|
|
455
501
|
* @returns a promise that resolves if the file can be shown and rejects if not
|
|
456
502
|
*/
|
|
457
503
|
var showDirectory = function (id) {
|
|
504
|
+
if (index_1.asperaSdk.useConnect) {
|
|
505
|
+
return index_1.asperaSdk.globals.connect.showDirectory(id);
|
|
506
|
+
}
|
|
458
507
|
if (!index_1.asperaSdk.isReady) {
|
|
459
508
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
460
509
|
}
|
|
@@ -480,6 +529,11 @@ exports.showDirectory = showDirectory;
|
|
|
480
529
|
* @returns a promise that resolves if the transfer rate can be modified and rejects if not
|
|
481
530
|
*/
|
|
482
531
|
var modifyTransfer = function (id, options) {
|
|
532
|
+
if (index_1.asperaSdk.useConnect) {
|
|
533
|
+
return index_1.asperaSdk.globals.connect.modifyTransfer(id, options).then(function (response) {
|
|
534
|
+
return response;
|
|
535
|
+
});
|
|
536
|
+
}
|
|
483
537
|
if (!index_1.asperaSdk.isReady) {
|
|
484
538
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
485
539
|
}
|
|
@@ -534,8 +588,18 @@ exports.setBranding = setBranding;
|
|
|
534
588
|
*
|
|
535
589
|
* @param callback the function to call once the files are dropped
|
|
536
590
|
* @param elementSelector the selector of the element on the page that should watch for drop events
|
|
591
|
+
* @param connectOptions options for connect
|
|
537
592
|
*/
|
|
538
|
-
var createDropzone = function (callback, elementSelector) {
|
|
593
|
+
var createDropzone = function (callback, elementSelector, connectOptions) {
|
|
594
|
+
if (index_1.asperaSdk.useConnect) {
|
|
595
|
+
index_1.asperaSdk.globals.connect.setDragDropTargets(elementSelector, connectOptions, function (result) {
|
|
596
|
+
callback({
|
|
597
|
+
event: result.event,
|
|
598
|
+
files: result.files,
|
|
599
|
+
});
|
|
600
|
+
});
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
539
603
|
var elements = document.querySelectorAll(elementSelector);
|
|
540
604
|
if (!elements || !elements.length) {
|
|
541
605
|
(0, helpers_1.errorLog)(messages_1.messages.unableToFindElementOnPage);
|
|
@@ -605,6 +669,9 @@ exports.removeDropzone = removeDropzone;
|
|
|
605
669
|
* @returns a promise that returns information about the user's IBM Aspera installation.
|
|
606
670
|
*/
|
|
607
671
|
var getInfo = function () {
|
|
672
|
+
if (index_1.asperaSdk.useHttpGateway || index_1.asperaSdk.useConnect) {
|
|
673
|
+
return Promise.resolve(index_1.asperaSdk.globals.sdkResponseData);
|
|
674
|
+
}
|
|
608
675
|
if (!index_1.asperaSdk.isReady) {
|
|
609
676
|
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
610
677
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
2
|
+
/**
|
|
3
|
+
* Connect Core Logic
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Most logic is called directly by Desktop SDK functions
|
|
7
|
+
* You may not need to import anything from this file.
|
|
8
|
+
*/
|
|
9
|
+
export declare const handleTransfers: (transfers: ConnectTypes.TransferInfo[]) => void;
|
|
10
|
+
export declare const connectInstallationFlow: () => void;
|
|
11
|
+
export declare const initConnect: (useIncludedInstaller?: boolean) => Promise<unknown>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initConnect = exports.connectInstallationFlow = exports.handleTransfers = void 0;
|
|
4
|
+
var index_1 = require("../index");
|
|
5
|
+
var connect_sdk_js_1 = require("@ibm-aspera/connect-sdk-js");
|
|
6
|
+
var transferMonitorActivated = false;
|
|
7
|
+
var installerFlowActivated = false;
|
|
8
|
+
/**
|
|
9
|
+
* Connect Core Logic
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* Most logic is called directly by Desktop SDK functions
|
|
13
|
+
* You may not need to import anything from this file.
|
|
14
|
+
*/
|
|
15
|
+
var handleTransfers = function (transfers) {
|
|
16
|
+
index_1.asperaSdk.activityTracking.handleTransferActivity({
|
|
17
|
+
type: 'transferUpdated',
|
|
18
|
+
data: { transfers: transfers },
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
exports.handleTransfers = handleTransfers;
|
|
22
|
+
var connectInstallationFlow = function () {
|
|
23
|
+
if (installerFlowActivated) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
installerFlowActivated = true;
|
|
27
|
+
var handleInstallerEvent = function (eventType, eventStatus) {
|
|
28
|
+
// Verify that the event matches
|
|
29
|
+
if (index_1.asperaSdk.globals.connectAW4.Connect.EVENT.STATUS !== eventType) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Depending on status show the proper installer screen
|
|
33
|
+
switch (eventStatus) {
|
|
34
|
+
case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.INITIALIZING:
|
|
35
|
+
index_1.asperaSdk.globals.connectInstaller.showLaunching();
|
|
36
|
+
break;
|
|
37
|
+
case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.EXTENSION_INSTALL:
|
|
38
|
+
index_1.asperaSdk.globals.connectInstaller.showExtensionInstall();
|
|
39
|
+
break;
|
|
40
|
+
case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.FAILED:
|
|
41
|
+
index_1.asperaSdk.globals.connectInstaller.showDownload();
|
|
42
|
+
break;
|
|
43
|
+
case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.OUTDATED:
|
|
44
|
+
index_1.asperaSdk.globals.connectInstaller.showUpdate();
|
|
45
|
+
break;
|
|
46
|
+
case index_1.asperaSdk.globals.connectAW4.Connect.STATUS.RUNNING:
|
|
47
|
+
index_1.asperaSdk.globals.connectInstaller.connected();
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
index_1.asperaSdk.globals.connect.addEventListener(index_1.asperaSdk.globals.connectAW4.Connect.EVENT.STATUS, handleInstallerEvent);
|
|
52
|
+
};
|
|
53
|
+
exports.connectInstallationFlow = connectInstallationFlow;
|
|
54
|
+
var initConnect = function (useIncludedInstaller) {
|
|
55
|
+
index_1.asperaSdk.globals.connect.addEventListener(connect_sdk_js_1.Connect.EVENT.STATUS, function (eventType, eventStatus) {
|
|
56
|
+
if (eventType === connect_sdk_js_1.Connect.EVENT.STATUS) {
|
|
57
|
+
index_1.asperaSdk.globals.connectStatus = eventStatus;
|
|
58
|
+
index_1.asperaSdk.activityTracking.sendManualEventCallback(eventStatus);
|
|
59
|
+
if (eventStatus === 'RUNNING' && !transferMonitorActivated) {
|
|
60
|
+
transferMonitorActivated = true;
|
|
61
|
+
index_1.asperaSdk.globals.connect.addEventListener(connect_sdk_js_1.Connect.EVENT.TRANSFER, function (_event, data) {
|
|
62
|
+
(0, exports.handleTransfers)(data.transfers);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
index_1.asperaSdk.globals.connect.initSession(index_1.asperaSdk.globals.appId);
|
|
68
|
+
if (useIncludedInstaller) {
|
|
69
|
+
(0, exports.connectInstallationFlow)();
|
|
70
|
+
}
|
|
71
|
+
return Promise.resolve({ connectMode: true });
|
|
72
|
+
};
|
|
73
|
+
exports.initConnect = initConnect;
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AsperaSdk } from './models/aspera-sdk.model';
|
|
2
|
-
import { createDropzone, deregisterActivityCallback,
|
|
2
|
+
import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
|
|
3
3
|
import { getInstallerInfo } from './app/installer';
|
|
4
4
|
import { getInstallerUrls, isSafari } from './helpers/helpers';
|
|
5
5
|
export declare const asperaSdk: AsperaSdk;
|
|
6
6
|
declare const launch: () => void;
|
|
7
|
-
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer,
|
|
7
|
+
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, getInstallerUrls, };
|
|
8
8
|
export default asperaSdk;
|
package/dist/commonjs/index.js
CHANGED
|
@@ -33,12 +33,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.
|
|
36
|
+
exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
37
37
|
var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
|
|
38
38
|
var core_1 = require("./app/core");
|
|
39
39
|
Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
|
|
40
40
|
Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true, get: function () { return core_1.deregisterActivityCallback; } });
|
|
41
|
-
Object.defineProperty(exports, "deregisterRemovedCallback", { enumerable: true, get: function () { return core_1.deregisterRemovedCallback; } });
|
|
42
41
|
Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
|
|
43
42
|
Object.defineProperty(exports, "getAllTransfers", { enumerable: true, get: function () { return core_1.getAllTransfers; } });
|
|
44
43
|
Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
|
|
@@ -47,7 +46,6 @@ Object.defineProperty(exports, "init", { enumerable: true, get: function () { re
|
|
|
47
46
|
Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
|
|
48
47
|
Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
|
|
49
48
|
Object.defineProperty(exports, "registerActivityCallback", { enumerable: true, get: function () { return core_1.registerActivityCallback; } });
|
|
50
|
-
Object.defineProperty(exports, "registerRemovedCallback", { enumerable: true, get: function () { return core_1.registerRemovedCallback; } });
|
|
51
49
|
Object.defineProperty(exports, "registerStatusCallback", { enumerable: true, get: function () { return core_1.registerStatusCallback; } });
|
|
52
50
|
Object.defineProperty(exports, "removeDropzone", { enumerable: true, get: function () { return core_1.removeDropzone; } });
|
|
53
51
|
Object.defineProperty(exports, "removeTransfer", { enumerable: true, get: function () { return core_1.removeTransfer; } });
|
|
@@ -78,8 +76,6 @@ exports.asperaSdk.stopTransfer = core_1.stopTransfer;
|
|
|
78
76
|
exports.asperaSdk.resumeTransfer = core_1.resumeTransfer;
|
|
79
77
|
exports.asperaSdk.getAllTransfers = core_1.getAllTransfers;
|
|
80
78
|
exports.asperaSdk.getTransfer = core_1.getTransfer;
|
|
81
|
-
exports.asperaSdk.registerRemovedCallback = core_1.registerRemovedCallback;
|
|
82
|
-
exports.asperaSdk.deregisterRemovedCallback = core_1.deregisterRemovedCallback;
|
|
83
79
|
exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
|
|
84
80
|
exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
|
|
85
81
|
exports.asperaSdk.showPreferences = core_1.showPreferences;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo } from './models';
|
|
2
2
|
import { HttpGatewayInfo } from '../http-gateway/models';
|
|
3
|
+
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
4
|
+
import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
|
|
3
5
|
declare class AsperaSdkGlobals {
|
|
4
6
|
/** The URL of the IBM Aspera HTTP server to use with the SDK */
|
|
5
7
|
asperaAppUrl: string;
|
|
@@ -30,6 +32,17 @@ declare class AsperaSdkGlobals {
|
|
|
30
32
|
httpGatewayInfo?: HttpGatewayInfo;
|
|
31
33
|
/** Http Gateway IFRAME container */
|
|
32
34
|
httpGatewayIframeContainer?: HTMLDivElement;
|
|
35
|
+
/** Connect raw AW4 objects */
|
|
36
|
+
connectAW4?: {
|
|
37
|
+
Connect: typeof Connect;
|
|
38
|
+
ConnectInstaller: typeof ConnectInstaller;
|
|
39
|
+
};
|
|
40
|
+
/** Connect instance */
|
|
41
|
+
connect?: ConnectTypes.ConnectClientType;
|
|
42
|
+
/** Connect installer instance */
|
|
43
|
+
connectInstaller?: ConnectTypes.ConnectInstallerClientType;
|
|
44
|
+
/** Connect status */
|
|
45
|
+
connectStatus: ConnectTypes.ConnectStatusStrings;
|
|
33
46
|
backupLaunchMethod(url: string): void;
|
|
34
47
|
/**
|
|
35
48
|
* Launch the IBM Aspera App via protocol url. By default, a hidden IFRAME attempts to
|
|
@@ -51,6 +64,10 @@ export type AsperaSdkInfo = AsperaSdkClientInfo & {
|
|
|
51
64
|
url?: string;
|
|
52
65
|
info?: HttpGatewayInfo;
|
|
53
66
|
};
|
|
67
|
+
connect: {
|
|
68
|
+
active: boolean;
|
|
69
|
+
status: ConnectTypes.ConnectStatusStrings;
|
|
70
|
+
};
|
|
54
71
|
};
|
|
55
72
|
export interface TransferResponse {
|
|
56
73
|
transfers: AsperaSdkTransfer[];
|
|
@@ -63,8 +80,6 @@ export interface ActivityMessage {
|
|
|
63
80
|
export declare class ActivityTracking {
|
|
64
81
|
/** Map of callbacks that receive transfer update events */
|
|
65
82
|
private activity_callbacks;
|
|
66
|
-
/** Map of callbacks that received removed transfer events */
|
|
67
|
-
private removed_callbacks;
|
|
68
83
|
/** Map of callbacks that receive connection events */
|
|
69
84
|
private event_callbacks;
|
|
70
85
|
/** Keep track of the last WebSocket event **/
|
|
@@ -90,6 +105,8 @@ export declare class ActivityTracking {
|
|
|
90
105
|
* @param webSocketEvent the event type.
|
|
91
106
|
*/
|
|
92
107
|
private notifyWebSocketEvent;
|
|
108
|
+
/** Trigger manual event for other event types. */
|
|
109
|
+
sendManualEventCallback(status: string): void;
|
|
93
110
|
/**
|
|
94
111
|
* Notify all consumers when the client changes status. For example, when
|
|
95
112
|
* IBM Aspera App is launched or closed.
|
|
@@ -124,20 +141,6 @@ export declare class ActivityTracking {
|
|
|
124
141
|
* @param id the string of the callback to remove
|
|
125
142
|
*/
|
|
126
143
|
removeCallback(id: string): void;
|
|
127
|
-
/**
|
|
128
|
-
* Register a callback for getting transfers back to the consumer
|
|
129
|
-
*
|
|
130
|
-
* @param callback the function to call with the array of transfers
|
|
131
|
-
*
|
|
132
|
-
* @returns the ID of the callback index
|
|
133
|
-
*/
|
|
134
|
-
setRemovedCallback(callback: (transfer: AsperaSdkTransfer) => void): string;
|
|
135
|
-
/**
|
|
136
|
-
* Remove the callback (deregister) from the list of callbacks
|
|
137
|
-
*
|
|
138
|
-
* @param id the string of the callback to remove
|
|
139
|
-
*/
|
|
140
|
-
removeRemovedCallback(id: string): void;
|
|
141
144
|
/**
|
|
142
145
|
* Register a callback for getting websocket events back to the consumer
|
|
143
146
|
*
|
|
@@ -173,10 +176,6 @@ export declare class AsperaSdk {
|
|
|
173
176
|
registerActivityCallback: (callback: (transfers: TransferResponse) => void) => string;
|
|
174
177
|
/** Deregister callback to remove it from the callbacks getting transfer data */
|
|
175
178
|
deregisterActivityCallback: (id: string) => void;
|
|
176
|
-
/** Register callback for removed transfers from the app */
|
|
177
|
-
registerRemovedCallback: (callback: (transfer: AsperaSdkTransfer) => void) => string;
|
|
178
|
-
/** Deregister callback to remove it from the callbacks getting removed transfer data */
|
|
179
|
-
deregisterRemovedCallback: (id: string) => void;
|
|
180
179
|
/** Register callback for connection status events from the app */
|
|
181
180
|
registerStatusCallback: (callback: (status: WebsocketEvent) => void) => string;
|
|
182
181
|
/** Deregister callback to remove it from the callbacks getting connection events */
|
|
@@ -234,6 +233,8 @@ export declare class AsperaSdk {
|
|
|
234
233
|
* @returns a boolean indicating if SDK can be used for requests
|
|
235
234
|
*/
|
|
236
235
|
get isReady(): boolean;
|
|
236
|
+
/** Indicate that Connect is available. */
|
|
237
|
+
get useConnect(): boolean;
|
|
237
238
|
/** Indicate that HTTP Gateway is available. */
|
|
238
239
|
get httpGatewayIsReady(): boolean;
|
|
239
240
|
/** Indicates if internal calls should use Gateway */
|