@ibm-aspera/sdk 0.4.18 → 0.5.0

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.
@@ -1,5 +1,5 @@
1
1
  import { AsperaSdkInfo, TransferResponse } from '../models/aspera-sdk.model';
2
- import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities } from '../models/models';
2
+ import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities } from '../models/models';
3
3
  import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
4
4
  /**
5
5
  * Check if IBM Aspera for Desktop connection works. This function is called by init
@@ -137,6 +137,15 @@ export declare const getAllTransfers: () => Promise<AsperaSdkTransfer[]>;
137
137
  * @returns a promise that resolves with the transfer.
138
138
  */
139
139
  export declare const getTransfer: (id: string) => Promise<AsperaSdkTransfer>;
140
+ /**
141
+ * Get paginated file-level progress for a specific transfer.
142
+ *
143
+ * @param id transfer uuid
144
+ * @param pagination optional pagination options (limit and offset)
145
+ *
146
+ * @returns a promise that resolves with the paginated file progress list
147
+ */
148
+ export declare const getFilesList: (id: string, pagination?: Pagination) => Promise<PaginatedFilesResponse>;
140
149
  /**
141
150
  * Opens and highlights the downloaded file in Finder or Windows Explorer. If multiple files,
142
151
  * then only the first file will be selected.
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.getCapabilities = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = 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;
14
+ exports.getCapabilities = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getFilesList = 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;
15
15
  var messages_1 = require("../constants/messages");
16
16
  var client_1 = require("../helpers/client/client");
17
17
  var helpers_1 = require("../helpers/helpers");
@@ -527,6 +527,34 @@ var getTransfer = function (id) {
527
527
  return promiseInfo.promise;
528
528
  };
529
529
  exports.getTransfer = getTransfer;
530
+ /**
531
+ * Get paginated file-level progress for a specific transfer.
532
+ *
533
+ * @param id transfer uuid
534
+ * @param pagination optional pagination options (limit and offset)
535
+ *
536
+ * @returns a promise that resolves with the paginated file progress list
537
+ */
538
+ var getFilesList = function (id, pagination) {
539
+ if (!index_1.asperaSdk.isReady) {
540
+ return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
541
+ }
542
+ var promiseInfo = (0, helpers_1.generatePromiseObjects)();
543
+ var payload = {
544
+ transfer_id: id,
545
+ };
546
+ if (pagination) {
547
+ payload.pagination = pagination;
548
+ }
549
+ client_1.client.request('get_files_list', payload)
550
+ .then(function (data) { return promiseInfo.resolver(data); })
551
+ .catch(function (error) {
552
+ (0, helpers_1.errorLog)(messages_1.messages.getFilesListFailed, error);
553
+ promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.getFilesListFailed, error));
554
+ });
555
+ return promiseInfo.promise;
556
+ };
557
+ exports.getFilesList = getFilesList;
530
558
  /**
531
559
  * Opens and highlights the downloaded file in Finder or Windows Explorer. If multiple files,
532
560
  * then only the first file will be selected.
@@ -35,4 +35,5 @@ export declare const messages: {
35
35
  readAsArrayBufferFailed: string;
36
36
  readChunkAsArrayBufferFailed: string;
37
37
  rpcDiscoverFailed: string;
38
+ getFilesListFailed: string;
38
39
  };
@@ -38,4 +38,5 @@ exports.messages = {
38
38
  readAsArrayBufferFailed: 'Unable to read file as array buffer',
39
39
  readChunkAsArrayBufferFailed: 'Unable to read file chunk as array buffer',
40
40
  rpcDiscoverFailed: 'Unable to discover RPC endpoints',
41
+ getFilesListFailed: 'Unable to get files list for transfer',
41
42
  };
@@ -1,11 +1,11 @@
1
1
  import { AsperaSdk } from './models/aspera-sdk.model';
2
- import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getInfo, getTransfer, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
2
+ import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getFilesList, getInfo, getTransfer, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, 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, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, };
8
- export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, FileDialogOptions, FileFilter, FolderDialogOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
7
+ export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, };
8
+ export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
9
9
  export type { ActivityMessage, ActivityMessageTypes, AsperaSdkClientInfo, AsperaSdkInfo, TransferResponse, } from './models/aspera-sdk.model';
10
10
  export { AsperaSdk, AsperaSdkGlobals } from './models/aspera-sdk.model';
11
11
  export type { HttpGatewayInfo } from './http-gateway/models';
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AsperaSdkGlobals = exports.AsperaSdk = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = 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;
36
+ exports.AsperaSdkGlobals = exports.AsperaSdk = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = 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.getFilesList = 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; } });
@@ -41,6 +41,7 @@ Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true,
41
41
  Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
42
42
  Object.defineProperty(exports, "getAllTransfers", { enumerable: true, get: function () { return core_1.getAllTransfers; } });
43
43
  Object.defineProperty(exports, "getCapabilities", { enumerable: true, get: function () { return core_1.getCapabilities; } });
44
+ Object.defineProperty(exports, "getFilesList", { enumerable: true, get: function () { return core_1.getFilesList; } });
44
45
  Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
45
46
  Object.defineProperty(exports, "getTransfer", { enumerable: true, get: function () { return core_1.getTransfer; } });
46
47
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
@@ -79,6 +80,7 @@ exports.asperaSdk.stopTransfer = core_1.stopTransfer;
79
80
  exports.asperaSdk.resumeTransfer = core_1.resumeTransfer;
80
81
  exports.asperaSdk.getAllTransfers = core_1.getAllTransfers;
81
82
  exports.asperaSdk.getTransfer = core_1.getTransfer;
83
+ exports.asperaSdk.getFilesList = core_1.getFilesList;
82
84
  exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
83
85
  exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
84
86
  exports.asperaSdk.showPreferences = core_1.showPreferences;
@@ -1,4 +1,4 @@
1
- import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities } from './models';
1
+ import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities } from './models';
2
2
  import { HttpGatewayInfo } from '../http-gateway/models';
3
3
  import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
4
4
  import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
@@ -216,6 +216,8 @@ export declare class AsperaSdk {
216
216
  getInstallerInfo: (options: InstallerOptions) => Promise<InstallerInfoResponse>;
217
217
  /** Initialize drag and drop */
