@punks/backend-entity-manager 0.0.120 → 0.0.121
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/dist/cjs/index.js +71 -24
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/settings.d.ts +1 -0
- package/dist/cjs/types/ioc/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/plugins/buckets/aws-s3/errors/index.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/plugins/buckets/aws-s3/index.d.ts +1 -1
- package/dist/cjs/types/providers/services.d.ts +6 -3
- package/dist/cjs/types/symbols/ioc.d.ts +3 -0
- package/dist/esm/index.js +71 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/settings.d.ts +1 -0
- package/dist/esm/types/ioc/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/plugins/buckets/aws-s3/errors/index.d.ts +1 -1
- package/dist/esm/types/platforms/nest/plugins/buckets/aws-s3/index.d.ts +1 -1
- package/dist/esm/types/providers/services.d.ts +6 -3
- package/dist/esm/types/symbols/ioc.d.ts +3 -0
- package/dist/index.d.ts +12 -4
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -672,7 +672,7 @@ class EntitiesExportCommand {
|
|
|
672
672
|
return this.services.resolveSearchQuery().execute(filters ?? {});
|
|
673
673
|
}
|
|
674
674
|
get bucket() {
|
|
675
|
-
return this.services.getRootServices().
|
|
675
|
+
return this.services.getRootServices().resolveDefaultBucketProvider();
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
678
|
|
|
@@ -726,7 +726,7 @@ class EntitiesImportCommand {
|
|
|
726
726
|
return `${this.settings.exportBucket.rootFolderPath ?? ""}/imports/${createDayPath(new Date())}/${relativePath}`;
|
|
727
727
|
}
|
|
728
728
|
get bucket() {
|
|
729
|
-
return this.services.getRootServices().
|
|
729
|
+
return this.services.getRootServices().resolveDefaultBucketProvider();
|
|
730
730
|
}
|
|
731
731
|
}
|
|
732
732
|
|
|
@@ -766,7 +766,7 @@ class EntitiesSampleDownloadCommand {
|
|
|
766
766
|
return `${this.settings.exportBucket.rootFolderPath ?? ""}/samples/${createDayPath(new Date())}/${relativePath}`;
|
|
767
767
|
}
|
|
768
768
|
get bucket() {
|
|
769
|
-
return this.services.getRootServices().
|
|
769
|
+
return this.services.getRootServices().resolveDefaultBucketProvider();
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
772
|
|
|
@@ -993,6 +993,7 @@ class EntityActions {
|
|
|
993
993
|
class ServiceLocator {
|
|
994
994
|
constructor() {
|
|
995
995
|
this.services = {};
|
|
996
|
+
this.multipleServices = {};
|
|
996
997
|
}
|
|
997
998
|
all() {
|
|
998
999
|
return this.services;
|
|
@@ -1000,6 +1001,15 @@ class ServiceLocator {
|
|
|
1000
1001
|
register(name, service) {
|
|
1001
1002
|
this.services[name] = service;
|
|
1002
1003
|
}
|
|
1004
|
+
registerMultiple(serviceName, instanceName, service) {
|
|
1005
|
+
if (!this.services[serviceName]) {
|
|
1006
|
+
this.multipleServices[serviceName] = {};
|
|
1007
|
+
}
|
|
1008
|
+
if (this.multipleServices[serviceName][instanceName]) {
|
|
1009
|
+
throw new Error(`Service instance "${serviceName}" already registered in ServiceLocator`);
|
|
1010
|
+
}
|
|
1011
|
+
this.multipleServices[serviceName][instanceName] = service;
|
|
1012
|
+
}
|
|
1003
1013
|
registerEntityService(serviceName, entityName, service) {
|
|
1004
1014
|
this.register(this.buildServiceName(serviceName, entityName), service);
|
|
1005
1015
|
}
|
|
@@ -1013,6 +1023,24 @@ class ServiceLocator {
|
|
|
1013
1023
|
}
|
|
1014
1024
|
return service;
|
|
1015
1025
|
}
|
|
1026
|
+
resolveMultiple(serviceName, options) {
|
|
1027
|
+
const services = this.multipleServices[serviceName];
|
|
1028
|
+
if (!services && !options?.optional) {
|
|
1029
|
+
throw new Error(`Service type "${serviceName}" not found in ServiceLocator`);
|
|
1030
|
+
}
|
|
1031
|
+
return Object.entries(services).map(([, value]) => value);
|
|
1032
|
+
}
|
|
1033
|
+
resolveMultipleNamed(serviceName, instanceName, options) {
|
|
1034
|
+
const services = this.multipleServices[serviceName];
|
|
1035
|
+
if (!services && !options?.optional) {
|
|
1036
|
+
throw new Error(`Service type "${serviceName}" not found in ServiceLocator`);
|
|
1037
|
+
}
|
|
1038
|
+
const service = services[instanceName];
|
|
1039
|
+
if (!service && !options?.optional) {
|
|
1040
|
+
throw new Error(`Service instance "${serviceName}" not found in ServiceLocator`);
|
|
1041
|
+
}
|
|
1042
|
+
return service;
|
|
1043
|
+
}
|
|
1016
1044
|
resolveEntityService(serviceName, entityName, options) {
|
|
1017
1045
|
return this.resolve(this.buildServiceName(serviceName, entityName), options);
|
|
1018
1046
|
}
|
|
@@ -1111,6 +1139,9 @@ const GlobalServices = {
|
|
|
1111
1139
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
1112
1140
|
IBucketProvider: "IBucketProvider",
|
|
1113
1141
|
},
|
|
1142
|
+
Settings: {
|
|
1143
|
+
EntityManagerSettings: "EntityManagerSettings",
|
|
1144
|
+
},
|
|
1114
1145
|
Versioning: {
|
|
1115
1146
|
IEntityVersioningProvider: "IEntityVersioningProvider",
|
|
1116
1147
|
},
|
|
@@ -1267,6 +1298,13 @@ class EntitiesServiceLocator {
|
|
|
1267
1298
|
getProvider() {
|
|
1268
1299
|
return this.provider;
|
|
1269
1300
|
}
|
|
1301
|
+
registerSettings(settings) {
|
|
1302
|
+
this.provider.register(GlobalServices.Settings.EntityManagerSettings, settings);
|
|
1303
|
+
return this;
|
|
1304
|
+
}
|
|
1305
|
+
resolveSettings() {
|
|
1306
|
+
return this.provider.resolve(GlobalServices.Settings.EntityManagerSettings);
|
|
1307
|
+
}
|
|
1270
1308
|
resolveEventEmitter() {
|
|
1271
1309
|
return this.provider.resolve(GlobalServices.Events.IEventEmitter, {
|
|
1272
1310
|
optional: true,
|
|
@@ -1287,11 +1325,15 @@ class EntitiesServiceLocator {
|
|
|
1287
1325
|
registerEntityVersioningProvider(instance) {
|
|
1288
1326
|
this.provider.register(GlobalServices.Versioning.IEntityVersioningProvider, instance);
|
|
1289
1327
|
}
|
|
1290
|
-
|
|
1291
|
-
|
|
1328
|
+
resolveDefaultBucketProvider() {
|
|
1329
|
+
const settings = this.resolveSettings();
|
|
1330
|
+
return this.provider.resolveMultipleNamed(GlobalServices.Plugins.IBucketProvider, settings.defaultBuckerProvider);
|
|
1331
|
+
}
|
|
1332
|
+
resolveBucketProviders() {
|
|
1333
|
+
return this.provider.resolveMultiple(GlobalServices.Plugins.IBucketProvider);
|
|
1292
1334
|
}
|
|
1293
|
-
registerBucketProvider(instance) {
|
|
1294
|
-
this.provider.
|
|
1335
|
+
registerBucketProvider(name, instance) {
|
|
1336
|
+
this.provider.registerMultiple(GlobalServices.Plugins.IBucketProvider, name, instance);
|
|
1295
1337
|
}
|
|
1296
1338
|
resolveEventsTracker() {
|
|
1297
1339
|
return this.provider.resolve(GlobalServices.Events.IEventsTracker);
|
|
@@ -21188,6 +21230,10 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21188
21230
|
this.logger.log(`Discovered entities: \n${sortedEntities
|
|
21189
21231
|
.map((x) => x.discoveredClass.name)
|
|
21190
21232
|
.join(" \n")}`);
|
|
21233
|
+
this.registry
|
|
21234
|
+
.getContainer()
|
|
21235
|
+
.getEntitiesServicesLocator()
|
|
21236
|
+
.registerSettings(staticProviders.settings);
|
|
21191
21237
|
for (const entity of sortedEntities) {
|
|
21192
21238
|
const entityName = entity.meta.name;
|
|
21193
21239
|
const repository = repositoriesDict[entityName];
|
|
@@ -21247,12 +21293,13 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21247
21293
|
this.logger.warn("No bucket providers found ⚠️");
|
|
21248
21294
|
return;
|
|
21249
21295
|
}
|
|
21250
|
-
|
|
21251
|
-
|
|
21252
|
-
|
|
21253
|
-
|
|
21254
|
-
|
|
21255
|
-
|
|
21296
|
+
for (const provider of providers) {
|
|
21297
|
+
this.registry
|
|
21298
|
+
.getContainer()
|
|
21299
|
+
.getEntitiesServicesLocator()
|
|
21300
|
+
.registerBucketProvider(provider.meta.providerId, provider.discoveredClass.instance);
|
|
21301
|
+
this.logger.log(`Bucket provider ${provider.discoveredClass.name} registered 🚜`);
|
|
21302
|
+
}
|
|
21256
21303
|
}
|
|
21257
21304
|
async registerEventTrackingProviders() {
|
|
21258
21305
|
const providers = await this.discoverEventTrackingProviders();
|
|
@@ -22287,10 +22334,10 @@ class NestPipelineTemplate {
|
|
|
22287
22334
|
}
|
|
22288
22335
|
}
|
|
22289
22336
|
|
|
22290
|
-
class
|
|
22337
|
+
class AwsS3BucketError extends Error {
|
|
22291
22338
|
constructor(message) {
|
|
22292
22339
|
super(message);
|
|
22293
|
-
this.name = "
|
|
22340
|
+
this.name = "AwsS3BucketError";
|
|
22294
22341
|
}
|
|
22295
22342
|
}
|
|
22296
22343
|
|
|
@@ -22318,7 +22365,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22318
22365
|
}));
|
|
22319
22366
|
}
|
|
22320
22367
|
catch (e) {
|
|
22321
|
-
throw new
|
|
22368
|
+
throw new AwsS3BucketError(`AWS BUCKET | listObjectsV2 | ${input.bucket} | ${input.path} | Error -> ${e.message}`);
|
|
22322
22369
|
}
|
|
22323
22370
|
}
|
|
22324
22371
|
async folderEnsure(input) {
|
|
@@ -22335,7 +22382,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22335
22382
|
}));
|
|
22336
22383
|
}
|
|
22337
22384
|
catch (e) {
|
|
22338
|
-
throw new
|
|
22385
|
+
throw new AwsS3BucketError(`AwsS3Bucket | folderCreate | ${input.bucket} | ${input.path} | Error -> ${e.message}`);
|
|
22339
22386
|
}
|
|
22340
22387
|
}
|
|
22341
22388
|
async folderExists(input) {
|
|
@@ -22347,7 +22394,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22347
22394
|
return (result.ContentLength ?? 0) > 0;
|
|
22348
22395
|
}
|
|
22349
22396
|
catch (e) {
|
|
22350
|
-
throw new
|
|
22397
|
+
throw new AwsS3BucketError(`AwsS3Bucket | folderExists | Error -> ${e.message}`);
|
|
22351
22398
|
}
|
|
22352
22399
|
}
|
|
22353
22400
|
async fileDownload(input) {
|
|
@@ -22359,7 +22406,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22359
22406
|
return result.Body;
|
|
22360
22407
|
}
|
|
22361
22408
|
catch (e) {
|
|
22362
|
-
throw new
|
|
22409
|
+
throw new AwsS3BucketError(`AWS BUCKET | downloadFile | ${input.bucket} | ${input.filePath} | Error -> ${e.message}`);
|
|
22363
22410
|
}
|
|
22364
22411
|
}
|
|
22365
22412
|
async filePublicUrlCreate(input) {
|
|
@@ -22372,7 +22419,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22372
22419
|
});
|
|
22373
22420
|
}
|
|
22374
22421
|
catch (e) {
|
|
22375
|
-
throw new
|
|
22422
|
+
throw new AwsS3BucketError(`AwsS3Bucket | filePublicUrlCreate | ${input.bucket} | ${input.filePath} | Error -> ${e.message}`);
|
|
22376
22423
|
}
|
|
22377
22424
|
}
|
|
22378
22425
|
async fileUpload(input) {
|
|
@@ -22385,7 +22432,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22385
22432
|
}));
|
|
22386
22433
|
}
|
|
22387
22434
|
catch (e) {
|
|
22388
|
-
throw new
|
|
22435
|
+
throw new AwsS3BucketError(`AwsS3Bucket | fileUpload | ${input.bucket} | ${input.filePath} | Error -> ${e.message}`);
|
|
22389
22436
|
}
|
|
22390
22437
|
}
|
|
22391
22438
|
async fileDelete(input) {
|
|
@@ -22396,7 +22443,7 @@ exports.AwsS3BucketProvider = class AwsS3BucketProvider {
|
|
|
22396
22443
|
}));
|
|
22397
22444
|
}
|
|
22398
22445
|
catch (e) {
|
|
22399
|
-
throw new
|
|
22446
|
+
throw new AwsS3BucketError(`AwsS3Bucket | fileDelete | ${input.bucket} | ${input.filePath} | Error -> ${e.message}`);
|
|
22400
22447
|
}
|
|
22401
22448
|
}
|
|
22402
22449
|
};
|
|
@@ -22485,7 +22532,7 @@ exports.InMemoryBucketProvider = class InMemoryBucketProvider {
|
|
|
22485
22532
|
}
|
|
22486
22533
|
};
|
|
22487
22534
|
exports.InMemoryBucketProvider = __decorate([
|
|
22488
|
-
WpBucketProvider("
|
|
22535
|
+
WpBucketProvider("inMemory")
|
|
22489
22536
|
], exports.InMemoryBucketProvider);
|
|
22490
22537
|
|
|
22491
22538
|
const AwsSesModuleSymbols = {
|
|
@@ -27735,7 +27782,7 @@ exports.AuthenticationEmailTemplates = AuthenticationEmailTemplates;
|
|
|
27735
27782
|
exports.AuthenticationError = AuthenticationError;
|
|
27736
27783
|
exports.AuthenticationEvents = AuthenticationEvents;
|
|
27737
27784
|
exports.AuthenticationExtensionSymbols = AuthenticationExtensionSymbols;
|
|
27738
|
-
exports.AwsS2BucketError =
|
|
27785
|
+
exports.AwsS2BucketError = AwsS3BucketError;
|
|
27739
27786
|
exports.AwsSesEmailTemplate = AwsSesEmailTemplate;
|
|
27740
27787
|
exports.BooleanFacet = BooleanFacet;
|
|
27741
27788
|
exports.BooleanFacetItem = BooleanFacetItem;
|