@ibm-aspera/sdk 0.2.3 → 0.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibm-aspera/sdk",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "author": "IBM Aspera",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "types": "dist/commonjs/index.d.ts",
package/src/app/core.ts CHANGED
@@ -67,6 +67,7 @@ export const init = (options?: InitOptions): Promise<any> => {
67
67
  asperaSdk.globals.appId = appId;
68
68
 
69
69
  if (supportMultipleUsers) {
70
+ asperaSdk.globals.supportMultipleUsers = true;
70
71
  asperaSdk.globals.sessionId = randomUUID();
71
72
  }
72
73
 
@@ -13,4 +13,7 @@ export const hiddenStyleList = `
13
13
  export const protocol = 'aspera://';
14
14
 
15
15
  /** @ignore */
16
- export const installerUrl = 'https://downloads.ibmaspera.com/downloads/desktop/latest/stable';
16
+ export const baseInstallerUrl = 'https://downloads.ibmaspera.com/downloads/desktop';
17
+
18
+ /** @ignore */
19
+ export const installerUrl = `${baseInstallerUrl}/latest/stable`;
@@ -1,4 +1,5 @@
1
- import {ErrorResponse, PromiseObject, TransferSpec} from '../models/models';
1
+ import {baseInstallerUrl, installerUrl} from '../constants/constants';
2
+ import {ErrorResponse, InstallerUrlInfo, PromiseObject, TransferSpec} from '../models/models';
2
3
 
3
4
  /**
4
5
  * Generates promise object that can be resolved or rejected via functions
@@ -186,6 +187,18 @@ export const isSafari = (): boolean => {
186
187
  return /^((?!chrome|android).)*safari/i.test(navigator.userAgent) && !(window as any).MSStream;
187
188
  };
188
189
 
190
+ /**
191
+ * Get the URLs for installer management.
192
+ *
193
+ * @returns Info on URLs where installers live
194
+ */
195
+ export const getInstallerUrls = (): InstallerUrlInfo => {
196
+ return {
197
+ base: baseInstallerUrl,
198
+ latest: installerUrl,
199
+ };
200
+ };
201
+
189
202
  export default {
190
203
  errorLog,
191
204
  generateErrorBody,
@@ -197,4 +210,5 @@ export default {
197
210
  isValidTransferSpec,
198
211
  randomUUID,
199
212
  throwError,
213
+ getInstallerUrls,
200
214
  };
package/src/helpers/ws.ts CHANGED
@@ -135,7 +135,7 @@ export class WebsocketService {
135
135
  }
136
136
 
137
137
  private connect() {
138
- this.getWebSocketConnection(33024, 33029)
138
+ this.getWebSocketConnection(33024, asperaSdk.globals.supportMultipleUsers ? 33024 : 33029)
139
139
  .then((webSocket) => {
140
140
  this.globalSocket = webSocket;
141
141
  this.globalSocket.onerror = this.handleError;
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import {AsperaSdk} from './models/aspera-sdk.model';
2
2
  import {createDropzone, deregisterActivityCallback, deregisterRemovedCallback, deregisterSafariExtensionStatusCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerRemovedCallback, registerSafariExtensionStatusCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection,} from './app/core';
3
3
  import {getInstallerInfo} from './app/installer';
4
- import {isSafari} from './helpers/helpers';
4
+ import {getInstallerUrls, isSafari} from './helpers/helpers';
5
5
 
6
6
  export const asperaSdk: AsperaSdk = new AsperaSdk();
7
7
 
@@ -33,6 +33,7 @@ asperaSdk.initDragDrop = initDragDrop;
33
33
  asperaSdk.setBranding = setBranding;
34
34
  asperaSdk.getInfo = getInfo;
35
35
  asperaSdk.isSafari = isSafari;
36
+ asperaSdk.getInstallerUrls = getInstallerUrls;
36
37
 
37
38
  const launch = asperaSdk.globals.launch;
38
39
  asperaSdk.launch = launch;
@@ -70,35 +71,7 @@ export {
70
71
  deregisterSafariExtensionStatusCallback,
71
72
  setBranding,
72
73
  getInfo,
74
+ getInstallerUrls,
73
75
  };
74
76
 
75
- export default {
76
- isSafari,
77
- init,
78
- testConnection,
79
- startTransfer,
80
- launch,
81
- registerActivityCallback,
82
- deregisterActivityCallback,
83
- removeTransfer,
84
- showDirectory,
85
- stopTransfer,
86
- resumeTransfer,
87
- getAllTransfers,
88
- getTransfer,
89
- registerRemovedCallback,
90
- deregisterRemovedCallback,
91
- showSelectFileDialog,
92
- showSelectFolderDialog,
93
- showPreferences,
94
- modifyTransfer,
95
- createDropzone,
96
- removeDropzone,
97
- getInstallerInfo,
98
- registerStatusCallback,
99
- deregisterStatusCallback,
100
- registerSafariExtensionStatusCallback,
101
- deregisterSafariExtensionStatusCallback,
102
- setBranding,
103
- getInfo,
104
- };
77
+ export default asperaSdk;
@@ -1,4 +1,4 @@
1
- import {CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent} from './models';
1
+ import {CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo} from './models';
2
2
  import {hiddenStyleList, installerUrl, protocol} from '../constants/constants';
3
3
  import {messages} from '../constants/messages';
4
4
  import {safariClient} from '../helpers/client/safari-client';
@@ -19,6 +19,8 @@ class AsperaSdkGlobals {
19
19
  asperaAppVerified = false;
20
20
  /** The unique ID for the website */
21
21
  appId: string;
22
+ /** Indicate if multiple session is supported */
23
+ supportMultipleUsers = false;
22
24
  /** The session ID for the current user */
23
25
  sessionId?: string;
24
26
  /** Map of drop zones created by querySelector */
@@ -348,6 +350,8 @@ export class AsperaSdk {
348
350
  getInfo: () => Promise<AsperaSdkInfo>;
349
351
  /** Function to get whether IBM Aspera is running on Safari */
350
352
  isSafari: () => boolean;
353
+ /** Function to get URLs for installer management. */
354
+ getInstallerUrls: () => InstallerUrlInfo;
351
355
 
352
356
  /**
353
357
  * Check if IBM Aspera is ready to be used and has been verified.
@@ -667,3 +667,10 @@ export interface InitOptions {
667
667
  appId?: string;
668
668
  supportMultipleUsers?: boolean;
669
669
  }
670
+
671
+ export interface InstallerUrlInfo {
672
+ /** Base URL of the Desktop download server */
673
+ base: string;
674
+ /** URL to the latest installers (GA release) */
675
+ latest: string;
676
+ }