@autonomys/auto-drive 1.5.19 → 1.6.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.
- package/README.md +39 -11
- package/dist/api/types.d.ts +12 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/wrappers.d.ts.map +1 -1
- package/dist/api/wrappers.js +4 -0
- package/package.json +5 -5
- package/src/api/types.ts +17 -0
- package/src/api/wrappers.ts +15 -0
package/README.md
CHANGED
|
@@ -26,6 +26,34 @@ To interact with the Auto-Drive API, you'll need to create an API key. Follow th
|
|
|
26
26
|
- Once you're logged in, click on the developers section in the left sidebar menu.
|
|
27
27
|
- In the developers section, click on 'Create API Key'
|
|
28
28
|
- Read the modal message and click on generate
|
|
29
|
+
Add
|
|
30
|
+
### How to upload a file from Buffer?
|
|
31
|
+
|
|
32
|
+
Here is an example of how to use the `uploadFileFromBuffer` method to upload a Buffer with optional encryption and compression:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
36
|
+
import { NetworkId } from '@autonomys/auto-utils'
|
|
37
|
+
|
|
38
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
39
|
+
|
|
40
|
+
// Create a buffer from your data
|
|
41
|
+
const buffer = Buffer.from('Hello, Autonomys!')
|
|
42
|
+
const fileName = 'hello.txt'
|
|
43
|
+
|
|
44
|
+
const options = {
|
|
45
|
+
password: 'your-encryption-password', // Optional: specify a password for encryption
|
|
46
|
+
compression: true,
|
|
47
|
+
// an optional callback useful for large file uploads
|
|
48
|
+
onProgress?: (progress: number) => {
|
|
49
|
+
console.log(`The upload is ${progress}% completed`)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const cid = await api.uploadFileFromBuffer(buffer, fileName, options)
|
|
54
|
+
|
|
55
|
+
console.log(`The file is uploaded and its cid is ${cid}`)
|
|
56
|
+
```
|
|
29
57
|
|
|
30
58
|
### How to upload a file from filepath? (Not available in browser)
|
|
31
59
|
|
|
@@ -35,7 +63,7 @@ Here is an example of how to use the `fs.uploadFileFromFilepath` method to uploa
|
|
|
35
63
|
import { fs, createAutoDriveApi } from '@autonomys/auto-drive'
|
|
36
64
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
37
65
|
|
|
38
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
66
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
39
67
|
const filePath = 'path/to/your/file.txt' // Specify the path to your file
|
|
40
68
|
const options = {
|
|
41
69
|
password: 'your-encryption-password', // Optional: specify a password for encryption
|
|
@@ -57,7 +85,7 @@ console.log(`The file is uploaded and its cid is ${cid}`)
|
|
|
57
85
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
58
86
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
59
87
|
|
|
60
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
88
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
61
89
|
|
|
62
90
|
// e.g Get File from object from HTML event
|
|
63
91
|
const file: File = e.target.value // Substitute with your file
|
|
@@ -92,7 +120,7 @@ You could upload any file that could be represented in that way. For example, up
|
|
|
92
120
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
93
121
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
94
122
|
|
|
95
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
123
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
96
124
|
const buffer = Buffer.from(...);
|
|
97
125
|
const genericFile = {
|
|
98
126
|
read: async function *() {
|
|
@@ -124,7 +152,7 @@ console.log(`The file is uploaded and its cid is ${cid}`)
|
|
|
124
152
|
import { createAutoDriveApi, fs } from '@autonomys/auto-drive'
|
|
125
153
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
126
154
|
|
|
127
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
155
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
128
156
|
const folderPath = 'path/to/your/folder' // Specify the path to your folder
|
|
129
157
|
|
|
130
158
|
const options = {
|
|
@@ -151,7 +179,7 @@ Here is an example of how to use the `downloadFile` method to download a file fr
|
|
|
151
179
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
152
180
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
153
181
|
|
|
154
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
182
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
155
183
|
|
|
156
184
|
try {
|
|
157
185
|
const cid = '..'
|
|
@@ -176,7 +204,7 @@ Here are examples of how to use the object moderation methods:
|
|
|
176
204
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
177
205
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
178
206
|
|
|
179
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
207
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
|
|
180
208
|
|
|
181
209
|
try {
|
|
182
210
|
const cid = 'your-object-cid'
|
|
@@ -193,7 +221,7 @@ try {
|
|
|
193
221
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
194
222
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
195
223
|
|
|
196
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
224
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
|
|
197
225
|
|
|
198
226
|
try {
|
|
199
227
|
const cid = 'your-object-cid'
|
|
@@ -210,7 +238,7 @@ try {
|
|
|
210
238
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
211
239
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
212
240
|
|
|
213
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
241
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
|
|
214
242
|
|
|
215
243
|
try {
|
|
216
244
|
const cid = 'your-object-cid'
|
|
@@ -227,7 +255,7 @@ try {
|
|
|
227
255
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
228
256
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
229
257
|
|
|
230
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
258
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
|
|
231
259
|
|
|
232
260
|
try {
|
|
233
261
|
const toBeReviewed = await api.getToBeReviewedList(50, 0)
|
|
@@ -248,7 +276,7 @@ Here is an example of how to use the `publishObject` method to publish an object
|
|
|
248
276
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
249
277
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
250
278
|
|
|
251
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
279
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
252
280
|
|
|
253
281
|
try {
|
|
254
282
|
const cid = 'your-file-cid'
|
|
@@ -269,7 +297,7 @@ Here is an example of how to use the `getMyFiles` method to retrieve the root di
|
|
|
269
297
|
import { createAutoDriveApi } from '@autonomys/auto-drive'
|
|
270
298
|
import { NetworkId } from '@autonomys/auto-utils'
|
|
271
299
|
|
|
272
|
-
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.
|
|
300
|
+
const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
|
|
273
301
|
|
|
274
302
|
try {
|
|
275
303
|
for (let i = 0; i < 10; i++) {
|
package/dist/api/types.d.ts
CHANGED
|
@@ -54,6 +54,18 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
54
54
|
* @throws {Error} - Throws an error if the upload fails at any stage.
|
|
55
55
|
*/
|
|
56
56
|
uploadFile: (file: GenericFile, options: UploadFileOptions, uploadChunkSize?: number) => Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Uploads a buffer to the server with optional encryption and compression.
|
|
59
|
+
*
|
|
60
|
+
* @param {AutoDriveApi} api - The API instance used to send requests.
|
|
61
|
+
* @param {Buffer} buffer - The buffer to be uploaded.
|
|
62
|
+
* @param {string} name - The name of the file to be uploaded.
|
|
63
|
+
* @param {UploadFileOptions} options - Options for the upload process.
|
|
64
|
+
* @param {number} [uploadChunkSize] - The size of each chunk to upload (optional).
|
|
65
|
+
* @returns {Promise<string>} - The CID of the uploaded file.
|
|
66
|
+
* @throws {Error} - Throws an error if the upload fails at any stage.
|
|
67
|
+
*/
|
|
68
|
+
uploadFileFromBuffer: (buffer: Buffer, name: string, options: UploadFileOptions, uploadChunkSize?: number) => Promise<string>;
|
|
57
69
|
/**
|
|
58
70
|
* Uploads an object as a JSON file to the server.
|
|
59
71
|
*
|
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":"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"}
|
|
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":"AAkBA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAqB,MAAM,SAAS,CAAA;AA6B9E,eAAO,MAAM,kBAAkB,GAAI,KAAK,mBAAmB,KAAG,YA4V7D,CAAA"}
|
package/dist/api/wrappers.js
CHANGED
|
@@ -144,6 +144,9 @@ const createApiInterface = (api) => {
|
|
|
144
144
|
const result = yield index_1.apiCalls.completeUpload(api, { uploadId: fileUpload.id });
|
|
145
145
|
return result.cid;
|
|
146
146
|
});
|
|
147
|
+
const uploadFileFromBuffer = (buffer_1, name_1, ...args_1) => __awaiter(void 0, [buffer_1, name_1, ...args_1], void 0, function* (buffer, name, options = {}, uploadChunkSize) {
|
|
148
|
+
return uploadFile({ read: () => (0, asynchronous_1.bufferToAsyncIterable)(buffer), name, size: buffer.length }, options, uploadChunkSize);
|
|
149
|
+
});
|
|
147
150
|
const uploadObjectAsJSON = (object_1, name_1, ...args_1) => __awaiter(void 0, [object_1, name_1, ...args_1], void 0, function* (object, name, options = {}, uploadChunkSize) {
|
|
148
151
|
try {
|
|
149
152
|
const json = Buffer.from(JSON.stringify(object));
|
|
@@ -270,6 +273,7 @@ const createApiInterface = (api) => {
|
|
|
270
273
|
me,
|
|
271
274
|
uploadFileFromInput,
|
|
272
275
|
uploadFile,
|
|
276
|
+
uploadFileFromBuffer,
|
|
273
277
|
uploadObjectAsJSON,
|
|
274
278
|
uploadFolderFromInput,
|
|
275
279
|
uploadFileWithinFolderUpload,
|
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
|
+
"version": "1.6.0",
|
|
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.
|
|
46
|
-
"@autonomys/auto-dag-data": "^1.
|
|
47
|
-
"@autonomys/auto-utils": "^1.
|
|
45
|
+
"@autonomys/asynchronous": "^1.6.0",
|
|
46
|
+
"@autonomys/auto-dag-data": "^1.6.0",
|
|
47
|
+
"@autonomys/auto-utils": "^1.6.0",
|
|
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": "a0a448db8d1a26006c4123ad9a0e53a8c9293255"
|
|
56
56
|
}
|
package/src/api/types.ts
CHANGED
|
@@ -65,6 +65,23 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
|
|
|
65
65
|
options: UploadFileOptions,
|
|
66
66
|
uploadChunkSize?: number,
|
|
67
67
|
) => Promise<string>
|
|
68
|
+
/**
|
|
69
|
+
* Uploads a buffer to the server with optional encryption and compression.
|
|
70
|
+
*
|
|
71
|
+
* @param {AutoDriveApi} api - The API instance used to send requests.
|
|
72
|
+
* @param {Buffer} buffer - The buffer to be uploaded.
|
|
73
|
+
* @param {string} name - The name of the file to be uploaded.
|
|
74
|
+
* @param {UploadFileOptions} options - Options for the upload process.
|
|
75
|
+
* @param {number} [uploadChunkSize] - The size of each chunk to upload (optional).
|
|
76
|
+
* @returns {Promise<string>} - The CID of the uploaded file.
|
|
77
|
+
* @throws {Error} - Throws an error if the upload fails at any stage.
|
|
78
|
+
*/
|
|
79
|
+
uploadFileFromBuffer: (
|
|
80
|
+
buffer: Buffer,
|
|
81
|
+
name: string,
|
|
82
|
+
options: UploadFileOptions,
|
|
83
|
+
uploadChunkSize?: number,
|
|
84
|
+
) => Promise<string>
|
|
68
85
|
/**
|
|
69
86
|
* Uploads an object as a JSON file to the server.
|
|
70
87
|
*
|
package/src/api/wrappers.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
asyncByChunk,
|
|
4
4
|
asyncFromStream,
|
|
5
|
+
bufferToAsyncIterable,
|
|
5
6
|
bufferToIterable,
|
|
6
7
|
fileToIterable,
|
|
7
8
|
} from '@autonomys/asynchronous'
|
|
@@ -152,6 +153,19 @@ export const createApiInterface = (api: AutoDriveApiHandler): AutoDriveApi => {
|
|
|
152
153
|
return result.cid
|
|
153
154
|
}
|
|
154
155
|
|
|
156
|
+
const uploadFileFromBuffer = async (
|
|
157
|
+
buffer: Buffer,
|
|
158
|
+
name: string,
|
|
159
|
+
options: UploadFileOptions = {},
|
|
160
|
+
uploadChunkSize?: number,
|
|
161
|
+
): Promise<string> => {
|
|
162
|
+
return uploadFile(
|
|
163
|
+
{ read: () => bufferToAsyncIterable(buffer), name, size: buffer.length },
|
|
164
|
+
options,
|
|
165
|
+
uploadChunkSize,
|
|
166
|
+
)
|
|
167
|
+
}
|
|
168
|
+
|
|
155
169
|
const uploadObjectAsJSON = async (
|
|
156
170
|
object: unknown,
|
|
157
171
|
name?: string | undefined,
|
|
@@ -351,6 +365,7 @@ export const createApiInterface = (api: AutoDriveApiHandler): AutoDriveApi => {
|
|
|
351
365
|
me,
|
|
352
366
|
uploadFileFromInput,
|
|
353
367
|
uploadFile,
|
|
368
|
+
uploadFileFromBuffer,
|
|
354
369
|
uploadObjectAsJSON,
|
|
355
370
|
uploadFolderFromInput,
|
|
356
371
|
uploadFileWithinFolderUpload,
|