@punks/backend-entity-manager 0.0.186 → 0.0.188

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.
Files changed (52) hide show
  1. package/dist/cjs/index.js +54 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/cache.d.ts +21 -0
  4. package/dist/cjs/types/abstractions/index.d.ts +1 -0
  5. package/dist/cjs/types/integrations/cache/index.d.ts +1 -0
  6. package/dist/cjs/types/integrations/cache/typeorm/index.d.ts +2 -0
  7. package/dist/cjs/types/integrations/cache/typeorm/instance.d.ts +21 -0
  8. package/dist/cjs/types/integrations/cache/typeorm/types.d.ts +9 -0
  9. package/dist/cjs/types/integrations/index.d.ts +1 -0
  10. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appCacheEntry.entity.d.ts +9 -0
  11. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
  12. package/dist/cjs/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  13. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/module.d.ts +2 -0
  14. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/providers/default-instance/index.d.ts +6 -0
  15. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/providers/index.d.ts +2 -0
  16. package/dist/cjs/types/platforms/nest/__test__/tests/caching/caching.test.d.ts +1 -0
  17. package/dist/cjs/types/platforms/nest/decorators/cache.d.ts +4 -0
  18. package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
  19. package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
  20. package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  21. package/dist/cjs/types/platforms/nest/services/cache/index.d.ts +7 -0
  22. package/dist/cjs/types/platforms/nest/services/index.d.ts +1 -0
  23. package/dist/cjs/types/platforms/nest/services/providers.d.ts +2 -1
  24. package/dist/cjs/types/providers/services.d.ts +4 -1
  25. package/dist/cjs/types/symbols/ioc.d.ts +1 -0
  26. package/dist/esm/index.js +54 -1
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/types/abstractions/cache.d.ts +21 -0
  29. package/dist/esm/types/abstractions/index.d.ts +1 -0
  30. package/dist/esm/types/integrations/cache/index.d.ts +1 -0
  31. package/dist/esm/types/integrations/cache/typeorm/index.d.ts +2 -0
  32. package/dist/esm/types/integrations/cache/typeorm/instance.d.ts +21 -0
  33. package/dist/esm/types/integrations/cache/typeorm/types.d.ts +9 -0
  34. package/dist/esm/types/integrations/index.d.ts +1 -0
  35. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appCacheEntry.entity.d.ts +9 -0
  36. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
  37. package/dist/esm/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  38. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/module.d.ts +2 -0
  39. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/providers/default-instance/index.d.ts +6 -0
  40. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/providers/index.d.ts +2 -0
  41. package/dist/esm/types/platforms/nest/__test__/tests/caching/caching.test.d.ts +1 -0
  42. package/dist/esm/types/platforms/nest/decorators/cache.d.ts +4 -0
  43. package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
  44. package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
  45. package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  46. package/dist/esm/types/platforms/nest/services/cache/index.d.ts +7 -0
  47. package/dist/esm/types/platforms/nest/services/index.d.ts +1 -0
  48. package/dist/esm/types/platforms/nest/services/providers.d.ts +2 -1
  49. package/dist/esm/types/providers/services.d.ts +4 -1
  50. package/dist/esm/types/symbols/ioc.d.ts +1 -0
  51. package/dist/index.d.ts +41 -1
  52. package/package.json +3 -3
package/dist/cjs/index.js CHANGED
@@ -1186,6 +1186,7 @@ const GlobalServices = {
1186
1186
  IPipelineController: "IPipelineController",
1187
1187
  },
