@moogodev/client 0.1.6 → 0.1.7
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/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +21 -10
- package/dist/esm/client.d.ts +3 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +21 -10
- package/package.json +1 -1
- package/src/client.ts +23 -10
package/dist/client.d.ts
CHANGED
|
@@ -54,8 +54,10 @@ export declare class MoogoClient {
|
|
|
54
54
|
private requestSQL;
|
|
55
55
|
/** List all buckets in the project */
|
|
56
56
|
listBuckets(): Promise<Bucket[]>;
|
|
57
|
-
/** Get bucket info including usage stats */
|
|
57
|
+
/** Get bucket info including usage stats (by bucket ID) */
|
|
58
58
|
getBucketInfo(bucketId: string): Promise<BucketInfoResponse>;
|
|
59
|
+
/** Get bucket info by name (resolves name to ID) */
|
|
60
|
+
getBucketInfoByName(bucketName: string): Promise<BucketInfoResponse>;
|
|
59
61
|
/** Create a new bucket */
|
|
60
62
|
createBucket(request: CreateBucketRequest): Promise<Bucket>;
|
|
61
63
|
/** Update bucket settings */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EAEnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAEjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EAGxB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,YAAY;IAsBhC,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAIrB,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB;IAI7B,oCAAoC;IACpC,OAAO,CAAC,cAAc;IAItB,iCAAiC;IACjC,OAAO,CAAC,kBAAkB;IAI1B,8CAA8C;IAC9C,OAAO,CAAC,cAAc;IAOtB,gDAAgD;IAChD,OAAO,CAAC,qBAAqB;IAoB7B,yEAAyE;YAC3D,cAAc;IAiF5B,sEAAsE;YACxD,UAAU;IAuExB,sCAAsC;IAChC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -232,11 +232,20 @@ class MoogoClient {
|
|
|
232
232
|
const response = await this.requestStorage('GET', this.getCatalogPath());
|
|
233
233
|
return response.buckets;
|
|
234
234
|
}
|
|
235
|
-
/** Get bucket info including usage stats */
|
|
235
|
+
/** Get bucket info including usage stats (by bucket ID) */
|
|
236
236
|
async getBucketInfo(bucketId) {
|
|
237
237
|
const response = await this.requestStorage('GET', `${this.getCatalogPath()}/${bucketId}`);
|
|
238
238
|
return response;
|
|
239
239
|
}
|
|
240
|
+
/** Get bucket info by name (resolves name to ID) */
|
|
241
|
+
async getBucketInfoByName(bucketName) {
|
|
242
|
+
const buckets = await this.listBuckets();
|
|
243
|
+
const bucket = buckets.find(b => b.name === bucketName);
|
|
244
|
+
if (!bucket) {
|
|
245
|
+
throw new Error(`Bucket not found: ${bucketName}`);
|
|
246
|
+
}
|
|
247
|
+
return this.getBucketInfo(bucket.id);
|
|
248
|
+
}
|
|
240
249
|
/** Create a new bucket */
|
|
241
250
|
async createBucket(request) {
|
|
242
251
|
const response = await this.requestStorage('POST', this.getCatalogPath(), { body: JSON.stringify(request) });
|
|
@@ -266,7 +275,7 @@ class MoogoClient {
|
|
|
266
275
|
*/
|
|
267
276
|
async upload(key, data, options = {}) {
|
|
268
277
|
const { bucket = 'default', contentType, cacheControl, onProgress, signal } = options;
|
|
269
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
278
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
270
279
|
const query = {};
|
|
271
280
|
if (bucket !== 'default')
|
|
272
281
|
query.bucket = bucket;
|
|
@@ -362,7 +371,7 @@ class MoogoClient {
|
|
|
362
371
|
/** Download an object */
|
|
363
372
|
async download(key, options = {}) {
|
|
364
373
|
const { bucket = 'default', signal, range } = options;
|
|
365
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
374
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
366
375
|
const query = {};
|
|
367
376
|
if (bucket !== 'default')
|
|
368
377
|
query.bucket = bucket;
|
|
@@ -423,7 +432,7 @@ class MoogoClient {
|
|
|
423
432
|
/** Get object metadata (HEAD request) */
|
|
424
433
|
async headObject(key, options = {}) {
|
|
425
434
|
const { bucket = 'default', signal } = options;
|
|
426
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
435
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
427
436
|
const query = {};
|
|
428
437
|
if (bucket !== 'default')
|
|
429
438
|
query.bucket = bucket;
|
|
@@ -466,7 +475,7 @@ class MoogoClient {
|
|
|
466
475
|
/** Delete an object */
|
|
467
476
|
async deleteObject(key, options = {}) {
|
|
468
477
|
const { bucket = 'default', signal } = options;
|
|
469
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
478
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
470
479
|
const query = {};
|
|
471
480
|
if (bucket !== 'default')
|
|
472
481
|
query.bucket = bucket;
|
|
@@ -494,7 +503,7 @@ class MoogoClient {
|
|
|
494
503
|
/** Get a presigned URL for an object */
|
|
495
504
|
async getPresignedUrl(key, request, options = {}) {
|
|
496
505
|
const { bucket = 'default', signal } = options;
|
|
497
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign`;
|
|
506
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
|
|
498
507
|
const query = {};
|
|
499
508
|
if (bucket !== 'default')
|
|
500
509
|
query.bucket = bucket;
|
|
@@ -507,7 +516,7 @@ class MoogoClient {
|
|
|
507
516
|
/** Create a signed upload URL (returns upload URL + object metadata) */
|
|
508
517
|
async createSignedUpload(key, request, options = {}) {
|
|
509
518
|
const { bucket = 'default', signal } = options;
|
|
510
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign-upload`;
|
|
519
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
|
|
511
520
|
const query = {};
|
|
512
521
|
if (bucket !== 'default')
|
|
513
522
|
query.bucket = bucket;
|
|
@@ -520,7 +529,7 @@ class MoogoClient {
|
|
|
520
529
|
/** Update object metadata (visibility, key) */
|
|
521
530
|
async updateObject(key, updates, options = {}) {
|
|
522
531
|
const { bucket = 'default', signal } = options;
|
|
523
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
532
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
524
533
|
const query = {};
|
|
525
534
|
if (bucket !== 'default')
|
|
526
535
|
query.bucket = bucket;
|
|
@@ -630,12 +639,14 @@ function createSQLClient(config) {
|
|
|
630
639
|
/** Convenience function to create a client from environment variables */
|
|
631
640
|
function createClientFromEnv(env) {
|
|
632
641
|
const getEnv = (key) => env?.[key] ?? process.env[key];
|
|
642
|
+
// Deprecation warnings for old env var names (log once per process)
|
|
643
|
+
const warned = new Set();
|
|
633
644
|
const warnDeprecated = (oldKey, newKey) => {
|
|
634
|
-
if (process.env[oldKey] && !process.env[newKey]) {
|
|
645
|
+
if (process.env[oldKey] && !process.env[newKey] && !warned.has(oldKey)) {
|
|
635
646
|
console.warn(`[moogo] Deprecation: ${oldKey} is deprecated, use ${newKey} instead`);
|
|
647
|
+
warned.add(oldKey);
|
|
636
648
|
}
|
|
637
649
|
};
|
|
638
|
-
// Deprecation warnings for old env var names
|
|
639
650
|
warnDeprecated('MOOGO_API_URL', 'MOOGO_BASE_URL');
|
|
640
651
|
warnDeprecated('MOOGO_BUCKET_ENDPOINT', 'MOOGO_BASE_URL');
|
|
641
652
|
warnDeprecated('MOOGO_BUCKET_ACCESS_KEY_ID', 'MOOGO_STORAGE_ACCESS_KEY_ID');
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -54,8 +54,10 @@ export declare class MoogoClient {
|
|
|
54
54
|
private requestSQL;
|
|
55
55
|
/** List all buckets in the project */
|
|
56
56
|
listBuckets(): Promise<Bucket[]>;
|
|
57
|
-
/** Get bucket info including usage stats */
|
|
57
|
+
/** Get bucket info including usage stats (by bucket ID) */
|
|
58
58
|
getBucketInfo(bucketId: string): Promise<BucketInfoResponse>;
|
|
59
|
+
/** Get bucket info by name (resolves name to ID) */
|
|
60
|
+
getBucketInfoByName(bucketName: string): Promise<BucketInfoResponse>;
|
|
59
61
|
/** Create a new bucket */
|
|
60
62
|
createBucket(request: CreateBucketRequest): Promise<Bucket>;
|
|
61
63
|
/** Update bucket settings */
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EAEnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAEjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EAGxB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,YAAY;IAsBhC,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAIrB,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB;IAI7B,oCAAoC;IACpC,OAAO,CAAC,cAAc;IAItB,iCAAiC;IACjC,OAAO,CAAC,kBAAkB;IAI1B,8CAA8C;IAC9C,OAAO,CAAC,cAAc;IAOtB,gDAAgD;IAChD,OAAO,CAAC,qBAAqB;IAoB7B,yEAAyE;YAC3D,cAAc;IAiF5B,sEAAsE;YACxD,UAAU;IAuExB,sCAAsC;IAChC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/client.js
CHANGED
|
@@ -226,11 +226,20 @@ export class MoogoClient {
|
|
|
226
226
|
const response = await this.requestStorage('GET', this.getCatalogPath());
|
|
227
227
|
return response.buckets;
|
|
228
228
|
}
|
|
229
|
-
/** Get bucket info including usage stats */
|
|
229
|
+
/** Get bucket info including usage stats (by bucket ID) */
|
|
230
230
|
async getBucketInfo(bucketId) {
|
|
231
231
|
const response = await this.requestStorage('GET', `${this.getCatalogPath()}/${bucketId}`);
|
|
232
232
|
return response;
|
|
233
233
|
}
|
|
234
|
+
/** Get bucket info by name (resolves name to ID) */
|
|
235
|
+
async getBucketInfoByName(bucketName) {
|
|
236
|
+
const buckets = await this.listBuckets();
|
|
237
|
+
const bucket = buckets.find(b => b.name === bucketName);
|
|
238
|
+
if (!bucket) {
|
|
239
|
+
throw new Error(`Bucket not found: ${bucketName}`);
|
|
240
|
+
}
|
|
241
|
+
return this.getBucketInfo(bucket.id);
|
|
242
|
+
}
|
|
234
243
|
/** Create a new bucket */
|
|
235
244
|
async createBucket(request) {
|
|
236
245
|
const response = await this.requestStorage('POST', this.getCatalogPath(), { body: JSON.stringify(request) });
|
|
@@ -260,7 +269,7 @@ export class MoogoClient {
|
|
|
260
269
|
*/
|
|
261
270
|
async upload(key, data, options = {}) {
|
|
262
271
|
const { bucket = 'default', contentType, cacheControl, onProgress, signal } = options;
|
|
263
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
272
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
264
273
|
const query = {};
|
|
265
274
|
if (bucket !== 'default')
|
|
266
275
|
query.bucket = bucket;
|
|
@@ -356,7 +365,7 @@ export class MoogoClient {
|
|
|
356
365
|
/** Download an object */
|
|
357
366
|
async download(key, options = {}) {
|
|
358
367
|
const { bucket = 'default', signal, range } = options;
|
|
359
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
368
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
360
369
|
const query = {};
|
|
361
370
|
if (bucket !== 'default')
|
|
362
371
|
query.bucket = bucket;
|
|
@@ -417,7 +426,7 @@ export class MoogoClient {
|
|
|
417
426
|
/** Get object metadata (HEAD request) */
|
|
418
427
|
async headObject(key, options = {}) {
|
|
419
428
|
const { bucket = 'default', signal } = options;
|
|
420
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
429
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
421
430
|
const query = {};
|
|
422
431
|
if (bucket !== 'default')
|
|
423
432
|
query.bucket = bucket;
|
|
@@ -460,7 +469,7 @@ export class MoogoClient {
|
|
|
460
469
|
/** Delete an object */
|
|
461
470
|
async deleteObject(key, options = {}) {
|
|
462
471
|
const { bucket = 'default', signal } = options;
|
|
463
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
472
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
464
473
|
const query = {};
|
|
465
474
|
if (bucket !== 'default')
|
|
466
475
|
query.bucket = bucket;
|
|
@@ -488,7 +497,7 @@ export class MoogoClient {
|
|
|
488
497
|
/** Get a presigned URL for an object */
|
|
489
498
|
async getPresignedUrl(key, request, options = {}) {
|
|
490
499
|
const { bucket = 'default', signal } = options;
|
|
491
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign`;
|
|
500
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
|
|
492
501
|
const query = {};
|
|
493
502
|
if (bucket !== 'default')
|
|
494
503
|
query.bucket = bucket;
|
|
@@ -501,7 +510,7 @@ export class MoogoClient {
|
|
|
501
510
|
/** Create a signed upload URL (returns upload URL + object metadata) */
|
|
502
511
|
async createSignedUpload(key, request, options = {}) {
|
|
503
512
|
const { bucket = 'default', signal } = options;
|
|
504
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign-upload`;
|
|
513
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
|
|
505
514
|
const query = {};
|
|
506
515
|
if (bucket !== 'default')
|
|
507
516
|
query.bucket = bucket;
|
|
@@ -514,7 +523,7 @@ export class MoogoClient {
|
|
|
514
523
|
/** Update object metadata (visibility, key) */
|
|
515
524
|
async updateObject(key, updates, options = {}) {
|
|
516
525
|
const { bucket = 'default', signal } = options;
|
|
517
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
526
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
518
527
|
const query = {};
|
|
519
528
|
if (bucket !== 'default')
|
|
520
529
|
query.bucket = bucket;
|
|
@@ -623,12 +632,14 @@ export function createSQLClient(config) {
|
|
|
623
632
|
/** Convenience function to create a client from environment variables */
|
|
624
633
|
export function createClientFromEnv(env) {
|
|
625
634
|
const getEnv = (key) => env?.[key] ?? process.env[key];
|
|
635
|
+
// Deprecation warnings for old env var names (log once per process)
|
|
636
|
+
const warned = new Set();
|
|
626
637
|
const warnDeprecated = (oldKey, newKey) => {
|
|
627
|
-
if (process.env[oldKey] && !process.env[newKey]) {
|
|
638
|
+
if (process.env[oldKey] && !process.env[newKey] && !warned.has(oldKey)) {
|
|
628
639
|
console.warn(`[moogo] Deprecation: ${oldKey} is deprecated, use ${newKey} instead`);
|
|
640
|
+
warned.add(oldKey);
|
|
629
641
|
}
|
|
630
642
|
};
|
|
631
|
-
// Deprecation warnings for old env var names
|
|
632
643
|
warnDeprecated('MOOGO_API_URL', 'MOOGO_BASE_URL');
|
|
633
644
|
warnDeprecated('MOOGO_BUCKET_ENDPOINT', 'MOOGO_BASE_URL');
|
|
634
645
|
warnDeprecated('MOOGO_BUCKET_ACCESS_KEY_ID', 'MOOGO_STORAGE_ACCESS_KEY_ID');
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -304,7 +304,7 @@ export class MoogoClient {
|
|
|
304
304
|
return response.buckets;
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
/** Get bucket info including usage stats */
|
|
307
|
+
/** Get bucket info including usage stats (by bucket ID) */
|
|
308
308
|
async getBucketInfo(bucketId: string): Promise<BucketInfoResponse> {
|
|
309
309
|
const response = await this.requestStorage<BucketInfoResponse>(
|
|
310
310
|
'GET',
|
|
@@ -313,6 +313,16 @@ export class MoogoClient {
|
|
|
313
313
|
return response;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
+
/** Get bucket info by name (resolves name to ID) */
|
|
317
|
+
async getBucketInfoByName(bucketName: string): Promise<BucketInfoResponse> {
|
|
318
|
+
const buckets = await this.listBuckets();
|
|
319
|
+
const bucket = buckets.find(b => b.name === bucketName);
|
|
320
|
+
if (!bucket) {
|
|
321
|
+
throw new Error(`Bucket not found: ${bucketName}`);
|
|
322
|
+
}
|
|
323
|
+
return this.getBucketInfo(bucket.id);
|
|
324
|
+
}
|
|
325
|
+
|
|
316
326
|
/** Create a new bucket */
|
|
317
327
|
async createBucket(request: CreateBucketRequest): Promise<Bucket> {
|
|
318
328
|
const response = await this.requestStorage<{ success: true; bucket: Bucket }>(
|
|
@@ -370,7 +380,7 @@ export class MoogoClient {
|
|
|
370
380
|
): Promise<UploadResponse> {
|
|
371
381
|
const { bucket = 'default', contentType, cacheControl, onProgress, signal } = options;
|
|
372
382
|
|
|
373
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
383
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
374
384
|
const query: Record<string, string> = {};
|
|
375
385
|
if (bucket !== 'default') query.bucket = bucket;
|
|
376
386
|
|
|
@@ -481,7 +491,7 @@ export class MoogoClient {
|
|
|
481
491
|
): Promise<Response> {
|
|
482
492
|
const { bucket = 'default', signal, range } = options;
|
|
483
493
|
|
|
484
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
494
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
485
495
|
const query: Record<string, string> = {};
|
|
486
496
|
if (bucket !== 'default') query.bucket = bucket;
|
|
487
497
|
|
|
@@ -556,7 +566,7 @@ export class MoogoClient {
|
|
|
556
566
|
): Promise<{ headers: Headers; exists: boolean }> {
|
|
557
567
|
const { bucket = 'default', signal } = options;
|
|
558
568
|
|
|
559
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
569
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
560
570
|
const query: Record<string, string> = {};
|
|
561
571
|
if (bucket !== 'default') query.bucket = bucket;
|
|
562
572
|
|
|
@@ -607,7 +617,7 @@ export class MoogoClient {
|
|
|
607
617
|
async deleteObject(key: string, options: { bucket?: string; signal?: AbortSignal } = {}): Promise<void> {
|
|
608
618
|
const { bucket = 'default', signal } = options;
|
|
609
619
|
|
|
610
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
620
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
611
621
|
const query: Record<string, string> = {};
|
|
612
622
|
if (bucket !== 'default') query.bucket = bucket;
|
|
613
623
|
|
|
@@ -636,7 +646,7 @@ export class MoogoClient {
|
|
|
636
646
|
): Promise<PresignedUrlResponse> {
|
|
637
647
|
const { bucket = 'default', signal } = options;
|
|
638
648
|
|
|
639
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign`;
|
|
649
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
|
|
640
650
|
const query: Record<string, string> = {};
|
|
641
651
|
if (bucket !== 'default') query.bucket = bucket;
|
|
642
652
|
|
|
@@ -655,7 +665,7 @@ export class MoogoClient {
|
|
|
655
665
|
): Promise<SignedUploadResponse> {
|
|
656
666
|
const { bucket = 'default', signal } = options;
|
|
657
667
|
|
|
658
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}/sign-upload`;
|
|
668
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
|
|
659
669
|
const query: Record<string, string> = {};
|
|
660
670
|
if (bucket !== 'default') query.bucket = bucket;
|
|
661
671
|
|
|
@@ -674,7 +684,7 @@ export class MoogoClient {
|
|
|
674
684
|
): Promise<ObjectResponse> {
|
|
675
685
|
const { bucket = 'default', signal } = options;
|
|
676
686
|
|
|
677
|
-
const path = `/p/${this.projectId}/${encodeURIComponent(key)}`;
|
|
687
|
+
const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}`;
|
|
678
688
|
const query: Record<string, string> = {};
|
|
679
689
|
if (bucket !== 'default') query.bucket = bucket;
|
|
680
690
|
|
|
@@ -834,13 +844,16 @@ export function createSQLClient(config: {
|
|
|
834
844
|
/** Convenience function to create a client from environment variables */
|
|
835
845
|
export function createClientFromEnv(env?: Record<string, string | undefined>): MoogoClient {
|
|
836
846
|
const getEnv = (key: string) => env?.[key] ?? process.env[key];
|
|
847
|
+
|
|
848
|
+
// Deprecation warnings for old env var names (log once per process)
|
|
849
|
+
const warned = new Set<string>();
|
|
837
850
|
const warnDeprecated = (oldKey: string, newKey: string) => {
|
|
838
|
-
if (process.env[oldKey] && !process.env[newKey]) {
|
|
851
|
+
if (process.env[oldKey] && !process.env[newKey] && !warned.has(oldKey)) {
|
|
839
852
|
console.warn(`[moogo] Deprecation: ${oldKey} is deprecated, use ${newKey} instead`);
|
|
853
|
+
warned.add(oldKey);
|
|
840
854
|
}
|
|
841
855
|
};
|
|
842
856
|
|
|
843
|
-
// Deprecation warnings for old env var names
|
|
844
857
|
warnDeprecated('MOOGO_API_URL', 'MOOGO_BASE_URL');
|
|
845
858
|
warnDeprecated('MOOGO_BUCKET_ENDPOINT', 'MOOGO_BASE_URL');
|
|
846
859
|
warnDeprecated('MOOGO_BUCKET_ACCESS_KEY_ID', 'MOOGO_STORAGE_ACCESS_KEY_ID');
|