pinata 1.9.0 → 1.10.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/dist/index.d.mts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +233 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +233 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -44,6 +44,7 @@ type UploadOptions = {
|
|
|
44
44
|
keys?: string;
|
|
45
45
|
groupId?: string;
|
|
46
46
|
vectorize?: boolean;
|
|
47
|
+
url?: string;
|
|
47
48
|
};
|
|
48
49
|
type DeleteResponse = {
|
|
49
50
|
id: string;
|
|
@@ -316,6 +317,14 @@ type VectorizeQueryResponse = {
|
|
|
316
317
|
count: number;
|
|
317
318
|
matches: VectorQueryMatch[];
|
|
318
319
|
};
|
|
320
|
+
type SignedUploadUrlOptions = {
|
|
321
|
+
date?: number;
|
|
322
|
+
expires: number;
|
|
323
|
+
groupId?: string;
|
|
324
|
+
name?: string;
|
|
325
|
+
keyvalues?: Record<string, string>;
|
|
326
|
+
vectorize?: boolean;
|
|
327
|
+
};
|
|
319
328
|
|
|
320
329
|
declare class PinataSDK {
|
|
321
330
|
config: PinataConfig | undefined;
|
|
@@ -352,10 +361,12 @@ declare class UploadBuilder<T> {
|
|
|
352
361
|
private keys;
|
|
353
362
|
private groupId;
|
|
354
363
|
private vector;
|
|
364
|
+
private uploadUrl;
|
|
355
365
|
constructor(config: PinataConfig | undefined, uploadFunction: (config: PinataConfig | undefined, ...args: any[]) => Promise<T>, ...args: any[]);
|
|
356
366
|
addMetadata(metadata: PinataMetadata): UploadBuilder<T>;
|
|
357
367
|
key(jwt: string): UploadBuilder<T>;
|
|
358
368
|
vectorize(): UploadBuilder<T>;
|
|
369
|
+
url(url: string): UploadBuilder<T>;
|
|
359
370
|
group(groupId: string): UploadBuilder<T>;
|
|
360
371
|
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
|
|
361
372
|
}
|
|
@@ -367,6 +378,7 @@ declare class Upload {
|
|
|
367
378
|
base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
368
379
|
url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
369
380
|
json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
381
|
+
createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
|
|
370
382
|
}
|
|
371
383
|
declare class FilterFiles {
|
|
372
384
|
private config;
|
|
@@ -524,4 +536,4 @@ declare class TimeIntervalAnalyticsBuilder extends AnalyticsBuilder<TimeInterval
|
|
|
524
536
|
all(): Promise<TimeIntervalAnalyticsResponse>;
|
|
525
537
|
}
|
|
526
538
|
|
|
527
|
-
export { type AnalyticsQuery, type AuthTestResponse, type ContainsCIDResponse, type ContentType, type DataEndponts, type DeleteResponse, type Endpoints, type FileListItem, type FileListQuery, type FileListResponse, type FileObject, type GetCIDResponse, type GetGroupOptions, type GroupCIDOptions, type GroupListResponse, type GroupOptions, type GroupQueryOptions, type GroupResponseItem, type JsonBody, type KeyListItem, type KeyListQuery, type KeyListResponse, type KeyOptions, type KeyPermissions, type KeyResponse, type OptimizeImageOptions, type PinJobItem, type PinJobQuery, type PinJobResponse, type PinataConfig, type PinataMetadata, PinataSDK, type PinningEndpoints, type RevokeKeyResponse, type SignatureOptions, type SignatureResponse, type SignedUrlOptions, type SwapCidOptions, type SwapCidResponse, type SwapHistoryOptions, type TimeIntervalAnalyticsQuery, type TimeIntervalAnalyticsResponse, type TimePeriodItem, type TopAnalyticsItem, type TopAnalyticsQuery, type TopAnalyticsResponse, type UpdateFileOptions, type UpdateGroupFilesResponse, type UpdateGroupOptions, type UploadOptions, type UploadResponse, type UserPinnedDataResponse, type VectorQueryMatch, type VectorizeFileResponse, type VectorizeQuery, type VectorizeQueryResponse };
|
|
539
|
+
export { type AnalyticsQuery, type AuthTestResponse, type ContainsCIDResponse, type ContentType, type DataEndponts, type DeleteResponse, type Endpoints, type FileListItem, type FileListQuery, type FileListResponse, type FileObject, type GetCIDResponse, type GetGroupOptions, type GroupCIDOptions, type GroupListResponse, type GroupOptions, type GroupQueryOptions, type GroupResponseItem, type JsonBody, type KeyListItem, type KeyListQuery, type KeyListResponse, type KeyOptions, type KeyPermissions, type KeyResponse, type OptimizeImageOptions, type PinJobItem, type PinJobQuery, type PinJobResponse, type PinataConfig, type PinataMetadata, PinataSDK, type PinningEndpoints, type RevokeKeyResponse, type SignatureOptions, type SignatureResponse, type SignedUploadUrlOptions, type SignedUrlOptions, type SwapCidOptions, type SwapCidResponse, type SwapHistoryOptions, type TimeIntervalAnalyticsQuery, type TimeIntervalAnalyticsResponse, type TimePeriodItem, type TopAnalyticsItem, type TopAnalyticsQuery, type TopAnalyticsResponse, type UpdateFileOptions, type UpdateGroupFilesResponse, type UpdateGroupOptions, type UploadOptions, type UploadResponse, type UserPinnedDataResponse, type VectorQueryMatch, type VectorizeFileResponse, type VectorizeQuery, type VectorizeQueryResponse };
|
package/dist/index.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ type UploadOptions = {
|
|
|
44
44
|
keys?: string;
|
|
45
45
|
groupId?: string;
|
|
46
46
|
vectorize?: boolean;
|
|
47
|
+
url?: string;
|
|
47
48
|
};
|
|
48
49
|
type DeleteResponse = {
|
|
49
50
|
id: string;
|
|
@@ -316,6 +317,14 @@ type VectorizeQueryResponse = {
|
|
|
316
317
|
count: number;
|
|
317
318
|
matches: VectorQueryMatch[];
|
|
318
319
|
};
|
|
320
|
+
type SignedUploadUrlOptions = {
|
|
321
|
+
date?: number;
|
|
322
|
+
expires: number;
|
|
323
|
+
groupId?: string;
|
|
324
|
+
name?: string;
|
|
325
|
+
keyvalues?: Record<string, string>;
|
|
326
|
+
vectorize?: boolean;
|
|
327
|
+
};
|
|
319
328
|
|
|
320
329
|
declare class PinataSDK {
|
|
321
330
|
config: PinataConfig | undefined;
|
|
@@ -352,10 +361,12 @@ declare class UploadBuilder<T> {
|
|
|
352
361
|
private keys;
|
|
353
362
|
private groupId;
|
|
354
363
|
private vector;
|
|
364
|
+
private uploadUrl;
|
|
355
365
|
constructor(config: PinataConfig | undefined, uploadFunction: (config: PinataConfig | undefined, ...args: any[]) => Promise<T>, ...args: any[]);
|
|
356
366
|
addMetadata(metadata: PinataMetadata): UploadBuilder<T>;
|
|
357
367
|
key(jwt: string): UploadBuilder<T>;
|
|
358
368
|
vectorize(): UploadBuilder<T>;
|
|
369
|
+
url(url: string): UploadBuilder<T>;
|
|
359
370
|
group(groupId: string): UploadBuilder<T>;
|
|
360
371
|
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
|
|
361
372
|
}
|
|
@@ -367,6 +378,7 @@ declare class Upload {
|
|
|
367
378
|
base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
368
379
|
url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
369
380
|
json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
|
|
381
|
+
createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
|
|
370
382
|
}
|
|
371
383
|
declare class FilterFiles {
|
|
372
384
|
private config;
|
|
@@ -524,4 +536,4 @@ declare class TimeIntervalAnalyticsBuilder extends AnalyticsBuilder<TimeInterval
|
|
|
524
536
|
all(): Promise<TimeIntervalAnalyticsResponse>;
|
|
525
537
|
}
|
|
526
538
|
|
|
527
|
-
export { type AnalyticsQuery, type AuthTestResponse, type ContainsCIDResponse, type ContentType, type DataEndponts, type DeleteResponse, type Endpoints, type FileListItem, type FileListQuery, type FileListResponse, type FileObject, type GetCIDResponse, type GetGroupOptions, type GroupCIDOptions, type GroupListResponse, type GroupOptions, type GroupQueryOptions, type GroupResponseItem, type JsonBody, type KeyListItem, type KeyListQuery, type KeyListResponse, type KeyOptions, type KeyPermissions, type KeyResponse, type OptimizeImageOptions, type PinJobItem, type PinJobQuery, type PinJobResponse, type PinataConfig, type PinataMetadata, PinataSDK, type PinningEndpoints, type RevokeKeyResponse, type SignatureOptions, type SignatureResponse, type SignedUrlOptions, type SwapCidOptions, type SwapCidResponse, type SwapHistoryOptions, type TimeIntervalAnalyticsQuery, type TimeIntervalAnalyticsResponse, type TimePeriodItem, type TopAnalyticsItem, type TopAnalyticsQuery, type TopAnalyticsResponse, type UpdateFileOptions, type UpdateGroupFilesResponse, type UpdateGroupOptions, type UploadOptions, type UploadResponse, type UserPinnedDataResponse, type VectorQueryMatch, type VectorizeFileResponse, type VectorizeQuery, type VectorizeQueryResponse };
|
|
539
|
+
export { type AnalyticsQuery, type AuthTestResponse, type ContainsCIDResponse, type ContentType, type DataEndponts, type DeleteResponse, type Endpoints, type FileListItem, type FileListQuery, type FileListResponse, type FileObject, type GetCIDResponse, type GetGroupOptions, type GroupCIDOptions, type GroupListResponse, type GroupOptions, type GroupQueryOptions, type GroupResponseItem, type JsonBody, type KeyListItem, type KeyListQuery, type KeyListResponse, type KeyOptions, type KeyPermissions, type KeyResponse, type OptimizeImageOptions, type PinJobItem, type PinJobQuery, type PinJobResponse, type PinataConfig, type PinataMetadata, PinataSDK, type PinningEndpoints, type RevokeKeyResponse, type SignatureOptions, type SignatureResponse, type SignedUploadUrlOptions, type SignedUrlOptions, type SwapCidOptions, type SwapCidResponse, type SwapHistoryOptions, type TimeIntervalAnalyticsQuery, type TimeIntervalAnalyticsResponse, type TimePeriodItem, type TopAnalyticsItem, type TopAnalyticsQuery, type TopAnalyticsResponse, type UpdateFileOptions, type UpdateGroupFilesResponse, type UpdateGroupOptions, type UploadOptions, type UploadResponse, type UserPinnedDataResponse, type VectorQueryMatch, type VectorizeFileResponse, type VectorizeQuery, type VectorizeQueryResponse };
|
package/dist/index.js
CHANGED
|
@@ -150,7 +150,11 @@ var uploadFile = async (config, file, options) => {
|
|
|
150
150
|
if (options?.metadata?.keyvalues) {
|
|
151
151
|
metadata + `,keyvalues ${btoa(JSON.stringify(options.metadata.keyvalues))}`;
|
|
152
152
|
}
|
|
153
|
-
|
|
153
|
+
let updatedEndpoint = `${endpoint}/files`;
|
|
154
|
+
if (options?.url) {
|
|
155
|
+
updatedEndpoint = options.url;
|
|
156
|
+
}
|
|
157
|
+
const urlReq = await fetch(updatedEndpoint, {
|
|
154
158
|
method: "POST",
|
|
155
159
|
headers: {
|
|
156
160
|
"Upload-Length": `${file.size}`,
|
|
@@ -242,6 +246,43 @@ var uploadFile = async (config, file, options) => {
|
|
|
242
246
|
}
|
|
243
247
|
const data = new FormData();
|
|
244
248
|
data.append("file", file, file.name);
|
|
249
|
+
if (options?.url) {
|
|
250
|
+
try {
|
|
251
|
+
const request = await fetch(options.url, {
|
|
252
|
+
method: "POST",
|
|
253
|
+
headers,
|
|
254
|
+
body: data
|
|
255
|
+
});
|
|
256
|
+
if (!request.ok) {
|
|
257
|
+
const errorData = await request.text();
|
|
258
|
+
if (request.status === 401 || request.status === 403) {
|
|
259
|
+
throw new AuthenticationError(
|
|
260
|
+
`Authentication failed: ${errorData}`,
|
|
261
|
+
request.status,
|
|
262
|
+
errorData
|
|
263
|
+
);
|
|
264
|
+
}
|
|
265
|
+
throw new NetworkError(
|
|
266
|
+
`HTTP error: ${errorData}`,
|
|
267
|
+
request.status,
|
|
268
|
+
errorData
|
|
269
|
+
);
|
|
270
|
+
}
|
|
271
|
+
const res = await request.json();
|
|
272
|
+
const resData = res.data;
|
|
273
|
+
return resData;
|
|
274
|
+
} catch (error) {
|
|
275
|
+
if (error instanceof PinataError) {
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
if (error instanceof Error) {
|
|
279
|
+
throw new PinataError(`Error processing base64: ${error.message}`);
|
|
280
|
+
}
|
|
281
|
+
throw new PinataError(
|
|
282
|
+
"An unknown error occurred while trying to upload base64"
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
245
286
|
data.append("name", options?.metadata?.name || file.name || "File from SDK");
|
|
246
287
|
if (options?.groupId) {
|
|
247
288
|
data.append("group_id", options.groupId);
|
|
@@ -340,6 +381,42 @@ var uploadBase64 = async (config, base64String, options) => {
|
|
|
340
381
|
if (config.uploadUrl) {
|
|
341
382
|
endpoint = config.uploadUrl;
|
|
342
383
|
}
|
|
384
|
+
if (options?.url) {
|
|
385
|
+
try {
|
|
386
|
+
const request = await fetch(options.url, {
|
|
387
|
+
method: "POST",
|
|
388
|
+
body: data
|
|
389
|
+
});
|
|
390
|
+
if (!request.ok) {
|
|
391
|
+
const errorData = await request.text();
|
|
392
|
+
if (request.status === 401 || request.status === 403) {
|
|
393
|
+
throw new AuthenticationError(
|
|
394
|
+
`Authentication failed: ${errorData}`,
|
|
395
|
+
request.status,
|
|
396
|
+
errorData
|
|
397
|
+
);
|
|
398
|
+
}
|
|
399
|
+
throw new NetworkError(
|
|
400
|
+
`HTTP error: ${errorData}`,
|
|
401
|
+
request.status,
|
|
402
|
+
errorData
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
const res = await request.json();
|
|
406
|
+
const resData = res.data;
|
|
407
|
+
return resData;
|
|
408
|
+
} catch (error) {
|
|
409
|
+
if (error instanceof PinataError) {
|
|
410
|
+
throw error;
|
|
411
|
+
}
|
|
412
|
+
if (error instanceof Error) {
|
|
413
|
+
throw new PinataError(`Error processing base64: ${error.message}`);
|
|
414
|
+
}
|
|
415
|
+
throw new PinataError(
|
|
416
|
+
"An unknown error occurred while trying to upload base64"
|
|
417
|
+
);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
343
420
|
try {
|
|
344
421
|
const request = await fetch(`${endpoint}/files`, {
|
|
345
422
|
method: "POST",
|
|
@@ -443,6 +520,42 @@ var uploadUrl = async (config, url, options) => {
|
|
|
443
520
|
if (config.uploadUrl) {
|
|
444
521
|
endpoint = config.uploadUrl;
|
|
445
522
|
}
|
|
523
|
+
if (options?.url) {
|
|
524
|
+
try {
|
|
525
|
+
const request = await fetch(options.url, {
|
|
526
|
+
method: "POST",
|
|
527
|
+
body: data
|
|
528
|
+
});
|
|
529
|
+
if (!request.ok) {
|
|
530
|
+
const errorData = await request.text();
|
|
531
|
+
if (request.status === 401 || request.status === 403) {
|
|
532
|
+
throw new AuthenticationError(
|
|
533
|
+
`Authentication failed: ${errorData}`,
|
|
534
|
+
request.status,
|
|
535
|
+
errorData
|
|
536
|
+
);
|
|
537
|
+
}
|
|
538
|
+
throw new NetworkError(
|
|
539
|
+
`HTTP error: ${errorData}`,
|
|
540
|
+
request.status,
|
|
541
|
+
errorData
|
|
542
|
+
);
|
|
543
|
+
}
|
|
544
|
+
const res = await request.json();
|
|
545
|
+
const resData = res.data;
|
|
546
|
+
return resData;
|
|
547
|
+
} catch (error) {
|
|
548
|
+
if (error instanceof PinataError) {
|
|
549
|
+
throw error;
|
|
550
|
+
}
|
|
551
|
+
if (error instanceof Error) {
|
|
552
|
+
throw new PinataError(`Error processing base64: ${error.message}`);
|
|
553
|
+
}
|
|
554
|
+
throw new PinataError(
|
|
555
|
+
"An unknown error occurred while trying to upload base64"
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
446
559
|
try {
|
|
447
560
|
const request = await fetch(`${endpoint}/files`, {
|
|
448
561
|
method: "POST",
|
|
@@ -534,6 +647,42 @@ var uploadJson = async (config, jsonData, options) => {
|
|
|
534
647
|
if (config.uploadUrl) {
|
|
535
648
|
endpoint = config.uploadUrl;
|
|
536
649
|
}
|
|
650
|
+
if (options?.url) {
|
|
651
|
+
try {
|
|
652
|
+
const request = await fetch(options.url, {
|
|
653
|
+
method: "POST",
|
|
654
|
+
body: data
|
|
655
|
+
});
|
|
656
|
+
if (!request.ok) {
|
|
657
|
+
const errorData = await request.text();
|
|
658
|
+
if (request.status === 401 || request.status === 403) {
|
|
659
|
+
throw new AuthenticationError(
|
|
660
|
+
`Authentication failed: ${errorData}`,
|
|
661
|
+
request.status,
|
|
662
|
+
errorData
|
|
663
|
+
);
|
|
664
|
+
}
|
|
665
|
+
throw new NetworkError(
|
|
666
|
+
`HTTP error: ${errorData}`,
|
|
667
|
+
request.status,
|
|
668
|
+
errorData
|
|
669
|
+
);
|
|
670
|
+
}
|
|
671
|
+
const res = await request.json();
|
|
672
|
+
const resData = res.data;
|
|
673
|
+
return resData;
|
|
674
|
+
} catch (error) {
|
|
675
|
+
if (error instanceof PinataError) {
|
|
676
|
+
throw error;
|
|
677
|
+
}
|
|
678
|
+
if (error instanceof Error) {
|
|
679
|
+
throw new PinataError(`Error processing base64: ${error.message}`);
|
|
680
|
+
}
|
|
681
|
+
throw new PinataError(
|
|
682
|
+
"An unknown error occurred while trying to upload base64"
|
|
683
|
+
);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
537
686
|
try {
|
|
538
687
|
const request = await fetch(`${endpoint}/files`, {
|
|
539
688
|
method: "POST",
|
|
@@ -2236,7 +2385,6 @@ var vectorizeQuery = async (config, options) => {
|
|
|
2236
2385
|
if (resData.matches.length === 0) {
|
|
2237
2386
|
throw new PinataError(`No files returned in query to fetch`);
|
|
2238
2387
|
}
|
|
2239
|
-
console.log(config.pinataGateway);
|
|
2240
2388
|
const cid = resData.matches[0].cid;
|
|
2241
2389
|
const fileRes = await getCid(config, cid, void 0);
|
|
2242
2390
|
return fileRes;
|
|
@@ -2311,6 +2459,79 @@ var deleteFileVectors = async (config, fileId) => {
|
|
|
2311
2459
|
}
|
|
2312
2460
|
};
|
|
2313
2461
|
|
|
2462
|
+
// src/core/uploads/createSignedUploadURL.ts
|
|
2463
|
+
var createSignedUploadURL = async (config, options) => {
|
|
2464
|
+
if (!config) {
|
|
2465
|
+
throw new ValidationError("Pinata configuration is missing");
|
|
2466
|
+
}
|
|
2467
|
+
const date = options?.date || Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
2468
|
+
const payload = {
|
|
2469
|
+
date,
|
|
2470
|
+
expires: options.expires
|
|
2471
|
+
};
|
|
2472
|
+
if (options.groupId) {
|
|
2473
|
+
payload.group_id = options.groupId;
|
|
2474
|
+
}
|
|
2475
|
+
if (options.name) {
|
|
2476
|
+
payload.name = options.name;
|
|
2477
|
+
}
|
|
2478
|
+
if (options.keyvalues) {
|
|
2479
|
+
payload.keyvalues = options.keyvalues;
|
|
2480
|
+
}
|
|
2481
|
+
let endpoint = "https://uploads.pinata.cloud/v3";
|
|
2482
|
+
if (config.uploadUrl) {
|
|
2483
|
+
endpoint = config.uploadUrl;
|
|
2484
|
+
}
|
|
2485
|
+
let headers;
|
|
2486
|
+
if (config.customHeaders && Object.keys(config.customHeaders).length > 0) {
|
|
2487
|
+
headers = {
|
|
2488
|
+
Authorization: `Bearer ${config.pinataJwt}`,
|
|
2489
|
+
"Content-Type": "application/json",
|
|
2490
|
+
...config.customHeaders
|
|
2491
|
+
};
|
|
2492
|
+
} else {
|
|
2493
|
+
headers = {
|
|
2494
|
+
"Content-Type": "application/json",
|
|
2495
|
+
Authorization: `Bearer ${config.pinataJwt}`,
|
|
2496
|
+
Source: "sdk/createSignURL"
|
|
2497
|
+
};
|
|
2498
|
+
}
|
|
2499
|
+
try {
|
|
2500
|
+
const request = await fetch(`${endpoint}/files/sign`, {
|
|
2501
|
+
method: "POST",
|
|
2502
|
+
headers,
|
|
2503
|
+
body: JSON.stringify(payload)
|
|
2504
|
+
});
|
|
2505
|
+
if (!request.ok) {
|
|
2506
|
+
const errorData = await request.text();
|
|
2507
|
+
if (request.status === 401 || request.status === 403) {
|
|
2508
|
+
throw new AuthenticationError(
|
|
2509
|
+
`Authentication Failed: ${errorData}`,
|
|
2510
|
+
request.status,
|
|
2511
|
+
errorData
|
|
2512
|
+
);
|
|
2513
|
+
}
|
|
2514
|
+
throw new NetworkError(
|
|
2515
|
+
`HTTP error: ${errorData}`,
|
|
2516
|
+
request.status,
|
|
2517
|
+
errorData
|
|
2518
|
+
);
|
|
2519
|
+
}
|
|
2520
|
+
const res = await request.json();
|
|
2521
|
+
return res.data;
|
|
2522
|
+
} catch (error) {
|
|
2523
|
+
if (error instanceof PinataError) {
|
|
2524
|
+
throw error;
|
|
2525
|
+
}
|
|
2526
|
+
if (error instanceof Error) {
|
|
2527
|
+
throw new PinataError(
|
|
2528
|
+
`Error processing createSignedURL: ${error.message}`
|
|
2529
|
+
);
|
|
2530
|
+
}
|
|
2531
|
+
throw new PinataError("An unknown error occurred while getting signed url");
|
|
2532
|
+
}
|
|
2533
|
+
};
|
|
2534
|
+
|
|
2314
2535
|
// src/core/pinataSDK.ts
|
|
2315
2536
|
var formatConfig = (config) => {
|
|
2316
2537
|
let gateway = config?.pinataGateway;
|
|
@@ -2414,6 +2635,10 @@ var UploadBuilder = class {
|
|
|
2414
2635
|
this.vector = true;
|
|
2415
2636
|
return this;
|
|
2416
2637
|
}
|
|
2638
|
+
url(url) {
|
|
2639
|
+
this.uploadUrl = url;
|
|
2640
|
+
return this;
|
|
2641
|
+
}
|
|
2417
2642
|
// cidVersion(v: 0 | 1): UploadBuilder<T> {
|
|
2418
2643
|
// this.version = v;
|
|
2419
2644
|
// return this;
|
|
@@ -2436,6 +2661,9 @@ var UploadBuilder = class {
|
|
|
2436
2661
|
if (this.vector) {
|
|
2437
2662
|
options.vectorize = this.vector;
|
|
2438
2663
|
}
|
|
2664
|
+
if (this.uploadUrl) {
|
|
2665
|
+
options.url = this.uploadUrl;
|
|
2666
|
+
}
|
|
2439
2667
|
this.args[this.args.length - 1] = options;
|
|
2440
2668
|
return this.uploadFunction(this.config, ...this.args).then(
|
|
2441
2669
|
onfulfilled,
|
|
@@ -2468,6 +2696,9 @@ var Upload = class {
|
|
|
2468
2696
|
json(data, options) {
|
|
2469
2697
|
return new UploadBuilder(this.config, uploadJson, data, options);
|
|
2470
2698
|
}
|
|
2699
|
+
createSignedURL(options) {
|
|
2700
|
+
return createSignedUploadURL(this.config, options);
|
|
2701
|
+
}
|
|
2471
2702
|
};
|
|
2472
2703
|
var FilterFiles = class {
|
|
2473
2704
|
// rate limit vars
|