@mondart/nestjs-common-module-minio 1.0.5 → 1.0.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/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # @mondart/nestjs-common-module-minio
2
+
3
+ A thin NestJS wrapper around the [`minio`](https://www.npmjs.com/package/minio)
4
+ SDK: `MinioModule` owns creating and connecting a single `minio.Client`, and
5
+ `MinioService` exposes it for injection anywhere in the app.
6
+
7
+ ## Registration
8
+
9
+ ```ts
10
+ import { MinioModule } from '@mondart/nestjs-common-module-minio';
11
+
12
+ @Module({
13
+ imports: [
14
+ MinioModule.forRoot({
15
+ endPoint: 'localhost',
16
+ port: 9000,
17
+ useSSL: false,
18
+ accessKey: 'minioadmin',
19
+ secretKey: 'minioadmin',
20
+ isEnabled: true,
21
+ }),
22
+ ],
23
+ })
24
+ export class AppModule {}
25
+ ```
26
+
27
+ Or asynchronously:
28
+
29
+ ```ts
30
+ MinioModule.forRootAsync({
31
+ imports: [ConfigModule],
32
+ inject: [ConfigService],
33
+ useFactory: (config: ConfigService) => ({
34
+ endPoint: config.get('MINIO_ENDPOINT'),
35
+ port: config.get('MINIO_PORT'),
36
+ useSSL: config.get('MINIO_USE_SSL'),
37
+ accessKey: config.get('MINIO_ACCESS_KEY'),
38
+ secretKey: config.get('MINIO_SECRET_KEY'),
39
+ isEnabled: true,
40
+ }),
41
+ });
42
+ ```
43
+
44
+ `MinioModule` is `@Global()`, so `MinioService` is available for injection
45
+ anywhere without re-importing the module. Options are the `minio` SDK's own
46
+ `ClientOptions`, plus `isEnabled` — set it to `false` in environments where
47
+ object storage shouldn't connect at all.
48
+
49
+ ## MinioService
50
+
51
+ `MinioService` doesn't wrap individual object-storage operations itself;
52
+ instead it hands you the underlying `minio.Client` so you can use its full
53
+ API (bucket management, `putObject`/`getObject`, presigned URLs, etc.):
54
+
55
+ ```ts
56
+ constructor(private readonly minioService: MinioService) {}
57
+
58
+ async upload(bucket: string, objectName: string, stream: Readable) {
59
+ await this.minioService.client.putObject(bucket, objectName, stream);
60
+ }
61
+
62
+ async presignedUrl(bucket: string, objectName: string) {
63
+ return this.minioService.client.presignedGetObject(bucket, objectName, 60 * 60);
64
+ }
65
+ ```
66
+
67
+ `client` connects lazily on first access when `isEnabled` is `true`; call
68
+ `minioService.connect()` directly to (re)create the client yourself.
@@ -1 +1 @@
1
- {"version":3,"file":"minio.module.d.ts","sourceRoot":"","sources":["../src/minio.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EAEvB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AAEnC,qBAMa,WACX,SAAQ,uBACR,YAAW,YAAY;IAEX,QAAQ,CAAC,OAAO,EAAE,YAAY;gBAArB,OAAO,EAAE,YAAY;IAG1C,YAAY;IAIZ,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa;IAe1D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IASpE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAiB1C"}
1
+ {"version":3,"file":"minio.module.d.ts","sourceRoot":"","sources":["../src/minio.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EAEvB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AAGnC,qBAMa,WACX,SAAQ,uBACR,YAAW,YAAY;IAEX,QAAQ,CAAC,OAAO,EAAE,YAAY;gBAArB,OAAO,EAAE,YAAY;IAK1C,YAAY;IAKZ,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa;IAQ1D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IASpE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAiB1C"}
@@ -23,18 +23,7 @@ let MinioModule = MinioModule_1 = class MinioModule extends minio_module_definit
23
23
  this.service.connect();
24
24
  }
25
25
  static forRoot(options) {
26
- return {
27
- module: MinioModule_1,
28
- imports: [
29
- MinioModule_1.forRoot({
30
- endPoint: options.endPoint,
31
- port: options.port,
32
- useSSL: options.useSSL,
33
- accessKey: options.accessKey,
34
- secretKey: options.secretKey,
35
- }),
36
- ],
37
- };
26
+ return this.register(options);
38
27
  }
39
28
  static forRootAsync(options) {
40
29
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"minio.module.js","sourceRoot":"","sources":["../src/minio.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AAMxB,mDAA+C;AAC/C,uEAGmC;AAQ5B,IAAM,WAAW,mBAAjB,MAAM,WACX,SAAQ,iDAAuB;IAG/B,YAAqB,OAAqB;QACxC,KAAK,EAAE,CAAC;QADW,YAAO,GAAP,OAAO,CAAc;IAE1C,CAAC;IACD,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE;gBACP,aAAW,CAAC,OAAO,CAAC;oBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACjD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO;YACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACE,OAAO,EAAE,OAAO,CAAC,QAAQ;gBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAAgC;QAEhC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,8CAAoB;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,8CAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,cAAkC,EAAE,EAAE,CACvD,MAAM,cAAc,CAAC,mBAAmB,EAAE;YAC5C,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAC;IACJ,CAAC;CACF,CAAA;AAnEY,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;qCAK8B,4BAAY;GAJ/B,WAAW,CAmEvB"}
1
+ {"version":3,"file":"minio.module.js","sourceRoot":"","sources":["../src/minio.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AAMxB,mDAA+C;AAC/C,uEAGmC;AAS5B,IAAM,WAAW,mBAAjB,MAAM,WACX,SAAQ,iDAAuB;IAG/B,YAAqB,OAAqB;QACxC,KAAK,EAAE,CAAC;QADW,YAAO,GAAP,OAAO,CAAc;IAE1C,CAAC;IAGD,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAGD,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAMD,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACjD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO;YACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACE,OAAO,EAAE,OAAO,CAAC,QAAQ;gBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAAgC;QAEhC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,8CAAoB;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,8CAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,cAAkC,EAAE,EAAE,CACvD,MAAM,cAAc,CAAC,mBAAmB,EAAE;YAC5C,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAC;IACJ,CAAC;CACF,CAAA;AA/DY,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;qCAK8B,4BAAY;GAJ/B,WAAW,CA+DvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"minio.service.d.ts","sourceRoot":"","sources":["../src/minio.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI/B,qBACa,YAAY;IAMrB,OAAO,CAAC,kBAAkB;IAL5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAI9C,kBAAkB,EAAE,kBAAkB;IAGhD,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,OAAO;CAMR"}
1
+ {"version":3,"file":"minio.service.d.ts","sourceRoot":"","sources":["../src/minio.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAS/B,qBACa,YAAY;IAMrB,OAAO,CAAC,kBAAkB;IAL5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAI9C,kBAAkB,EAAE,kBAAkB;IAQhD,IAAI,MAAM,IAAI,MAAM,CAMnB;IAOD,OAAO;CAMR"}
@@ -1 +1 @@
1
- {"version":3,"file":"minio.service.js","sourceRoot":"","sources":["../src/minio.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iCAA+B;AAC/B,2CAA4D;AAC5D,uEAAiE;AAG1D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAIvB,YAEE,kBAA8C;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAJ/B,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAKrD,CAAC;IAEJ,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;;gBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,cAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAvBY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,8CAAoB,CAAC,CAAA;;GALpB,YAAY,CAuBxB"}
1
+ {"version":3,"file":"minio.service.js","sourceRoot":"","sources":["../src/minio.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iCAA+B;AAC/B,2CAA4D;AAC5D,uEAAiE;AAQ1D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAIvB,YAEE,kBAA8C;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAJ/B,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAKrD,CAAC;IAOJ,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;;gBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAOD,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,cAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAjCY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,8CAAoB,CAAC,CAAA;;GALpB,YAAY,CAiCxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondart/nestjs-common-module-minio",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Minio module for NestJS applications, providing an easy-to-use interface for interacting with Minio object storage.",
5
5
  "author": {
6
6
  "name": "Mondart"
@@ -17,7 +17,7 @@
17
17
  "build": "tsc -p tsconfig.json"
18
18
  },
19
19
  "dependencies": {
20
- "@mondart/nestjs-common-module-core": "^3.2.3",
20
+ "@mondart/nestjs-common-module-core": "^3.2.5",
21
21
  "minio": "^8.0.7"
22
22
  },
23
23
  "peerDependencies": {