218
218
  initDragDrop: () => Promise<any>;
219
+ /** Function to get paginated file-level progress for a transfer */
220
+ getFilesList: (transferId: string, pagination?: Pagination) => Promise<PaginatedFilesResponse>;
219
221
  /** Function to get information about the IBM Aspera instance */
220
222
  getInfo: () => Promise<AsperaSdkInfo>;
221
223
  /** Function to read an entire file as an array buffer (base64-encoded) */
@@ -445,6 +445,48 @@ export interface TransferSpec {
445
445
  use_ascp4?: boolean;
446
446
  }
447
447
  export type TransferStatus = 'failed' | 'completed' | 'running' | 'queued' | 'removed' | 'canceled' | 'orphaned' | 'paused';
448
+ /** Pagination options for paginated API requests. */
449
+ export interface Pagination {
450
+ /** Maximum number of entries to return. (Default: 1000) */
451
+ limit?: number;
452
+ /** Number of entries to skip from the beginning. (Default: 0) */
453
+ offset?: number;
454
+ }
455
+ /** Paginated response containing file-level transfer progress. */
456
+ export interface PaginatedFilesResponse {
457
+ /** The file entries for this page. */
458
+ entries: FileStat[];
459
+ /** Total number of files in the transfer. */
460
+ total_count: number;
461
+ /** The limit used for the request. */
462
+ limit: number;
463
+ /** The offset used for the request. */
464
+ offset: number;
465
+ }
466
+ /** Status of an individual file within a transfer. */
467
+ export type FileStatus = 'failed' | 'skipped' | 'finished' | 'running';
468
+ /** Error information for a file that failed to transfer. */
469
+ export interface FileError {
470
+ /** Error code */
471
+ code: number;
472
+ /** Human-readable error description */
473
+ description: string;
474
+ }
475
+ /** Progress information for an individual file within a transfer. */
476
+ export interface FileStat {
477
+ /** The file path */
478
+ file: string;
479
+ /** Number of bytes written for this file */
480
+ bytes_written: number;
481
+ /** Number of bytes expected for this file */
482
+ bytes_expected: number;
483
+ /** Time elapsed in microseconds for this file */
484
+ elapsed_usec: number;
485
+ /** Error information if the file failed */
486
+ error?: FileError;
487
+ /** Status of this file */
488
+ status: FileStatus;
489
+ }
448
490
  export interface AsperaSdkTransfer {
449
491
  /** The ID of the transfer */
450
492
  uuid: string;