@mondart/nestjs-common-module-minio 1.0.6 → 1.0.8
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 +68 -0
- package/dist/minio.module.d.ts.map +1 -1
- package/dist/minio.module.js +1 -12
- package/dist/minio.module.js.map +1 -1
- package/dist/minio.service.d.ts.map +1 -1
- package/dist/minio.service.js.map +1 -1
- package/package.json +2 -2
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;
|
|
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"}
|
package/dist/minio.module.js
CHANGED
|
@@ -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 {
|
package/dist/minio.module.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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.
|
|
3
|
+
"version": "1.0.8",
|
|
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.
|
|
20
|
+
"@mondart/nestjs-common-module-core": "^3.2.6",
|
|
21
21
|
"minio": "^8.0.7"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|