1188
1188
  Plugins: {
1189
+ ICacheInstance: "ICacheInstance",
1189
1190
  IEmailProvider: "IEmailProvider",
1190
1191
  IEmailLogger: "IEmailLogger",
1191
1192
  IEmailTemplatesCollection: "IEmailTemplatesCollection",
@@ -1395,6 +1396,16 @@ class EntitiesServiceLocator {
1395
1396
  const settings = this.resolveSettings();
1396
1397
  return this.provider.resolveMultipleNamed(GlobalServices.Plugins.IFileProvider, settings.defaultFilesProvider);
1397
1398
  }
1399
+ resolveCacheInstance(name) {
1400
+ return this.provider.resolveMultipleNamed(GlobalServices.Plugins.ICacheInstance, name);
1401
+ }
1402
+ resolveCacheInstances() {
1403
+ return this.provider.resolveMultiple(GlobalServices.Plugins.ICacheInstance);
1404
+ }
1405
+ registerCacheInstance(name, instance) {
1406
+ this.provider.registerMultiple(GlobalServices.Plugins.ICacheInstance, name, instance);
1407
+ return this;
1408
+ }
1398
1409
  resolveBucketProviders() {
1399
1410
  return this.provider.resolveMultiple(GlobalServices.Plugins.IFileProvider);
1400
1411
  }
@@ -2404,6 +2415,7 @@ const EntityManagerSymbols = {
2404
2415
  FileProvider: Symbol.for("WP:FILE_PROVIDER"),
2405
2416
  FileReferenceRepository: Symbol.for("WP:FILE_REFERENCE_REPO"),
2406
2417
  PipelineTemplate: Symbol.for("WP:PIPELINE_TEMPLATE"),
2418
+ CacheInstance: Symbol.for("WP:CACHE_INSTANCE"),
2407
2419
  };
2408
2420
 
2409
2421
  const WpEntityAuthMiddleware = (entityName, props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EntityAuthMiddleware, {
@@ -2415,6 +2427,10 @@ const WpBucketProvider = (providerId) => common.applyDecorators(common.Injectabl
2415
2427
  providerId,
2416
2428
  }));
2417
2429
 
2430
+ const WpCacheInstance = (instanceName) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.CacheInstance, {
2431
+ instanceName,
2432
+ }));
2433
+
2418
2434
  const WpEntityActions = (entityName, props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EntityActions, {
2419
2435
  entityName,
2420
2436
  ...props,
@@ -20360,6 +20376,28 @@ exports.EmailService = __decorate([
20360
20376
  __metadata("design:paramtypes", [exports.EntityManagerRegistry])
20361
20377
  ], exports.EmailService);
20362
20378
 
20379
+ exports.CacheService = class CacheService {
20380
+ constructor(registry) {
20381
+ this.registry = registry;
20382
+ }
20383
+ getInstance(instanceName) {
20384
+ return this.registry
20385
+ .getContainer()
20386
+ .getEntitiesServicesLocator()
20387
+ .resolveCacheInstance(instanceName);
20388
+ }
20389
+ getInstances() {
20390
+ return this.registry
20391
+ .getContainer()
20392
+ .getEntitiesServicesLocator()
20393
+ .resolveCacheInstances();
20394
+ }
20395
+ };
20396
+ exports.CacheService = __decorate([
20397
+ common.Injectable(),
20398
+ __metadata("design:paramtypes", [exports.EntityManagerRegistry])
20399
+ ], exports.CacheService);
20400
+
20363
20401
  exports.FilesService = class FilesService {
20364
20402
  constructor(registry) {
20365
20403
  this.registry = registry;
@@ -21204,6 +21242,7 @@ const Services$2 = [exports.AuthenticationService];
21204
21242
  const Services$1 = [
21205
21243
  exports.AppSessionService,
21206
21244
  exports.AppHashingService,
21245
+ exports.CacheService,
21207
21246
  exports.EntityManagerService,
21208
21247
  exports.EmailService,
21209
21248
  exports.EventsService,
@@ -21540,6 +21579,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21540
21579
  await this.registerFilesReferenceRepositoryProviders();
21541
21580
  await this.registerFileProviders();
21542
21581
  await this.registerBucketProviders();
21582
+ await this.registerCacheInstances();
21543
21583
  await this.executeInitializers(app);
21544
21584
  await this.executeSeeders();
21545
21585
  this.logger.log("Entity manager initialization completed 🚀");
@@ -21657,6 +21697,16 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21657
21697
  this.logger.log(`Bucket provider ${provider.discoveredClass.name} registered 🚜`);
21658
21698
  }
21659
21699
  }
21700
+ async registerCacheInstances() {
21701
+ const providers = await this.discoverCacheInstances();
21702
+ for (const provider of providers) {
21703
+ this.registry
21704
+ .getContainer()
21705
+ .getEntitiesServicesLocator()
21706
+ .registerCacheInstance(provider.meta.instanceName, provider.discoveredClass.instance);
21707
+ this.logger.log(`Cache instance ${provider.meta.instanceName} -> ${provider.discoveredClass.name} registered 🚜`);
21708
+ }
21709
+ }
21660
21710
  async registerFilesReferenceRepositoryProviders() {
21661
21711
  const providers = await this.discoverFilesReferenceRepositoryProviders();
21662
21712
  if (!providers.length) {
@@ -21791,6 +21841,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21791
21841
  async discoverBucketProviders() {
21792
21842
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.BucketProvider);
21793
21843
  }
21844
+ async discoverCacheInstances() {
21845
+ return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.CacheInstance);
21846
+ }
21794
21847
  async discoverFileProviders() {
21795
21848
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.FileProvider);
21796
21849
  }
@@ -28491,6 +28544,7 @@ exports.SendgridEmailTemplate = SendgridEmailTemplate;
28491
28544
  exports.WpAppInitializer = WpAppInitializer;
28492
28545
  exports.WpAwsSesEmailTemplate = WpAwsSesEmailTemplate;
28493
28546
  exports.WpBucketProvider = WpBucketProvider;
28547
+ exports.WpCacheInstance = WpCacheInstance;
28494
28548
  exports.WpEmailLogger = WpEmailLogger;
28495
28549
  exports.WpEmailProvider = WpEmailProvider;
28496
28550
  exports.WpEmailTemplate = WpEmailTemplate;