@autonomys/auto-drive 1.4.34 → 1.4.35
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/api/calls/download.d.ts +8 -0
- package/dist/api/calls/download.d.ts.map +1 -1
- package/dist/api/calls/download.js +51 -2
- package/dist/api/calls/index.d.ts +7 -0
- package/dist/api/calls/index.d.ts.map +1 -1
- package/dist/api/models/asyncDownloads.d.ts +24 -0
- package/dist/api/models/asyncDownloads.d.ts.map +1 -0
- package/dist/api/models/asyncDownloads.js +16 -0
- package/dist/api/types.d.ts +35 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/wrappers.d.ts.map +1 -1
- package/dist/api/wrappers.js +6 -0
- package/package.json +5 -5
- package/src/api/calls/download.ts +71 -1
- package/src/api/models/asyncDownloads.ts +25 -0
- package/src/api/types.ts +40 -0
- package/src/api/wrappers.ts +7 -0
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { ArgsWithoutPagination } from '../../utils/types';
|
|
2
|
+
import { AsyncDownload, DownloadStatus } from '../models/asyncDownloads';
|
|
2
3
|
import { AutoDriveApiHandler } from '../types';
|
|
3
4
|
export declare const downloadObject: (api: AutoDriveApiHandler, query: ArgsWithoutPagination<{
|
|
4
5
|
cid: string;
|
|
5
6
|
ignoreBackendEncoding?: boolean;
|
|
6
7
|
}>) => Promise<ReadableStream<Uint8Array>>;
|
|
8
|
+
export declare const createAsyncDownload: (api: AutoDriveApiHandler, cid: string) => Promise<AsyncDownload>;
|
|
9
|
+
export declare const getAsyncDownload: (api: AutoDriveApiHandler, downloadId: string) => Promise<AsyncDownload>;
|
|
10
|
+
export declare const getAsyncDownloads: (api: AutoDriveApiHandler) => Promise<AsyncDownload[]>;
|
|
11
|
+
export declare const dismissAsyncDownload: (api: AutoDriveApiHandler, downloadId: string) => Promise<void>;
|
|
7
12
|
export declare const publicDownloadUrl: (api: AutoDriveApiHandler, cid: string) => string;
|
|
13
|
+
export declare const downloadStatus: (api: AutoDriveApiHandler, cid: string) => Promise<{
|
|
14
|
+
status: DownloadStatus;
|
|
15
|
+
}>;
|
|
8
16
|
//# sourceMappingURL=download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/api/calls/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,eAAO,MAAM,cAAc,GACzB,KAAK,mBAAmB,EACxB,OAAO,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,KAC7E,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAmBpC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,KAAK,mBAAmB,EAAE,KAAK,MAAM,KAAG,MAEzE,CAAA"}
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/api/calls/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,eAAO,MAAM,cAAc,GACzB,KAAK,mBAAmB,EACxB,OAAO,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,KAC7E,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAmBpC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,KACV,OAAO,CAAC,aAAa,CAUvB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,KAAK,mBAAmB,EACxB,YAAY,MAAM,KACjB,OAAO,CAAC,aAAa,CAUvB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,mBAAmB,KAAG,OAAO,CAAC,aAAa,EAAE,CAUzF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,KAAK,mBAAmB,EACxB,YAAY,MAAM,KACjB,OAAO,CAAC,IAAI,CAQd,CAAA;AACD,eAAO,MAAM,iBAAiB,GAAI,KAAK,mBAAmB,EAAE,KAAK,MAAM,KAAG,MAEzE,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,KAAK,mBAAmB,EACxB,KAAK,MAAM,KACV,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAUpC,CAAA"}
|
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.publicDownloadUrl = exports.downloadObject = void 0;
|
|
12
|
+
exports.downloadStatus = exports.publicDownloadUrl = exports.dismissAsyncDownload = exports.getAsyncDownloads = exports.getAsyncDownload = exports.createAsyncDownload = exports.downloadObject = void 0;
|
|
13
13
|
const downloadObject = (api, query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
14
|
var _a;
|
|
15
15
|
const ignoreBackendEncoding = (_a = query.ignoreBackendEncoding) !== null && _a !== void 0 ? _a : true;
|
|
16
|
-
const response = yield api.sendDownloadRequest(`/
|
|
16
|
+
const response = yield api.sendDownloadRequest(`/downloads/${query.cid}?ignoreEncoding=${ignoreBackendEncoding}`, {
|
|
17
17
|
method: 'GET',
|
|
18
18
|
});
|
|
19
19
|
if (!response.ok) {
|
|
@@ -25,7 +25,56 @@ const downloadObject = (api, query) => __awaiter(void 0, void 0, void 0, functio
|
|
|
25
25
|
return response.body;
|
|
26
26
|
});
|
|
27
27
|
exports.downloadObject = downloadObject;
|
|
28
|
+
const createAsyncDownload = (api, cid) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const response = yield api.sendDownloadRequest(`/downloads/async/${cid}`, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
});
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
throw new Error(`Failed to create async download: ${response.statusText}`);
|
|
34
|
+
}
|
|
35
|
+
return response.json();
|
|
36
|
+
});
|
|
37
|
+
exports.createAsyncDownload = createAsyncDownload;
|
|
38
|
+
const getAsyncDownload = (api, downloadId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
const response = yield api.sendDownloadRequest(`/downloads/async/${downloadId}`, {
|
|
40
|
+
method: 'GET',
|
|
41
|
+
});
|
|
42
|
+
if (!response.ok) {
|
|
43
|
+
throw new Error(`Failed to get async download: ${response.statusText}`);
|
|
44
|
+
}
|
|
45
|
+
return response.json();
|
|
46
|
+
});
|
|
47
|
+
exports.getAsyncDownload = getAsyncDownload;
|
|
48
|
+
const getAsyncDownloads = (api) => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
const response = yield api.sendDownloadRequest('/downloads/async/@me', {
|
|
50
|
+
method: 'GET',
|
|
51
|
+
});
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
throw new Error(`Failed to get async downloads: ${response.statusText}`);
|
|
54
|
+
}
|
|
55
|
+
return response.json();
|
|
56
|
+
});
|
|
57
|
+
exports.getAsyncDownloads = getAsyncDownloads;
|
|
58
|
+
const dismissAsyncDownload = (api, downloadId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
+
const response = yield api.sendDownloadRequest(`/downloads/async/${downloadId}/dismiss`, {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
});
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
throw new Error(`Failed to dismiss async download: ${response.statusText}`);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
exports.dismissAsyncDownload = dismissAsyncDownload;
|
|
28
67
|
const publicDownloadUrl = (api, cid) => {
|
|
29
68
|
return `${api.downloadBaseUrl}/objects/${cid}/public`;
|
|
30
69
|
};
|
|
31
70
|
exports.publicDownloadUrl = publicDownloadUrl;
|
|
71
|
+
const downloadStatus = (api, cid) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
const response = yield api.sendDownloadRequest(`/downloads/async/${cid}/status`, {
|
|
73
|
+
method: 'GET',
|
|
74
|
+
});
|
|
75
|
+
if (!response.ok) {
|
|
76
|
+
throw new Error(`Failed to get download status: ${response.statusText}`);
|
|
77
|
+
}
|
|
78
|
+
return response.json();
|
|
79
|
+
});
|
|
80
|
+
exports.downloadStatus = downloadStatus;
|
|
@@ -67,6 +67,13 @@ export declare const apiCalls: {
|
|
|
67
67
|
cid: string;
|
|
68
68
|
ignoreBackendEncoding?: boolean;
|
|
69
69
|
}>) => Promise<ReadableStream<Uint8Array>>;
|
|
70
|
+
createAsyncDownload: (api: import("..").AutoDriveApiHandler, cid: string) => Promise<import("../models/asyncDownloads").AsyncDownload>;
|
|
71
|
+
getAsyncDownload: (api: import("..").AutoDriveApiHandler, downloadId: string) => Promise<import("../models/asyncDownloads").AsyncDownload>;
|
|
72
|
+
getAsyncDownloads: (api: import("..").AutoDriveApiHandler) => Promise<import("../models/asyncDownloads").AsyncDownload[]>;
|
|
73
|
+
dismissAsyncDownload: (api: import("..").AutoDriveApiHandler, downloadId: string) => Promise<void>;
|
|
70
74
|
publicDownloadUrl: (api: import("..").AutoDriveApiHandler, cid: string) => string;
|
|
75
|
+
downloadStatus: (api: import("..").AutoDriveApiHandler, cid: string) => Promise<{
|
|
76
|
+
status: import("../models/asyncDownloads").DownloadStatus;
|
|
77
|
+
}>;
|
|
71
78
|
};
|
|
72
79
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/calls/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;kBAMshB,qCAA2B,EAAC;;;MAAkE;0BAAqiC,qCAA2B,EAAC;;MAAgD;oBAAo7B,qCAA2B,EAAC;;MAAgD;oBAAy6B,qCAA2B,EAAC;;MAAgD;;;uBAAxgG,qCAA2B,EAAC;gBAAkG,CAAC;;;MAA8E;yBAA4iC,qCAA2B,EAAC;;qBAA2G,CAAC;MAAsB;yCAA+1C,qCAA2B,EAAC;;;gBAAkK,CAAC;;;MAAyE;sBAAm1C,qCAA2B,EAAC;;;;MAAuH;qBAA6qC,qCAA2B,EAAC;;MAA4D;eAAz7L,qCAA2B,EAAC;;MAA8C;sBAA89B,qCAA2B,EAAC,+CAA4B;wBAA0X,qCAA2B,EAAC;;;MAAgE;iBAAg8B,qCAA2B,EAAC,+CAA4B;gBAA88B,qCAA2B,EAAC;;MAAgD;uBAAo1B,qCAA2B,EAAC;;MAAgD;4BAAi+B,qCAA2B,EAAC;;MAAgD;sBAAq+B,qCAA2B,EAAC;;MAAgD;wBAAggC,qCAA2B,EAAC;;MAAgD;YAA+jB,qCAAwB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/calls/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;kBAMshB,qCAA2B,EAAC;;;MAAkE;0BAAqiC,qCAA2B,EAAC;;MAAgD;oBAAo7B,qCAA2B,EAAC;;MAAgD;oBAAy6B,qCAA2B,EAAC;;MAAgD;;;uBAAxgG,qCAA2B,EAAC;gBAAkG,CAAC;;;MAA8E;yBAA4iC,qCAA2B,EAAC;;qBAA2G,CAAC;MAAsB;yCAA+1C,qCAA2B,EAAC;;;gBAAkK,CAAC;;;MAAyE;sBAAm1C,qCAA2B,EAAC;;;;MAAuH;qBAA6qC,qCAA2B,EAAC;;MAA4D;eAAz7L,qCAA2B,EAAC;;MAA8C;sBAA89B,qCAA2B,EAAC,+CAA4B;wBAA0X,qCAA2B,EAAC;;;MAAgE;iBAAg8B,qCAA2B,EAAC,+CAA4B;gBAA88B,qCAA2B,EAAC;;MAAgD;uBAAo1B,qCAA2B,EAAC;;MAAgD;4BAAi+B,qCAA2B,EAAC;;MAAgD;sBAAq+B,qCAA2B,EAAC;;MAAgD;wBAAggC,qCAA2B,EAAC;;MAAgD;YAA+jB,qCAAwB;qBAJrvR,qCAEP,EAAC;;6BAEiD,CAAC;MAAY;0BAAohB,qCAA2B,EAAC,WAAc;uBAAgV,qCAA2B,EAAC,kBAAqB;wBAAoV,qCAAwB;2BAAgV,qCAA2B,EAAC,kBAAqB;wBAA6R,qCAAwB,EAAC,WAAY;qBAA+G,qCAA2B,EAAC,WAAc;;;CADzsE,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare enum AsyncDownloadStatus {
|
|
2
|
+
Pending = "pending",
|
|
3
|
+
Downloading = "downloading",
|
|
4
|
+
Completed = "completed",
|
|
5
|
+
Failed = "failed",
|
|
6
|
+
Dismissed = "dismissed"
|
|
7
|
+
}
|
|
8
|
+
export interface AsyncDownload {
|
|
9
|
+
id: string;
|
|
10
|
+
oauthProvider: string;
|
|
11
|
+
oauthUserId: string;
|
|
12
|
+
cid: string;
|
|
13
|
+
status: AsyncDownloadStatus;
|
|
14
|
+
errorMessage?: string | null | undefined;
|
|
15
|
+
fileSize?: string | null | undefined;
|
|
16
|
+
downloadedBytes?: string | null | undefined;
|
|
17
|
+
createdAt: Date;
|
|
18
|
+
updatedAt: Date;
|
|
19
|
+
}
|
|
20
|
+
export declare enum DownloadStatus {
|
|
21
|
+
Cached = "cached",
|
|
22
|
+
NotCached = "not-cached"
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=asyncDownloads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncDownloads.d.ts","sourceRoot":"","sources":["../../../src/api/models/asyncDownloads.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,mBAAmB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3C,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,SAAS,eAAe;CACzB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DownloadStatus = exports.AsyncDownloadStatus = void 0;
|
|
4
|
+
var AsyncDownloadStatus;
|
|
5
|
+
(function (AsyncDownloadStatus) {
|
|
6
|
+
AsyncDownloadStatus["Pending"] = "pending";
|
|
7
|
+
AsyncDownloadStatus["Downloading"] = "downloading";
|
|
8
|
+
AsyncDownloadStatus["Completed"] = "completed";
|
|
9
|
+
AsyncDownloadStatus["Failed"] = "failed";
|
|
10
|
+
AsyncDownloadStatus["Dismissed"] = "dismissed";
|
|
11
|
+
})(AsyncDownloadStatus || (exports.AsyncDownloadStatus = AsyncDownloadStatus = {}));
|
|
12
|
+
var DownloadStatus;
|
|
13
|
+
(function (DownloadStatus) {
|
|
14
|
+
DownloadStatus["Cached"] = "cached";
|
|
15
|
+
DownloadStatus["NotCached"] = "not-cached";
|
|
16
|
+
})(DownloadStatus || (exports.DownloadStatus = DownloadStatus = {}));
|
package/dist/api/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ObjectSummary } from './models';
|
|
2
|
+
import { AsyncDownload } from './models/asyncDownloads';
|
|
2
3
|
import { PaginatedResult } from './models/common';
|
|
3
4
|
import { GenericFile, GenericFileWithinFolder } from './models/file';
|
|
4
5
|
import { SubscriptionInfo, UserInfo } from './models/user';
|
|
@@ -10,6 +11,13 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
10
11
|
* @returns {Promise<UserInfo>} A promise that resolves to the user info.
|
|
11
12
|
*/
|
|
12
13
|
me: () => Promise<UserInfo>;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if a file is cached.
|
|
16
|
+
*
|
|
17
|
+
* @param cid {string} - The CID of the file to check.
|
|
18
|
+
* @returns {Promise<boolean>} - A promise that resolves to true if the file is cached, false otherwise.
|
|
19
|
+
*/
|
|
20
|
+
isFileCached: (cid: string) => Promise<boolean>;
|
|
13
21
|
/**
|
|
14
22
|
* Uploads a file to the server with optional encryption and compression.
|
|
15
23
|
*
|
|
@@ -148,6 +156,33 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
148
156
|
* @returns {Promise<ObjectSummary[]>} - A promise that resolves to the list of files matching the search criteria.
|
|
149
157
|
*/
|
|
150
158
|
searchByNameOrCID: (value: string) => Promise<ObjectSummary[]>;
|
|
159
|
+
/**
|
|
160
|
+
* Gets the async downloads for the current user.
|
|
161
|
+
*
|
|
162
|
+
* @returns {Promise<AsyncDownload[]>} - A promise that resolves to the list of async downloads.
|
|
163
|
+
*/
|
|
164
|
+
getAsyncDownloads: () => Promise<AsyncDownload[]>;
|
|
165
|
+
/**
|
|
166
|
+
* Creates an async download for a file.
|
|
167
|
+
*
|
|
168
|
+
* @param cid {string} - The CID of the file to create an async download for.
|
|
169
|
+
* @returns {Promise<AsyncDownload>} - A promise that resolves to the async download.
|
|
170
|
+
*/
|
|
171
|
+
createAsyncDownload: (cid: string) => Promise<AsyncDownload>;
|
|
172
|
+
/**
|
|
173
|
+
* Gets an async download by ID.
|
|
174
|
+
*
|
|
175
|
+
* @param downloadId {string} - The ID of the async download to get.
|
|
176
|
+
* @returns {Promise<AsyncDownload>} - A promise that resolves to the async download.
|
|
177
|
+
*/
|
|
178
|
+
getAsyncDownload: (downloadId: string) => Promise<AsyncDownload>;
|
|
179
|
+
/**
|
|
180
|
+
* Dismisses an async download by ID.
|
|
181
|
+
*
|
|
182
|
+
* @param downloadId {string} - The ID of the async download to dismiss.
|
|
183
|
+
* @returns {Promise<void>} - A promise that resolves when the async download is dismissed.
|
|
184
|
+
*/
|
|
185
|
+
dismissAsyncDownload: (downloadId: string) => Promise<void>;
|
|
151
186
|
}
|
|
152
187
|
export interface AutoDriveApiHandler {
|
|
153
188
|
sendAPIRequest: (relativeUrl: string, request: Partial<Request>, body?: BodyInit) => Promise<Response>;
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD;;;;OAIG;IACH,EAAE,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,EAAE,CACnB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,iBAAiB,EAC1B,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,EAAE,CACV,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,EAAE,CAClB,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB;;;;;;;;;;;;;;;;OAgBG;IACH,qBAAqB,EAAE,CACrB,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,EAC3B,OAAO,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;KACxC,KACE,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB;;;;;;;;OAQG;IACH,4BAA4B,EAAE,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,uBAAuB,EAC7B,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,KAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAChF;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtE;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACpD;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/C;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAA;IACpF;;;;;OAKG;IACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACvE;;;;;OAKG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/api/wrappers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/api/wrappers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAqB,MAAM,SAAS,CAAA;AA6B9E,eAAO,MAAM,kBAAkB,GAAI,KAAK,mBAAmB,KAAG,YAwU7D,CAAA"}
|
package/dist/api/wrappers.js
CHANGED
|
@@ -27,6 +27,7 @@ const misc_1 = require("../utils/misc");
|
|
|
27
27
|
const download_1 = require("./calls/download");
|
|
28
28
|
const index_1 = require("./calls/index");
|
|
29
29
|
const models_1 = require("./models");
|
|
30
|
+
const asyncDownloads_1 = require("./models/asyncDownloads");
|
|
30
31
|
const folderTree_1 = require("./models/folderTree");
|
|
31
32
|
const UPLOAD_FILE_CHUNK_SIZE = 1024 * 1024;
|
|
32
33
|
const uploadFileChunks = (api, fileUploadId, asyncIterable, uploadChunkSize = UPLOAD_FILE_CHUNK_SIZE, onProgress) => {
|
|
@@ -281,6 +282,11 @@ const createApiInterface = (api) => {
|
|
|
281
282
|
searchByNameOrCID,
|
|
282
283
|
sendAPIRequest: api.sendAPIRequest,
|
|
283
284
|
sendDownloadRequest: api.sendDownloadRequest,
|
|
285
|
+
getAsyncDownloads: () => index_1.apiCalls.getAsyncDownloads(api),
|
|
286
|
+
createAsyncDownload: (cid) => index_1.apiCalls.createAsyncDownload(api, cid),
|
|
287
|
+
getAsyncDownload: (downloadId) => index_1.apiCalls.getAsyncDownload(api, downloadId),
|
|
288
|
+
dismissAsyncDownload: (downloadId) => index_1.apiCalls.dismissAsyncDownload(api, downloadId),
|
|
289
|
+
isFileCached: (cid) => index_1.apiCalls.downloadStatus(api, cid).then((e) => e.status === asyncDownloads_1.DownloadStatus.Cached),
|
|
284
290
|
baseUrl: api.baseUrl,
|
|
285
291
|
downloadBaseUrl: api.downloadBaseUrl,
|
|
286
292
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autonomys/auto-drive",
|
|
3
3
|
"packageManager": "yarn@4.7.0",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.35",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"typescript": "^5.8.3"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@autonomys/asynchronous": "^1.4.
|
|
46
|
-
"@autonomys/auto-dag-data": "^1.4.
|
|
47
|
-
"@autonomys/auto-utils": "^1.4.
|
|
45
|
+
"@autonomys/asynchronous": "^1.4.35",
|
|
46
|
+
"@autonomys/auto-dag-data": "^1.4.35",
|
|
47
|
+
"@autonomys/auto-utils": "^1.4.35",
|
|
48
48
|
"blockstore-core": "^5.0.2",
|
|
49
49
|
"jszip": "^3.10.1",
|
|
50
50
|
"mime-types": "^3.0.1",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"stream": "^0.0.3",
|
|
53
53
|
"zod": "^3.24.2"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "939cf33bc0da04b5d65d32d78177211a7350a197"
|
|
56
56
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ArgsWithoutPagination } from '../../utils/types'
|
|
2
|
+
import { AsyncDownload, DownloadStatus } from '../models/asyncDownloads'
|
|
2
3
|
import { AutoDriveApiHandler } from '../types'
|
|
3
4
|
|
|
4
5
|
export const downloadObject = async (
|
|
@@ -8,7 +9,7 @@ export const downloadObject = async (
|
|
|
8
9
|
const ignoreBackendEncoding = query.ignoreBackendEncoding ?? true
|
|
9
10
|
|
|
10
11
|
const response = await api.sendDownloadRequest(
|
|
11
|
-
`/
|
|
12
|
+
`/downloads/${query.cid}?ignoreEncoding=${ignoreBackendEncoding}`,
|
|
12
13
|
{
|
|
13
14
|
method: 'GET',
|
|
14
15
|
},
|
|
@@ -25,6 +26,75 @@ export const downloadObject = async (
|
|
|
25
26
|
return response.body
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
export const createAsyncDownload = async (
|
|
30
|
+
api: AutoDriveApiHandler,
|
|
31
|
+
cid: string,
|
|
32
|
+
): Promise<AsyncDownload> => {
|
|
33
|
+
const response = await api.sendDownloadRequest(`/downloads/async/${cid}`, {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
throw new Error(`Failed to create async download: ${response.statusText}`)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return response.json() as Promise<AsyncDownload>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export const getAsyncDownload = async (
|
|
45
|
+
api: AutoDriveApiHandler,
|
|
46
|
+
downloadId: string,
|
|
47
|
+
): Promise<AsyncDownload> => {
|
|
48
|
+
const response = await api.sendDownloadRequest(`/downloads/async/${downloadId}`, {
|
|
49
|
+
method: 'GET',
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
throw new Error(`Failed to get async download: ${response.statusText}`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return response.json() as Promise<AsyncDownload>
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const getAsyncDownloads = async (api: AutoDriveApiHandler): Promise<AsyncDownload[]> => {
|
|
60
|
+
const response = await api.sendDownloadRequest('/downloads/async/@me', {
|
|
61
|
+
method: 'GET',
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
throw new Error(`Failed to get async downloads: ${response.statusText}`)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return response.json() as Promise<AsyncDownload[]>
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const dismissAsyncDownload = async (
|
|
72
|
+
api: AutoDriveApiHandler,
|
|
73
|
+
downloadId: string,
|
|
74
|
+
): Promise<void> => {
|
|
75
|
+
const response = await api.sendDownloadRequest(`/downloads/async/${downloadId}/dismiss`, {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
if (!response.ok) {
|
|
80
|
+
throw new Error(`Failed to dismiss async download: ${response.statusText}`)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
28
83
|
export const publicDownloadUrl = (api: AutoDriveApiHandler, cid: string): string => {
|
|
29
84
|
return `${api.downloadBaseUrl}/objects/${cid}/public`
|
|
30
85
|
}
|
|
86
|
+
|
|
87
|
+
export const downloadStatus = async (
|
|
88
|
+
api: AutoDriveApiHandler,
|
|
89
|
+
cid: string,
|
|
90
|
+
): Promise<{ status: DownloadStatus }> => {
|
|
91
|
+
const response = await api.sendDownloadRequest(`/downloads/async/${cid}/status`, {
|
|
92
|
+
method: 'GET',
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
if (!response.ok) {
|
|
96
|
+
throw new Error(`Failed to get download status: ${response.statusText}`)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return response.json() as Promise<{ status: DownloadStatus }>
|
|
100
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export enum AsyncDownloadStatus {
|
|
2
|
+
Pending = 'pending',
|
|
3
|
+
Downloading = 'downloading',
|
|
4
|
+
Completed = 'completed',
|
|
5
|
+
Failed = 'failed',
|
|
6
|
+
Dismissed = 'dismissed',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface AsyncDownload {
|
|
10
|
+
id: string
|
|
11
|
+
oauthProvider: string
|
|
12
|
+
oauthUserId: string
|
|
13
|
+
cid: string
|
|
14
|
+
status: AsyncDownloadStatus
|
|
15
|
+
errorMessage?: string | null | undefined
|
|
16
|
+
fileSize?: string | null | undefined
|
|
17
|
+
downloadedBytes?: string | null | undefined
|
|
18
|
+
createdAt: Date
|
|
19
|
+
updatedAt: Date
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum DownloadStatus {
|
|
23
|
+
Cached = 'cached',
|
|
24
|
+
NotCached = 'not-cached',
|
|
25
|
+
}
|
package/src/api/types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ObjectSummary } from './models'
|
|
2
|
+
import { AsyncDownload } from './models/asyncDownloads'
|
|
2
3
|
import { PaginatedResult } from './models/common'
|
|
3
4
|
import { GenericFile, GenericFileWithinFolder } from './models/file'
|
|
4
5
|
import { SubscriptionInfo, UserInfo } from './models/user'
|
|
@@ -12,6 +13,14 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
12
13
|
*/
|
|
13
14
|
me: () => Promise<UserInfo>
|
|
14
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Checks if a file is cached.
|
|
18
|
+
*
|
|
19
|
+
* @param cid {string} - The CID of the file to check.
|
|
20
|
+
* @returns {Promise<boolean>} - A promise that resolves to true if the file is cached, false otherwise.
|
|
21
|
+
*/
|
|
22
|
+
isFileCached: (cid: string) => Promise<boolean>
|
|
23
|
+
|
|
15
24
|
/**
|
|
16
25
|
* Uploads a file to the server with optional encryption and compression.
|
|
17
26
|
*
|
|
@@ -168,6 +177,37 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
168
177
|
* @returns {Promise<ObjectSummary[]>} - A promise that resolves to the list of files matching the search criteria.
|
|
169
178
|
*/
|
|
170
179
|
searchByNameOrCID: (value: string) => Promise<ObjectSummary[]>
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Gets the async downloads for the current user.
|
|
183
|
+
*
|
|
184
|
+
* @returns {Promise<AsyncDownload[]>} - A promise that resolves to the list of async downloads.
|
|
185
|
+
*/
|
|
186
|
+
getAsyncDownloads: () => Promise<AsyncDownload[]>
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Creates an async download for a file.
|
|
190
|
+
*
|
|
191
|
+
* @param cid {string} - The CID of the file to create an async download for.
|
|
192
|
+
* @returns {Promise<AsyncDownload>} - A promise that resolves to the async download.
|
|
193
|
+
*/
|
|
194
|
+
createAsyncDownload: (cid: string) => Promise<AsyncDownload>
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Gets an async download by ID.
|
|
198
|
+
*
|
|
199
|
+
* @param downloadId {string} - The ID of the async download to get.
|
|
200
|
+
* @returns {Promise<AsyncDownload>} - A promise that resolves to the async download.
|
|
201
|
+
*/
|
|
202
|
+
getAsyncDownload: (downloadId: string) => Promise<AsyncDownload>
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Dismisses an async download by ID.
|
|
206
|
+
*
|
|
207
|
+
* @param downloadId {string} - The ID of the async download to dismiss.
|
|
208
|
+
* @returns {Promise<void>} - A promise that resolves when the async download is dismissed.
|
|
209
|
+
*/
|
|
210
|
+
dismissAsyncDownload: (downloadId: string) => Promise<void>
|
|
171
211
|
}
|
|
172
212
|
|
|
173
213
|
export interface AutoDriveApiHandler {
|
package/src/api/wrappers.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { progressToPercentage } from '../utils/misc'
|
|
|
10
10
|
import { publicDownloadUrl } from './calls/download'
|
|
11
11
|
import { apiCalls } from './calls/index'
|
|
12
12
|
import { ObjectSummary, Scope } from './models'
|
|
13
|
+
import { DownloadStatus } from './models/asyncDownloads'
|
|
13
14
|
import { PaginatedResult } from './models/common'
|
|
14
15
|
import { GenericFile, GenericFileWithinFolder } from './models/file'
|
|
15
16
|
import { constructFromInput, constructZipBlobFromTreeAndPaths } from './models/folderTree'
|
|
@@ -362,6 +363,12 @@ export const createApiInterface = (api: AutoDriveApiHandler): AutoDriveApi => {
|
|
|
362
363
|
searchByNameOrCID,
|
|
363
364
|
sendAPIRequest: api.sendAPIRequest,
|
|
364
365
|
sendDownloadRequest: api.sendDownloadRequest,
|
|
366
|
+
getAsyncDownloads: () => apiCalls.getAsyncDownloads(api),
|
|
367
|
+
createAsyncDownload: (cid: string) => apiCalls.createAsyncDownload(api, cid),
|
|
368
|
+
getAsyncDownload: (downloadId: string) => apiCalls.getAsyncDownload(api, downloadId),
|
|
369
|
+
dismissAsyncDownload: (downloadId: string) => apiCalls.dismissAsyncDownload(api, downloadId),
|
|
370
|
+
isFileCached: (cid: string) =>
|
|
371
|
+
apiCalls.downloadStatus(api, cid).then((e) => e.status === DownloadStatus.Cached),
|
|
365
372
|
baseUrl: api.baseUrl,
|
|
366
373
|
downloadBaseUrl: api.downloadBaseUrl,
|
|
367
374
|
}
|