@venturialstd/backblaze 0.0.1 → 0.0.3

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.
Files changed (62) hide show
  1. package/README.md +40 -8
  2. package/dist/client/backblaze.client.d.ts +1 -0
  3. package/dist/client/backblaze.client.d.ts.map +1 -1
  4. package/dist/client/backblaze.client.js +26 -4
  5. package/dist/client/backblaze.client.js.map +1 -1
  6. package/dist/constants/backblaze.settings.constants.d.ts +1 -0
  7. package/dist/constants/backblaze.settings.constants.d.ts.map +1 -1
  8. package/dist/constants/backblaze.settings.constants.js +1 -0
  9. package/dist/constants/backblaze.settings.constants.js.map +1 -1
  10. package/dist/dtos/create-bucket.dto.d.ts +2 -0
  11. package/dist/dtos/create-bucket.dto.d.ts.map +1 -1
  12. package/dist/dtos/create-bucket.dto.js +7 -0
  13. package/dist/dtos/create-bucket.dto.js.map +1 -1
  14. package/dist/dtos/delete-bucket.dto.d.ts +4 -0
  15. package/dist/dtos/delete-bucket.dto.d.ts.map +1 -0
  16. package/dist/dtos/delete-bucket.dto.js +22 -0
  17. package/dist/dtos/delete-bucket.dto.js.map +1 -0
  18. package/dist/dtos/delete-object.dto.d.ts +6 -0
  19. package/dist/dtos/delete-object.dto.d.ts.map +1 -0
  20. package/dist/dtos/delete-object.dto.js +33 -0
  21. package/dist/dtos/delete-object.dto.js.map +1 -0
  22. package/dist/dtos/get-object.dto.d.ts +6 -0
  23. package/dist/dtos/get-object.dto.d.ts.map +1 -0
  24. package/dist/dtos/get-object.dto.js +33 -0
  25. package/dist/dtos/get-object.dto.js.map +1 -0
  26. package/dist/dtos/head-bucket.dto.d.ts +4 -0
  27. package/dist/dtos/head-bucket.dto.d.ts.map +1 -0
  28. package/dist/dtos/head-bucket.dto.js +22 -0
  29. package/dist/dtos/head-bucket.dto.js.map +1 -0
  30. package/dist/dtos/head-object.dto.d.ts +6 -0
  31. package/dist/dtos/head-object.dto.d.ts.map +1 -0
  32. package/dist/dtos/head-object.dto.js +33 -0
  33. package/dist/dtos/head-object.dto.js.map +1 -0
  34. package/dist/dtos/list-objects.dto.d.ts +1 -1
  35. package/dist/dtos/list-objects.dto.d.ts.map +1 -1
  36. package/dist/dtos/list-objects.dto.js +2 -2
  37. package/dist/dtos/list-objects.dto.js.map +1 -1
  38. package/dist/dtos/put-object.dto.d.ts +1 -1
  39. package/dist/dtos/put-object.dto.d.ts.map +1 -1
  40. package/dist/dtos/put-object.dto.js +2 -2
  41. package/dist/dtos/put-object.dto.js.map +1 -1
  42. package/dist/errors/backblaze-s3.error.d.ts +47 -0
  43. package/dist/errors/backblaze-s3.error.d.ts.map +1 -0
  44. package/dist/errors/backblaze-s3.error.js +52 -0
  45. package/dist/errors/backblaze-s3.error.js.map +1 -0
  46. package/dist/index.d.ts +6 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +6 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/services/backblaze-bucket.service.d.ts +10 -7
  51. package/dist/services/backblaze-bucket.service.d.ts.map +1 -1
  52. package/dist/services/backblaze-bucket.service.js +12 -12
  53. package/dist/services/backblaze-bucket.service.js.map +1 -1
  54. package/dist/services/backblaze-object.service.d.ts +18 -13
  55. package/dist/services/backblaze-object.service.d.ts.map +1 -1
  56. package/dist/services/backblaze-object.service.js +52 -42
  57. package/dist/services/backblaze-object.service.js.map +1 -1
  58. package/dist/utils/s3-xml.util.d.ts +4 -0
  59. package/dist/utils/s3-xml.util.d.ts.map +1 -1
  60. package/dist/utils/s3-xml.util.js +16 -0
  61. package/dist/utils/s3-xml.util.js.map +1 -1
  62. package/package.json +5 -3
