@tstdl/base 0.86.0-beta10 → 0.86.0-beta11
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/module/modules/web-server.module.js +0 -2
- package/object-storage/object-storage-provider.d.ts +1 -1
- package/object-storage/s3/s3.object-storage-provider.d.ts +1 -6
- package/object-storage/s3/s3.object-storage-provider.js +2 -12
- package/object-storage/s3/s3.object-storage.js +4 -1
- package/package.json +1 -1
|
@@ -24,7 +24,6 @@ __export(web_server_module_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(web_server_module_exports);
|
|
26
26
|
var import_server = require("../../api/server/index.js");
|
|
27
|
-
var import_log = require("../../decorators/log.js");
|
|
28
27
|
var import_disposable = require("../../disposable/disposable.js");
|
|
29
28
|
var import_http_server = require("../../http/server/http-server.js");
|
|
30
29
|
var import_decorators = require("../../injector/decorators.js");
|
|
@@ -87,7 +86,6 @@ let WebServerModule = class WebServerModule2 extends import_module_base.ModuleBa
|
|
|
87
86
|
};
|
|
88
87
|
WebServerModule = __decorate([
|
|
89
88
|
(0, import_decorators.Singleton)({ defaultArgumentProvider: () => webServerModuleConfiguration }),
|
|
90
|
-
(0, import_log.Log)(),
|
|
91
89
|
__metadata("design:paramtypes", [])
|
|
92
90
|
], WebServerModule);
|
|
93
91
|
function configureWebServerModule(config) {
|
|
@@ -4,5 +4,5 @@ export declare abstract class ObjectStorageProvider<T extends ObjectStorage = Ob
|
|
|
4
4
|
* get an object storage instance
|
|
5
5
|
* @param module name for object container (module) to store objects in. Can be used to isolate objects like profile pictures and log files
|
|
6
6
|
*/
|
|
7
|
-
abstract get(module: string): T
|
|
7
|
+
abstract get(module: string): T;
|
|
8
8
|
}
|
|
@@ -17,10 +17,6 @@ export declare class S3ObjectStorageProviderConfig {
|
|
|
17
17
|
* mutually exclusive with bucket
|
|
18
18
|
*/
|
|
19
19
|
bucketPerModule?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* create bucket for requested storage module if it does not exist
|
|
22
|
-
*/
|
|
23
|
-
autoCreateBucket?: boolean;
|
|
24
20
|
/**
|
|
25
21
|
* s3 access key
|
|
26
22
|
*/
|
|
@@ -34,9 +30,8 @@ export declare const bucketPerModule: unique symbol;
|
|
|
34
30
|
export declare class S3ObjectStorageProvider extends ObjectStorageProvider<S3ObjectStorage> {
|
|
35
31
|
private readonly client;
|
|
36
32
|
private readonly bucket;
|
|
37
|
-
private readonly createBucket;
|
|
38
33
|
constructor(config: S3ObjectStorageProviderConfig);
|
|
39
|
-
get(module: string):
|
|
34
|
+
get(module: string): S3ObjectStorage;
|
|
40
35
|
}
|
|
41
36
|
/**
|
|
42
37
|
* configure s3 object storage provider
|
|
@@ -61,10 +61,6 @@ class S3ObjectStorageProviderConfig {
|
|
|
61
61
|
* mutually exclusive with bucket
|
|
62
62
|
*/
|
|
63
63
|
bucketPerModule;
|
|
64
|
-
/**
|
|
65
|
-
* create bucket for requested storage module if it does not exist
|
|
66
|
-
*/
|
|
67
|
-
autoCreateBucket;
|
|
68
64
|
/**
|
|
69
65
|
* s3 access key
|
|
70
66
|
*/
|
|
@@ -78,14 +74,12 @@ const bucketPerModule = Symbol("bucket per module");
|
|
|
78
74
|
let S3ObjectStorageProvider = class S3ObjectStorageProvider2 extends import_object_storage.ObjectStorageProvider {
|
|
79
75
|
client;
|
|
80
76
|
bucket;
|
|
81
|
-
createBucket;
|
|
82
77
|
constructor(config) {
|
|
83
78
|
super();
|
|
84
79
|
const { hostname, port, protocol } = new URL(config.endpoint);
|
|
85
80
|
if ((0, import_type_guards.isDefined)(config.bucket) && config.bucketPerModule == true) {
|
|
86
81
|
throw new Error("bucket and bucketPerModule is mutually exclusive");
|
|
87
82
|
}
|
|
88
|
-
this.createBucket = config.autoCreateBucket ?? false;
|
|
89
83
|
this.client = new import_minio.Client({
|
|
90
84
|
endPoint: hostname,
|
|
91
85
|
port: port.length > 0 ? parseInt(port, 10) : void 0,
|
|
@@ -95,14 +89,10 @@ let S3ObjectStorageProvider = class S3ObjectStorageProvider2 extends import_obje
|
|
|
95
89
|
});
|
|
96
90
|
this.bucket = (0, import_type_guards.assertDefinedPass)(config.bucketPerModule == true ? true : config.bucket, "either bucket or bucketPerModule must be specified");
|
|
97
91
|
}
|
|
98
|
-
|
|
92
|
+
get(module2) {
|
|
99
93
|
const bucket = this.bucket == true ? module2 : (0, import_type_guards.assertStringPass)(this.bucket);
|
|
100
94
|
const prefix = this.bucket == true ? "" : module2 == "" ? "" : `${module2}/`;
|
|
101
|
-
|
|
102
|
-
if (this.createBucket) {
|
|
103
|
-
await objectStorage.ensureBucketExists();
|
|
104
|
-
}
|
|
105
|
-
return objectStorage;
|
|
95
|
+
return new import_s3_object_storage.S3ObjectStorage(this.client, bucket, module2, prefix);
|
|
106
96
|
}
|
|
107
97
|
};
|
|
108
98
|
S3ObjectStorageProvider = __decorate([
|
|
@@ -152,7 +152,10 @@ let S3ObjectStorage = class S3ObjectStorage2 extends import_object_storage.Objec
|
|
|
152
152
|
S3ObjectStorage = __decorate([
|
|
153
153
|
(0, import_decorators.Singleton)({
|
|
154
154
|
provider: {
|
|
155
|
-
useFactory:
|
|
155
|
+
useFactory: (argument, context) => context.resolve(import_s3_object_storage_provider.S3ObjectStorageProvider).get((0, import_type_guards.assertStringPass)(argument, "resolve argument must be a string (object storage module)")),
|
|
156
|
+
async afterResolve(value) {
|
|
157
|
+
await value.ensureBucketExists();
|
|
158
|
+
}
|
|
156
159
|
}
|
|
157
160
|
}),
|
|
158
161
|
__metadata("design:paramtypes", [import_minio.Client, String, String, String])
|