@zola_do/minio 0.2.17 → 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 +13 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/min-io.module.d.ts +14 -0
- package/dist/min-io.module.js +58 -19
- package/dist/min-io.module.js.map +1 -1
- package/dist/minio-error-response.type.d.ts +9 -0
- package/dist/minio-error-response.type.js +3 -0
- package/dist/minio-error-response.type.js.map +1 -0
- package/dist/validate-minio-env.helper.d.ts +4 -0
- package/dist/validate-minio-env.helper.js +21 -0
- package/dist/validate-minio-env.helper.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -429,3 +429,16 @@ ISC
|
|
|
429
429
|
- [Contributing](../../CONTRIBUTING.md)
|
|
430
430
|
- [Code of Conduct](../../CODE_OF_CONDUCT.md)
|
|
431
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
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"}
|
package/dist/min-io.module.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/min-io.module.js
CHANGED
|
@@ -5,6 +5,7 @@ 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 MinIOModule_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.MinIOModule = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
@@ -12,28 +13,66 @@ const Minio = require("minio");
|
|
|
12
13
|
const min_io_service_1 = require("./min-io.service");
|
|
13
14
|
const min_io_zola_object_storage_1 = require("./min-io.zola-object-storage");
|
|
14
15
|
const min_io_tokens_1 = require("./min-io.tokens");
|
|
15
|
-
|
|
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
|
-
providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: min_io_tokens_1.MINIO_CLIENT,
|
|
23
|
-
useFactory: () => {
|
|
24
|
-
var _a, _b;
|
|
25
|
-
return new Minio.Client({
|
|
26
|
-
endPoint: process.env.MINIO_ENDPOINT,
|
|
27
|
-
port: Number((_a = process.env.MINIO_PORT) !== null && _a !== void 0 ? _a : 443),
|
|
28
|
-
useSSL: Boolean((_b = process.env.MINIO_USESSL) !== null && _b !== void 0 ? _b : true),
|
|
29
|
-
accessKey: process.env.MINIO_ACCESSKEY,
|
|
30
|
-
secretKey: process.env.MINIO_SECRETKEY,
|
|
31
|
-
});
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
min_io_service_1.MinIOService,
|
|
35
|
-
min_io_zola_object_storage_1.MinioZolaObjectStorage,
|
|
36
|
-
],
|
|
75
|
+
providers: [createClientProvider(), min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
|
|
37
76
|
controllers: [],
|
|
38
77
|
exports: [min_io_service_1.MinIOService, min_io_zola_object_storage_1.MinioZolaObjectStorage],
|
|
39
78
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"min-io.module.js","sourceRoot":"","sources":["../src/min-io.module.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -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,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"}
|