package/README.md CHANGED
@@ -24,11 +24,16 @@ yarn add @venturialstd/backblaze
24
24
 
25
25
  ## Basic usage
26
26
 
27
+ All bucket and object methods accept **DTOs** (e.g. `CreateBucketDto`, `PutObjectDto`, `ListObjectsDto`). When the API returns an error (4xx/5xx), the client throws **`BackblazeS3Error`** with the Backblaze/S3 `Code`, `Message`, and `statusCode` so the error message is visible to callers.
28
+
27
29
  ```ts
28
30
  import {
29
31
  BackblazeModule,
30
32
  BackblazeBucketService,
31
33
  BackblazeObjectService,
34
+ CreateBucketDto,
35
+ PutObjectDto,
36
+ ListObjectsDto,
32
37
  BucketAcl,
33
38
  ContentType,
34
39
  } from '@venturialstd/backblaze';
@@ -46,29 +51,55 @@ export class MyService {
46
51
  ) {}
47
52
 
48
53
  async listBuckets() {
49
- // Returns { buckets: Array<{ name, creationDate }>, owner? }
50
54
  const { buckets } = await this.bucketService.listBuckets();
51
55
  return buckets;
52
56
  }
53
57
 
54
- async createBucket(name: string) {
55
- await this.bucketService.createBucket(name, { acl: BucketAcl.Private });
58
+ async createBucket(dto: CreateBucketDto) {
59
+ await this.bucketService.createBucket(
60
+ { ...dto, acl: dto.acl ?? BucketAcl.Private },
61
+ );
56
62
  }
57
63
 
58
64
  async upload(bucketName: string, key: string, body: Buffer) {
59
- await this.objectService.putObject(bucketName, key, body, {
65
+ await this.objectService.putObject({
66
+ bucketName,
67
+ key,
68
+ body,
60
69
  contentType: ContentType.ApplicationJson,
61
70
  });
62
71
  }
63
72
 
64
73
  async download(bucketName: string, key: string) {
65
- return this.objectService.getObject(bucketName, key);
74
+ return this.objectService.getObject({ bucketName, key });
66
75
  }
67
76
 
68
77
  async listObjects(bucketName: string, prefix?: string) {
69
- // Returns { objects, isTruncated, keyCount, nextContinuationToken?, prefix? }
70
- return this.objectService.listObjectsV2(bucketName, { prefix, maxKeys: 1000 });
78
+ return this.objectService.listObjectsV2({
79
+ bucketName,
80
+ prefix,
81
+ maxKeys: 1000,
82
+ });
83
+ }
84
+ }
85
+ ```
86
+
87
+ ### Error handling
88
+
89
+ On 4xx/5xx the client throws **`BackblazeS3Error`** with the parsed S3 `Code`, `Message`, and `statusCode`. Use it for programmatic handling:
90
+
91
+ ```ts
92
+ import { BackblazeS3Error, BackblazeS3ErrorCode } from '@venturialstd/backblaze';
93
+
94
+ try {
95
+ await this.objectService.getObject({ bucketName: 'b', key: 'k' });
96
+ } catch (err) {
97
+ if (err instanceof BackblazeS3Error) {
98
+ console.error(err.message); // Backblaze/S3 error message
99
+ if (err.isNotFound) { /* ... */ }
100
+ if (err.isAccessDenied) { /* ... */ }
71
101
  }
102
+ throw err;
72
103
  }
73
104
  ```
74
105
 
