@zola_do/minio 0.2.16 → 0.2.18

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 CHANGED
@@ -47,17 +47,9 @@ npm install @zola_do/minio
47
47
  npm install @zola_do/nestjs-shared
48
48
  ```
49
49
 
50
- **Note:** If installation fails due to `nestjs-minio-client` postinstall script, use:
51
-
52
- ```bash
53
- npm install @zola_do/minio --ignore-scripts
54
- ```
55
-
56
50
  ### Dependencies
57
51
 
58
- ```bash
59
- npm install nestjs-minio-client
60
- ```
52
+ `@zola_do/minio` bundles the official [`minio`](https://www.npmjs.com/package/minio) client (no install scripts). No extra storage wrapper package is required.
61
53
 
62
54
  ## Quick Start
63
55
 
@@ -437,3 +429,16 @@ ISC
437
429
  - [Contributing](../../CONTRIBUTING.md)
438
430
  - [Code of Conduct](../../CODE_OF_CONDUCT.md)
439
431
  - [Security Policy](../../SECURITY.md)
432
+
433
+
434
+ ## Configuration Validation
435
+
436
+ Validate MinIO settings before bootstrap when object storage is required:
437
+
438
+ ```typescript
439
+ import { validateMinioEnv } from '@zola_do/minio';
440
+
441
+ validateMinioEnv();
442
+ ```
443
+
444
+ Required variables: `MINIO_ENDPOINT`, `MINIO_ACCESSKEY`, `MINIO_SECRETKEY`. `MINIO_PORT` is validated when provided.
package/dist/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from './bucket-name.enum';
4
4
  export * from './min-io.module';
5
5
  export * from './min-io.service';
6
6
  export * from './min-io.zola-object-storage';
7
+ export * from './validate-minio-env.helper';
8
+ export * from './minio-error-response.type';
package/dist/index.js CHANGED
@@ -20,4 +20,6 @@ __exportStar(require("./bucket-name.enum"), exports);
20
20
  __exportStar(require("./min-io.module"), exports);
21
21
  __exportStar(require("./min-io.service"), exports);
22
22
  __exportStar(require("./min-io.zola-object-storage"), exports);
23
+ __exportStar(require("./validate-minio-env.helper"), exports);
24
+ __exportStar(require("./minio-error-response.type"), exports);
23
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,+DAA6C;AAC7C,8DAA4C;AAC5C,8DAA4C"}
@@ -1,2 +1,16 @@
1
+ import { DynamicModule, ModuleMetadata } from '@nestjs/common';
2
+ export interface MinIOModuleOptions {
3
+ endPoint?: string;
4
+ port?: number;
5
+ useSSL?: boolean;
6
+ accessKey?: string;
7
+ secretKey?: string;
8
+ }
9
+ export interface MinIOModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
10
+ inject?: any[];
11
+ useFactory: (...args: any[]) => MinIOModuleOptions | Promise<MinIOModuleOptions>;
12
+ }
1
13
  export declare class MinIOModule {
14
+ static forRoot(options?: MinIOModuleOptions): DynamicModule;
15
+ static forRootAsync(options: MinIOModuleAsyncOptions): DynamicModule;
2
16
  }
@@ -5,29 +5,75 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var _a, _b;
8
+ var MinIOModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.MinIOModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
- const nestjs_minio_client_1 = require("nestjs-minio-client");
12
+ const Minio = require("minio");
13
13
  const min_io_service_1 = require("./min-io.service");
14
14
  const min_io_zola_object_storage_1 = require("./min-io.zola-object-storage");
15
- let MinIOModule = class MinIOModule {
15
+ const min_io_tokens_1 = require("./min-io.tokens");
16
+ function parseBoolean(value, defaultValue) {
17
+ if (value === undefined || value === '') {
18
+ return defaultValue;
19
+ }
20
+ return ['true', '1', 'yes', 'on'].includes(value.toLowerCase());
21
+ }
22
+ function createClientOptions(options = {}) {
23
+ var _a, _b, _c, _d, _e, _f;
24
+ return {
25
+ endPoint: (_a = options.endPoint) !== null && _a !== void 0 ? _a : process.env.MINIO_ENDPOINT,
26
+ port: (_b = options.port) !== null && _b !== void 0 ? _b : Number((_c = process.env.MINIO_PORT) !== null && _c !== void 0 ? _c : 443),
27
+ useSSL: (_d = options.useSSL) !== null && _d !== void 0 ? _d : parseBoolean(process.env.MINIO_USESSL, true),
28
+ accessKey: (_e = options.accessKey) !== null && _e !== void 0 ? _e : process.env.MINIO_ACCESSKEY,
29
+ secretKey: (_f = options.secretKey) !== null && _f !== void 0 ? _f : process.env.MINIO_SECRETKEY,
30
+ };
31
+ }
32
+ function createClientProvider(options = {}) {
33
+ return {
34
+ provide: min_io_tokens_1.MINIO_CLIENT,
35
+ useFactory: () => new Minio.Client(createClientOptions(options)),
36
+ };
37
+ }
38
+ function createAsyncClientProvider(options) {
39
+ var _a;
40
+ return {
41
+ provide: min_io_tokens_1.MINIO_CLIENT,
42
+ useFactory: async (...args) => new Minio.Client(createClientOptions(await options.useFactory(...args))),
43
+ inject: (_a = options.inject) !== null && _a !== void 0 ? _a : [],
44
+ };
45
+ }
46
+ let MinIOModule = MinIOModule_1 = class MinIOModule {
47
+ static forRoot(options = {}) {
48
+ return {
49
+ module: MinIOModule_1,
50
+ providers: [
51
+ createClientProvider(options),
52
+ min_io_service_1.MinIOService,
53
+ min_io_zola_object_storage_1.MinioZolaObjectStorage,
54
+ ],
55
+ exports: [min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
56
+ };
57
+ }
58
+ static forRootAsync(options) {
59
+ var _a;
60
+ return {
61
+ module: MinIOModule_1,
62
+ imports: (_a = options.imports) !== null && _a !== void 0 ? _a : [],
63
+ providers: [
64
+ createAsyncClientProvider(options),
65
+ min_io_service_1.MinIOService,
66
+ min_io_zola_object_storage_1.MinioZolaObjectStorage,
67
+ ],
68
+ exports: [min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
69
+ };
70
+ }
16
71
  };
17
72
  exports.MinIOModule = MinIOModule;
18
- exports.MinIOModule = MinIOModule = __decorate([
73
+ exports.MinIOModule = MinIOModule = MinIOModule_1 = __decorate([
19
74
  (0, common_1.Module)({
20
- imports: [
21
- nestjs_minio_client_1.MinioModule.register({
22
- endPoint: process.env.MINIO_ENDPOINT,
23
- port: Number((_a = process.env.MINIO_PORT) !== null && _a !== void 0 ? _a : 443),
24
- useSSL: Boolean((_b = process.env.MINIO_USESSL) !== null && _b !== void 0 ? _b : true),
25
- accessKey: process.env.MINIO_ACCESSKEY,
26
- secretKey: process.env.MINIO_SECRETKEY,
27
- }),
28
- ],
75
+ providers: [createClientProvider(), min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
29
76
  controllers: [],
30
- providers: [min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
31
77
  exports: [min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
32
78
  })
33
79
  ], MinIOModule);
@@ -1 +1 @@
1
- {"version":3,"file":"min-io.module.js","sourceRoot":"","sources":["../src/min-io.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAwC;AACxC,6DAAkD;AAClD,qDAAgD;AAChD,6EAAsE;AAgB/D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAdvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,iCAAW,CAAC,QAAQ,CAAC;gBACnB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;gBACpC,IAAI,EAAE,MAAM,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,UAAU,mCAAI,GAAG,CAAC;gBAC3C,MAAM,EAAE,OAAO,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,YAAY,mCAAI,IAAI,CAAC;gBACjD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;gBACtC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;aACvC,CAAC;SACH;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,CAAC,6BAAY,EAAE,mDAAsB,CAAC;QACjD,OAAO,EAAE,CAAC,6BAAY,EAAE,mDAAsB,CAAC;KAChD,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"min-io.module.js","sourceRoot":"","sources":["../src/min-io.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,+BAA+B;AAC/B,qDAAgD;AAChD,6EAAsE;AACtE,mDAA+C;AAoB/C,SAAS,YAAY,CACnB,KAAyB,EACzB,YAAqB;IAErB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAA8B,EAAE;;IAEhC,OAAO;QACL,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QACxD,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,MAAM,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,UAAU,mCAAI,GAAG,CAAC;QAC3D,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC;QACtE,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3D,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,OAAO,CAAC,GAAG,CAAC,eAAe;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA8B,EAAE;IAC5D,OAAO;QACL,OAAO,EAAE,4BAAY;QACrB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgC;;IACjE,OAAO;QACL,OAAO,EAAE,4BAAY;QACrB,UAAU,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CACnC,IAAI,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE;KAC7B,CAAC;AACJ,CAAC;AAOM,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,UAA8B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE;gBACT,oBAAoB,CAAC,OAAO,CAAC;gBAC7B,6BAAY;gBACZ,mDAAsB;aACvB;YACD,OAAO,EAAE,CAAC,6BAAY,EAAE,mDAAsB,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;;QAClD,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE;YAC9B,SAAS,EAAE;gBACT,yBAAyB,CAAC,OAAO,CAAC;gBAClC,6BAAY;gBACZ,mDAAsB;aACvB;YACD,OAAO,EAAE,CAAC,6BAAY,EAAE,mDAAsB,CAAC;SAChD,CAAC;IACJ,CAAC;CACF,CAAA;AAzBY,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,oBAAoB,EAAE,EAAE,6BAAY,EAAE,mDAAsB,CAAC;QACzE,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,6BAAY,EAAE,mDAAsB,CAAC;KAChD,CAAC;GACW,WAAW,CAyBvB"}
@@ -1,8 +1,8 @@
1
1
  import { Response } from 'express';
2
- import { MinioService } from 'nestjs-minio-client';
2
+ import * as Minio from 'minio';
3
3
  export declare class MinIOService {
4
- private readonly minioService;
5
- constructor(minioService: MinioService);
4
+ private readonly client;
5
+ constructor(client: Minio.Client);
6
6
  upload(file: Express.Multer.File, bucketName: string, metaData?: {}): Promise<any>;
7
7
  generatePresignedUploadUrl(fileInfo: {
8
8
  originalname: string;
@@ -8,21 +8,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.MinIOService = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
- const nestjs_minio_client_1 = require("nestjs-minio-client");
17
+ const Minio = require("minio");
15
18
  const path_1 = require("path");
16
19
  const crypto_1 = require("crypto");
17
20
  const bucket_name_enum_1 = require("./bucket-name.enum");
21
+ const min_io_tokens_1 = require("./min-io.tokens");
18
22
  let MinIOService = class MinIOService {
19
- constructor(minioService) {
20
- this.minioService = minioService;
23
+ constructor(client) {
24
+ this.client = client;
21
25
  }
22
26
  async upload(file, bucketName, metaData = {}) {
23
27
  try {
24
28
  const filepath = (0, crypto_1.randomUUID)() + (0, path_1.extname)(file.originalname);
25
- await this.minioService.client.putObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, file.buffer, file.size, Object.assign(Object.assign({}, metaData), { 'Content-Type': file.mimetype }));
29
+ await this.client.putObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, file.buffer, file.size, Object.assign(Object.assign({}, metaData), { 'Content-Type': file.mimetype }));
26
30
  return {
27
31
  filepath,
28
32
  bucketName,
@@ -38,7 +42,7 @@ let MinIOService = class MinIOService {
38
42
  var _a;
39
43
  const filepath = (0, crypto_1.randomUUID)() + (0, path_1.extname)(fileInfo.originalname);
40
44
  const duration = Number((_a = process.env.DURATION_OF_PRE_SIGNED_DOCUMENT) !== null && _a !== void 0 ? _a : 120);
41
- const presignedUrl = await this.minioService.client.presignedPutObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, duration);
45
+ const presignedUrl = await this.client.presignedPutObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, duration);
42
46
  const file = {
43
47
  filepath,
44
48
  bucketName: bucketName,
@@ -50,7 +54,7 @@ let MinIOService = class MinIOService {
50
54
  async uploadBuffer(buffer, originalname, mimetype, bucketName, metaData = {}) {
51
55
  try {
52
56
  const filepath = (0, crypto_1.randomUUID)() + (0, path_1.extname)(originalname);
53
- await this.minioService.client.putObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, buffer, Buffer.byteLength(buffer), Object.assign(Object.assign({}, metaData), { 'Content-Type': mimetype }));
57
+ await this.client.putObject(bucket_name_enum_1.BucketNameEnum.MEGP, bucketName ? bucketName + filepath : filepath, buffer, Buffer.byteLength(buffer), Object.assign(Object.assign({}, metaData), { 'Content-Type': mimetype }));
54
58
  return {
55
59
  filepath,
56
60
  bucketName,
@@ -63,7 +67,7 @@ let MinIOService = class MinIOService {
63
67
  }
64
68
  }
65
69
  async download(fileInfo, response) {
66
- const result = await this.minioService.client.getObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
70
+ const result = await this.client.getObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
67
71
  ? fileInfo.bucketName + fileInfo.filepath
68
72
  : fileInfo.filepath);
69
73
  response.setHeader('Content-Type', fileInfo.contentType);
@@ -74,13 +78,13 @@ let MinIOService = class MinIOService {
74
78
  async generatePresignedDownloadUrl(fileInfo) {
75
79
  var _a;
76
80
  const duration = Number((_a = process.env.DURATION_OF_PRE_SIGNED_DOCUMENT) !== null && _a !== void 0 ? _a : 120);
77
- const presignedUrl = await this.minioService.client.presignedGetObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
81
+ const presignedUrl = await this.client.presignedGetObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
78
82
  ? fileInfo.bucketName + fileInfo.filepath
79
83
  : fileInfo.filepath, duration);
80
84
  return presignedUrl;
81
85
  }
82
86
  async downloadBuffer(fileInfo) {
83
- const result = await this.minioService.client.getObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
87
+ const result = await this.client.getObject(bucket_name_enum_1.BucketNameEnum.MEGP, fileInfo.bucketName
84
88
  ? fileInfo.bucketName + fileInfo.filepath
85
89
  : fileInfo.filepath);
86
90
  return result;
@@ -89,6 +93,7 @@ let MinIOService = class MinIOService {
89
93
  exports.MinIOService = MinIOService;
90
94
  exports.MinIOService = MinIOService = __decorate([
91
95
  (0, common_1.Injectable)(),
92
- __metadata("design:paramtypes", [nestjs_minio_client_1.MinioService])
96
+ __param(0, (0, common_1.Inject)(min_io_tokens_1.MINIO_CLIENT)),
97
+ __metadata("design:paramtypes", [Minio.Client])
93
98
  ], MinIOService);
94
99
  //# sourceMappingURL=min-io.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"min-io.service.js","sourceRoot":"","sources":["../src/min-io.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6DAAmD;AACnD,+BAA+B;AAC/B,mCAAoC;AACpC,yDAAoD;AAG7C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CACV,IAAyB,EACzB,UAAkB,EAClB,QAAQ,GAAG,EAAE;QAEb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,mBAAU,GAAE,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CACtC,iCAAc,CAAC,IAAI,EACnB,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,kCACJ,QAAQ,KAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,IAC7C,CAAC;YACF,OAAO;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,QAGC,EACD,UAAU,GAAG,EAAE;;QAEf,MAAM,QAAQ,GAAG,IAAA,mBAAU,GAAE,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,mCAAI,GAAG,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CACpE,iCAAc,CAAC,IAAI,EACnB,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAC7C,QAAQ,CACT,CAAC;QAEF,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAW,EACX,YAAoB,EACpB,QAAgB,EAChB,UAAkB,EAClB,QAAQ,GAAG,EAAE;QAOb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,mBAAU,GAAE,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CACtC,iCAAc,CAAC,IAAI,EACnB,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAC7C,MAAM,EACN,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,kCACpB,QAAQ,KAAE,cAAc,EAAE,QAAQ,IACxC,CAAC;YACF,OAAO;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE,YAAY;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAwE,EACxE,QAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CACrD,iCAAc,CAAC,IAAI,EACnB,QAAQ,CAAC,UAAU;YACjB,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ;YACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CACtB,CAAC;QAEF,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,QAAQ,CAAC,SAAS,CAChB,qBAAqB,EACrB,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,CAC5C,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,QAIlC;;QACC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,mCAAI,GAAG,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CACpE,iCAAc,CAAC,IAAI,EACnB,QAAQ,CAAC,UAAU;YACjB,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ;YACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EACrB,QAAQ,CACT,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAIpB;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CACrD,iCAAc,CAAC,IAAI,EACnB,QAAQ,CAAC,UAAU;YACjB,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ;YACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CACtB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAzIY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEgC,kCAAY;GAD5C,YAAY,CAyIxB"}
1
+ {"version":3,"file":"min-io.service.js","sourceRoot":"","sources":["../src/min-io.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const MINIO_CLIENT: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MINIO_CLIENT = void 0;
4
+ exports.MINIO_CLIENT = Symbol('MINIO_CLIENT');
5
+ //# sourceMappingURL=min-io.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min-io.tokens.js","sourceRoot":"","sources":["../src/min-io.tokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type MinioErrorResponse = {
2
+ statusCode: number;
3
+ message: string | string[];
4
+ timestamp?: string;
5
+ path?: string;
6
+ error?: string;
7
+ bucketName?: string;
8
+ filepath?: string;
9
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=minio-error-response.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minio-error-response.type.js","sourceRoot":"","sources":["../src/minio-error-response.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type ValidateMinioEnvOptions = {
2
+ required?: boolean;
3
+ };
4
+ export declare function validateMinioEnv(options?: ValidateMinioEnvOptions): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateMinioEnv = validateMinioEnv;
4
+ function validateMinioEnv(options = {}) {
5
+ const { required = true } = options;
6
+ if (!required) {
7
+ return;
8
+ }
9
+ for (const key of ['MINIO_ENDPOINT', 'MINIO_ACCESSKEY', 'MINIO_SECRETKEY']) {
10
+ if (!process.env[key]) {
11
+ throw new Error(`${key} is required`);
12
+ }
13
+ }
14
+ if (process.env.MINIO_PORT) {
15
+ const port = Number(process.env.MINIO_PORT);
16
+ if (!Number.isInteger(port) || port <= 0) {
17
+ throw new Error('MINIO_PORT must be a positive integer');
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=validate-minio-env.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-minio-env.helper.js","sourceRoot":"","sources":["../src/validate-minio-env.helper.ts"],"names":[],"mappings":";;AAIA,4CAkBC;AAlBD,SAAgB,gBAAgB,CAAC,UAAmC,EAAE;IACpE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zola_do/minio",
3
- "version": "0.2.16",
3
+ "version": "0.2.18",
4
4
  "description": "MinIO object storage for NestJS",
5
5
  "author": "zolaDO",
6
6
  "license": "ISC",
@@ -36,7 +36,7 @@
36
36
  "rxjs": "^7.0.0 || ^8.0.0"
37
37
  },
38
38
  "dependencies": {
39
- "nestjs-minio-client": "^2.2.0"
39
+ "minio": "^8.0.6"
40
40
  },
41
41
  "devDependencies": {
42
42
  "rimraf": "^6.1.3",