@@ -97,7 +128,8 @@ await this.bucketService.listBuckets({
97
128
 
98
129
  - The AWS SDK is not used; requests are signed with `aws4` and sent with `HttpService`.
99
130
  - Backblaze only supports "private" and "public-read" ACLs at bucket level.
100
- - **Developer-friendly API**: use `BucketAcl`, `ContentType`, and `BackblazeRegion` enums; options are typed (`CreateBucketOptions`, `PutObjectOptions`, etc.); `listBuckets()` and `listObjectsV2()` return normalized results (`ListBucketsResult`, `ListObjectsV2Result`). Use `listBucketsRaw()` and `listObjectsV2Raw()` when you need the raw S3 response.
131
+ - **DTOs**: All operations use DTOs (`CreateBucketDto`, `DeleteBucketDto`, `HeadBucketDto`, `PutObjectDto`, `GetObjectDto`, `DeleteObjectDto`, `HeadObjectDto`, `ListObjectsDto`). Enums: `BucketAcl`, `ContentType`, `BackblazeRegion`. Normalized results: `listBuckets()`, `listObjectsV2()`. Raw: `listBucketsRaw()`, `listObjectsV2Raw()`.
132
+ - **Errors**: On API errors the client throws `BackblazeS3Error` with the Backblaze/S3 message and code so the error is visible (e.g. in exception filters). Use `BackblazeS3ErrorCode` for known codes.
101
133
  - Developed and maintained by Venturial.
102
134
 
103
135
  ## License
@@ -12,6 +12,7 @@ export declare class BackblazeClient {
12
12
  headers: Record<string, string>;
13
13
  status: number;
14
14
  }>;
15
+ private getResponseBody;
15
16
  private getConfig;
16
17
  }
17
18
  //# sourceMappingURL=backblaze.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.client.d.ts","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMhE,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,+CAA+C,CAAC;AAGvD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe;IAGtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzD,mBAAmB,CACvB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;YA+ChE,SAAS;CA8BxB"}
1
+ {"version":3,"file":"backblaze.client.d.ts","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQhE,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,+CAA+C,CAAC;AAGvD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe;IAGtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzD,mBAAmB,CACvB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA8D9E,OAAO,CAAC,eAAe;YAOT,SAAS;CAiCxB"}
@@ -50,6 +50,7 @@ const rxjs_1 = require("rxjs");
50
50
  const aws4 = __importStar(require("aws4"));
51
51
  const backblaze_constant_1 = require("../constants/backblaze.constant");
52
52
  const backblaze_settings_constants_1 = require("../constants/backblaze.settings.constants");
53
+ const backblaze_s3_error_1 = require("../errors/backblaze-s3.error");
53
54
  const s3_xml_util_1 = require("../utils/s3-xml.util");
54
55
  let BackblazeClient = class BackblazeClient {
55
56
  httpService;
@@ -91,17 +92,36 @@ let BackblazeClient = class BackblazeClient {
91
92
  try {
92
93
  const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request(axiosConfig));
93
94
  let data = response.data;
94
- if (responseType === 'json' && typeof data === 'string' && data.trim().startsWith('<?xml')) {
95
+ if (typeof data === 'string' && data.trim().startsWith('<?xml')) {
95
96
  data = (0, s3_xml_util_1.parseXmlToJson)(data);
96
97
  }
97
98
  this.logger?.log(`Backblaze S3 request OK: ${method} ${url}`);
98
99
  return { data, headers: response.headers, status: response.status };
99
100
  }
100
101
  catch (err) {
101
- this.logger.error(`Backblaze S3 request error: ${method} ${url} - ${err}`);
102
+ const axiosErr = err;
103
+ const status = axiosErr?.response?.status;
104
+ const urlForLog = axiosErr?.config?.url ?? url;
105
+ const body = this.getResponseBody(axiosErr);
106
+ const payload = body ? (0, s3_xml_util_1.parseS3ErrorXml)(body) : undefined;
107
+ const code = payload?.Code ?? (status === 404 ? 'NotFound' : status ? 'HttpError' : 'NetworkError');
108
+ const message = payload?.Message ??
109
+ (status != null ? `Request failed with status code ${status}` : err.message);
110
+ this.logger?.error(`Backblaze S3 request error: ${method} ${urlForLog} - ${code}: ${message}`);
111
+ if (status != null) {
112
+ throw new backblaze_s3_error_1.BackblazeS3Error(code, message, status, (payload ?? {}));
113
+ }
102
114
  throw err;
103
115
  }
104
116
  }
117
+ getResponseBody(err) {
118
+ const data = err.response?.data;
119
+ if (typeof data === 'string')
120
+ return data;
121
+ if (Buffer.isBuffer(data))
122
+ return data.toString('utf8');
123
+ return undefined;
124
+ }
105
125
  async getConfig(options) {
106
126
  const region = options?.region ??
107
127
  (await this.settings.get(backblaze_settings_constants_1.BACKBLAZE_SETTING_KEYS.GENERAL_REGION)) ??
@@ -113,11 +133,13 @@ let BackblazeClient = class BackblazeClient {
113
133
  if (!accessKeyId || !secretAccessKey) {
114
134
  throw new Error('Backblaze credentials not provided');
115
135
  }
116
- const baseUrl = backblaze_constant_1.BACKBLAZE_ENDPOINT_PATTERN.replace('{region}', region);
136
+ const defaultBaseUrl = backblaze_constant_1.BACKBLAZE_ENDPOINT_PATTERN.replace('{region}', region);
137
+ const baseUrlRaw = (await this.settings.get(backblaze_settings_constants_1.BACKBLAZE_SETTING_KEYS.GENERAL_BASE_URL)) ?? defaultBaseUrl;
138
+ const baseUrl = baseUrlRaw.endsWith('/') ? baseUrlRaw.slice(0, -1) : baseUrlRaw;
117
139
  const host = baseUrl.replace(/^https?:\/\//, '').replace(/\/$/, '');
118
140
  return {
119
141
  host,
120
- baseUrl: baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl,
142
+ baseUrl,
121
143
  region,
122
144
  credentials: { accessKeyId, secretAccessKey },
123
145
  };
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.client.js","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backblaze.client.js","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const BACKBLAZE_SETTING_KEYS: {
2
+ readonly GENERAL_BASE_URL: "GLOBAL:BACKBLAZE:GENERAL:BASE_URL";
2
3
  readonly GENERAL_REGION: "GLOBAL:BACKBLAZE:GENERAL:REGION";
3
4
  readonly GENERAL_ACCESS_KEY_ID: "GLOBAL:BACKBLAZE:GENERAL:ACCESS_KEY_ID";
4
5
  readonly GENERAL_SECRET_ACCESS_KEY: "GLOBAL:BACKBLAZE:GENERAL:SECRET_ACCESS_KEY";
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.settings.constants.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC"}
1
+ {"version":3,"file":"backblaze.settings.constants.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BACKBLAZE_SETTING_KEYS = void 0;
4
4
  exports.BACKBLAZE_SETTING_KEYS = {
5
+ GENERAL_BASE_URL: 'GLOBAL:BACKBLAZE:GENERAL:BASE_URL',
5
6
  GENERAL_REGION: 'GLOBAL:BACKBLAZE:GENERAL:REGION',
6
7
  GENERAL_ACCESS_KEY_ID: 'GLOBAL:BACKBLAZE:GENERAL:ACCESS_KEY_ID',
7
8
  GENERAL_SECRET_ACCESS_KEY: 'GLOBAL:BACKBLAZE:GENERAL:SECRET_ACCESS_KEY',
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.settings.constants.js","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;IACpC,cAAc,EAAE,iCAAiC;IACjD,qBAAqB,EAAE,wCAAwC;IAC/D,yBAAyB,EAAE,4CAA4C;CAC/D,CAAC"}
1
+ {"version":3,"file":"backblaze.settings.constants.js","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;IACpC,gBAAgB,EAAE,mCAAmC;IACrD,cAAc,EAAE,iCAAiC;IACjD,qBAAqB,EAAE,wCAAwC;IAC/D,yBAAyB,EAAE,4CAA4C;CAC/D,CAAC"}
@@ -2,5 +2,7 @@ import { BucketAcl } from '../enums/backblaze.enums';
2
2
  export declare class CreateBucketDto {
3
3
  bucketName: string;
4
4
  acl?: BucketAcl;
5
+ /** Region for CreateBucketConfiguration XML. If omitted, client region is used. */
6
+ region?: string;
5
7
  }
6
8
  //# sourceMappingURL=create-bucket.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-bucket.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-bucket.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,eAAe;IAE1B,UAAU,EAAG,MAAM,CAAC;IAIpB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB"}
1
+ {"version":3,"file":"create-bucket.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-bucket.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,eAAe;IAE1B,UAAU,EAAG,MAAM,CAAC;IAIpB,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB,mFAAmF;IAGnF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -15,6 +15,8 @@ const backblaze_enums_1 = require("../enums/backblaze.enums");
15
15
  class CreateBucketDto {
16
16
  bucketName;
17
17
  acl;
18
+ /** Region for CreateBucketConfiguration XML. If omitted, client region is used. */
19
+ region;
18
20
  }
19
21
  exports.CreateBucketDto = CreateBucketDto;
20
22
  __decorate([
@@ -26,4 +28,9 @@ __decorate([
26
28
  (0, class_validator_1.IsIn)(Object.values(backblaze_enums_1.BucketAcl)),
27
29
  __metadata("design:type", String)
28
30
  ], CreateBucketDto.prototype, "acl", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsOptional)(),
33
+ (0, class_validator_1.IsString)(),
34
+ __metadata("design:type", String)
35
+ ], CreateBucketDto.prototype, "region", void 0);
29
36
  //# sourceMappingURL=create-bucket.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-bucket.dto.js","sourceRoot":"","sources":["../../src/dtos/create-bucket.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6D;AAE7D,8DAAqD;AAErD,MAAa,eAAe;IAE1B,UAAU,CAAU;IAIpB,GAAG,CAAa;CACjB;AAPD,0CAOC;AALC;IADC,IAAA,0BAAQ,GAAE;;mDACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,MAAM,CAAC,MAAM,CAAC,2BAAS,CAAC,CAAC;;4CACf"}
1
+ {"version":3,"file":"create-bucket.dto.js","sourceRoot":"","sources":["../../src/dtos/create-bucket.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6D;AAE7D,8DAAqD;AAErD,MAAa,eAAe;IAE1B,UAAU,CAAU;IAIpB,GAAG,CAAa;IAEhB,mFAAmF;IAGnF,MAAM,CAAU;CACjB;AAZD,0CAYC;AAVC;IADC,IAAA,0BAAQ,GAAE;;mDACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,MAAM,CAAC,MAAM,CAAC,2BAAS,CAAC,CAAC;;4CACf;AAKhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACK"}
@@ -0,0 +1,4 @@
1
+ export declare class DeleteBucketDto {
2
+ bucketName: string;
3
+ }
4
+ //# sourceMappingURL=delete-bucket.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/delete-bucket.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAE1B,UAAU,EAAG,MAAM,CAAC;CACrB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DeleteBucketDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class DeleteBucketDto {
15
+ bucketName;
16
+ }
17
+ exports.DeleteBucketDto = DeleteBucketDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], DeleteBucketDto.prototype, "bucketName", void 0);
22
+ //# sourceMappingURL=delete-bucket.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket.dto.js","sourceRoot":"","sources":["../../src/dtos/delete-bucket.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2C;AAE3C,MAAa,eAAe;IAE1B,UAAU,CAAU;CACrB;AAHD,0CAGC;AADC;IADC,IAAA,0BAAQ,GAAE;;mDACS"}
@@ -0,0 +1,6 @@
1
+ export declare class DeleteObjectDto {
2
+ bucketName: string;
3
+ key: string;
4
+ versionId?: string;
5
+ }
6
+ //# sourceMappingURL=delete-object.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-object.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/delete-object.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAE1B,UAAU,EAAG,MAAM,CAAC;IAGpB,GAAG,EAAG,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DeleteObjectDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class DeleteObjectDto {
15
+ bucketName;
16
+ key;
17
+ versionId;
18
+ }
19
+ exports.DeleteObjectDto = DeleteObjectDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ __metadata("design:type", String)
23
+ ], DeleteObjectDto.prototype, "bucketName", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ __metadata("design:type", String)
27
+ ], DeleteObjectDto.prototype, "key", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsOptional)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], DeleteObjectDto.prototype, "versionId", void 0);
33
+ //# sourceMappingURL=delete-object.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-object.dto.js","sourceRoot":"","sources":["../../src/dtos/delete-object.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,eAAe;IAE1B,UAAU,CAAU;IAGpB,GAAG,CAAU;IAIb,SAAS,CAAU;CACpB;AAVD,0CAUC;AARC;IADC,IAAA,0BAAQ,GAAE;;mDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;4CACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACQ"}
@@ -0,0 +1,6 @@
1
+ export declare class GetObjectDto {
2
+ bucketName: string;
3
+ key: string;
4
+ versionId?: string;
5
+ }
6
+ //# sourceMappingURL=get-object.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-object.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/get-object.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAEvB,UAAU,EAAG,MAAM,CAAC;IAGpB,GAAG,EAAG,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GetObjectDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class GetObjectDto {
15
+ bucketName;
16
+ key;
17
+ versionId;
18
+ }
19
+ exports.GetObjectDto = GetObjectDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ __metadata("design:type", String)
23
+ ], GetObjectDto.prototype, "bucketName", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ __metadata("design:type", String)
27
+ ], GetObjectDto.prototype, "key", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsOptional)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], GetObjectDto.prototype, "versionId", void 0);
33
+ //# sourceMappingURL=get-object.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-object.dto.js","sourceRoot":"","sources":["../../src/dtos/get-object.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,YAAY;IAEvB,UAAU,CAAU;IAGpB,GAAG,CAAU;IAIb,SAAS,CAAU;CACpB;AAVD,oCAUC;AARC;IADC,IAAA,0BAAQ,GAAE;;gDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;yCACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACQ"}
@@ -0,0 +1,4 @@
1
+ export declare class HeadBucketDto {
2
+ bucketName: string;
3
+ }
4
+ //# sourceMappingURL=head-bucket.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-bucket.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/head-bucket.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IAExB,UAAU,EAAG,MAAM,CAAC;CACrB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HeadBucketDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class HeadBucketDto {
15
+ bucketName;
16
+ }
17
+ exports.HeadBucketDto = HeadBucketDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], HeadBucketDto.prototype, "bucketName", void 0);
22
+ //# sourceMappingURL=head-bucket.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-bucket.dto.js","sourceRoot":"","sources":["../../src/dtos/head-bucket.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2C;AAE3C,MAAa,aAAa;IAExB,UAAU,CAAU;CACrB;AAHD,sCAGC;AADC;IADC,IAAA,0BAAQ,GAAE;;iDACS"}
@@ -0,0 +1,6 @@
1
+ export declare class HeadObjectDto {
2
+ bucketName: string;
3
+ key: string;
4
+ versionId?: string;
5
+ }
6
+ //# sourceMappingURL=head-object.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-object.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/head-object.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IAExB,UAAU,EAAG,MAAM,CAAC;IAGpB,GAAG,EAAG,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HeadObjectDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class HeadObjectDto {
15
+ bucketName;
16
+ key;
17
+ versionId;
18
+ }
19
+ exports.HeadObjectDto = HeadObjectDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ __metadata("design:type", String)
23
+ ], HeadObjectDto.prototype, "bucketName", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ __metadata("design:type", String)
27
+ ], HeadObjectDto.prototype, "key", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsOptional)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], HeadObjectDto.prototype, "versionId", void 0);
33
+ //# sourceMappingURL=head-object.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-object.dto.js","sourceRoot":"","sources":["../../src/dtos/head-object.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,aAAa;IAExB,UAAU,CAAU;IAGpB,GAAG,CAAU;IAIb,SAAS,CAAU;CACpB;AAVD,sCAUC;AARC;IADC,IAAA,0BAAQ,GAAE;;iDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;0CACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gDACQ"}
@@ -1,5 +1,5 @@
1
1
  export declare class ListObjectsDto {
2
- bucket: string;
2
+ bucketName: string;
3
3
  prefix?: string;
4
4
  delimiter?: string;
5
5
  maxKeys?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"list-objects.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/list-objects.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IAEzB,MAAM,EAAG,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"list-objects.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/list-objects.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IAEzB,UAAU,EAAG,MAAM,CAAC;IAIpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ListObjectsDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  class ListObjectsDto {
15
- bucket;
15
+ bucketName;
16
16
  prefix;
17
17
  delimiter;
18
18
  maxKeys;
@@ -23,7 +23,7 @@ exports.ListObjectsDto = ListObjectsDto;
23
23
  __decorate([
24
24
  (0, class_validator_1.IsString)(),
25
25
  __metadata("design:type", String)
26
- ], ListObjectsDto.prototype, "bucket", void 0);
26
+ ], ListObjectsDto.prototype, "bucketName", void 0);
27
27
  __decorate([
28
28
  (0, class_validator_1.IsOptional)(),
29
29
  (0, class_validator_1.IsString)(),
@@ -1 +1 @@
1
- {"version":3,"file":"list-objects.dto.js","sourceRoot":"","sources":["../../src/dtos/list-objects.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AAEjE,MAAa,cAAc;IAEzB,MAAM,CAAU;IAIhB,MAAM,CAAU;IAIhB,SAAS,CAAU;IAKnB,OAAO,CAAU;IAIjB,iBAAiB,CAAU;IAI3B,UAAU,CAAU;CACrB;AAxBD,wCAwBC;AAtBC;IADC,IAAA,0BAAQ,GAAE;;8CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACQ;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,IAAI,CAAC;;+CACO;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACgB;AAI3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACS"}
1
+ {"version":3,"file":"list-objects.dto.js","sourceRoot":"","sources":["../../src/dtos/list-objects.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AAEjE,MAAa,cAAc;IAEzB,UAAU,CAAU;IAIpB,MAAM,CAAU;IAIhB,SAAS,CAAU;IAKnB,OAAO,CAAU;IAIjB,iBAAiB,CAAU;IAI3B,UAAU,CAAU;CACrB;AAxBD,wCAwBC;AAtBC;IADC,IAAA,0BAAQ,GAAE;;kDACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACQ;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,IAAI,CAAC;;+CACO;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACgB;AAI3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACS"}
@@ -1,5 +1,5 @@
1
1
  export declare class PutObjectDto {
2
- bucket: string;
2
+ bucketName: string;
3
3
  key: string;
4
4
  /** Body: Buffer, Uint8Array, Blob, string, or ReadableStream */
5
5
  body?: Buffer | Uint8Array | Blob | string | ReadableStream;
@@ -1 +1 @@
1
- {"version":3,"file":"put-object.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/put-object.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAEvB,MAAM,EAAG,MAAM,CAAC;IAGhB,GAAG,EAAG,MAAM,CAAC;IAEb,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC;IAI5D,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAI5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"put-object.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/put-object.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAEvB,UAAU,EAAG,MAAM,CAAC;IAGpB,GAAG,EAAG,MAAM,CAAC;IAEb,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC;IAI5D,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAI5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC"}
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PutObjectDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  class PutObjectDto {
15
- bucket;
15
+ bucketName;
16
16
  key;
17
17
  /** Body: Buffer, Uint8Array, Blob, string, or ReadableStream */
18
18
  body;
@@ -26,7 +26,7 @@ exports.PutObjectDto = PutObjectDto;
26
26
  __decorate([
27
27
  (0, class_validator_1.IsString)(),
28
28
  __metadata("design:type", String)
29
- ], PutObjectDto.prototype, "bucket", void 0);
29
+ ], PutObjectDto.prototype, "bucketName", void 0);
30
30
  __decorate([
31
31
  (0, class_validator_1.IsString)(),
32
32
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"put-object.dto.js","sourceRoot":"","sources":["../../src/dtos/put-object.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,YAAY;IAEvB,MAAM,CAAU;IAGhB,GAAG,CAAU;IAEb,gEAAgE;IAChE,IAAI,CAAwD;IAI5D,WAAW,CAAU;IAIrB,YAAY,CAAU;IAItB,kBAAkB,CAAU;IAI5B,eAAe,CAAU;IAGzB,QAAQ,CAA0B;CACnC;AA5BD,oCA4BC;AA1BC;IADC,IAAA,0BAAQ,GAAE;;4CACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;yCACE;AAOb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACW;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACiB;AAI5B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACc;AAGzB;IADC,IAAA,4BAAU,GAAE;;8CACqB"}
1
+ {"version":3,"file":"put-object.dto.js","sourceRoot":"","sources":["../../src/dtos/put-object.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,YAAY;IAEvB,UAAU,CAAU;IAGpB,GAAG,CAAU;IAEb,gEAAgE;IAChE,IAAI,CAAwD;IAI5D,WAAW,CAAU;IAIrB,YAAY,CAAU;IAItB,kBAAkB,CAAU;IAI5B,eAAe,CAAU;IAGzB,QAAQ,CAA0B;CACnC;AA5BD,oCA4BC;AA1BC;IADC,IAAA,0BAAQ,GAAE;;gDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;yCACE;AAOb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACW;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACiB;AAI5B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACc;AAGzB;IADC,IAAA,4BAAU,GAAE;;8CACqB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Structured S3 error payload as returned by Backblaze B2 / S3-Compatible API (parsed from XML).
3
+ */
4
+ export interface S3ErrorPayload {
5
+ Code?: string;
6
+ Message?: string;
7
+ Resource?: string;
8
+ RequestId?: string;
9
+ HostId?: string;
10
+ Key?: string;
11
+ BucketName?: string;
12
+ [key: string]: unknown;
13
+ }
14
+ /**
15
+ * Thrown when the S3-Compatible API returns an error (4xx/5xx).
16
+ * Exposes the S3 error Code, Message, HTTP status, and optional details for programmatic handling.
17
+ */
18
+ export declare class BackblazeS3Error extends Error {
19
+ readonly code: string;
20
+ readonly statusCode: number;
21
+ readonly requestId?: string;
22
+ readonly resource?: string;
23
+ readonly key?: string;
24
+ readonly bucketName?: string;
25
+ readonly details: S3ErrorPayload;
26
+ constructor(code: string, message: string, statusCode: number, details?: S3ErrorPayload);
27
+ /** Whether this is a "not found" type error (NoSuchKey, NoSuchBucket). */
28
+ get isNotFound(): boolean;
29
+ /** Whether this is an access denied / forbidden error. */
30
+ get isAccessDenied(): boolean;
31
+ }
32
+ /** Common S3 error codes for type-safe checks. */
33
+ export declare const BackblazeS3ErrorCode: {
34
+ readonly AccessDenied: "AccessDenied";
35
+ readonly BucketAlreadyExists: "BucketAlreadyExists";
36
+ readonly BucketAlreadyOwnedByYou: "BucketAlreadyOwnedByYou";
37
+ readonly InvalidBucketName: "InvalidBucketName";
38
+ readonly NoSuchBucket: "NoSuchBucket";
39
+ readonly NoSuchKey: "NoSuchKey";
40
+ readonly NotFound: "404";
41
+ readonly PreconditionFailed: "PreconditionFailed";
42
+ readonly RequestTimeout: "RequestTimeout";
43
+ readonly ServiceUnavailable: "ServiceUnavailable";
44
+ readonly InternalError: "InternalError";
45
+ };
46
+ export type BackblazeS3ErrorCodeType = (typeof BackblazeS3ErrorCode)[keyof typeof BackblazeS3ErrorCode];
47
+ //# sourceMappingURL=backblaze-s3.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backblaze-s3.error.d.ts","sourceRoot":"","sources":["../../src/errors/backblaze-s3.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAG/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,cAAmB;IAc9B,0EAA0E;IAC1E,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,0DAA0D;IAC1D,IAAI,cAAc,IAAI,OAAO,CAE5B;CACF;AAED,kDAAkD;AAClD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAYvB,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}