@punks/backend-entity-manager 0.0.141 → 0.0.142

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 CHANGED
@@ -1150,6 +1150,7 @@ const GlobalServices = {
1150
1150
  },
1151
1151
  Plugins: {
1152
1152
  IEmailProvider: "IEmailProvider",
1153
+ IEmailLogger: "IEmailLogger",
1153
1154
  IEmailTemplatesCollection: "IEmailTemplatesCollection",
1154
1155
  IBucketProvider: "IBucketProvider",
1155
1156
  IFileProvider: "IFileProvider",
@@ -1389,6 +1390,12 @@ class EntitiesServiceLocator {
1389
1390
  registerEmailTemplatesCollection(instance) {
1390
1391
  this.provider.register(GlobalServices.Plugins.IEmailTemplatesCollection, instance);
1391
1392
  }
1393
+ resolveEmailLogger() {
1394
+ return this.provider.resolve(GlobalServices.Plugins.IEmailLogger);
1395
+ }
1396
+ registerEmailLogger(instance) {
1397
+ this.provider.register(GlobalServices.Plugins.IEmailLogger, instance);
1398
+ }
1392
1399
  resolvePipelinesController() {
1393
1400
  return this.provider.resolve(GlobalServices.Pipelines.IPipelineController);
1394
1401
  }
@@ -2347,6 +2354,7 @@ const EntityManagerSymbols = {
2347
2354
  EntityVersioningProvider: Symbol.for("WP:ENTITY_VERSIONING_PROVIDER"),
2348
2355
  EmailProvider: Symbol.for("WP:EMAIL_PROVIDER"),
2349
2356
  EmailTemplate: Symbol.for("WP:EMAIL_TEMPLATE"),
2357
+ EmailLogger: Symbol.for("WP:EMAIL_LOGGER"),
2350
2358
  BucketProvider: Symbol.for("WP:BUCKET_PROVIDER"),
2351
2359
  FileProvider: Symbol.for("WP:FILE_PROVIDER"),
2352
2360
  FileReferenceRepository: Symbol.for("WP:FILE_REFERENCE_REPO"),
@@ -2388,6 +2396,9 @@ const WpEmailTemplate = (templateId) => common.applyDecorators(common.Injectable
2388
2396
  const WpEmailProvider = (providerId) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EmailProvider, {
2389
2397
  providerId,
2390
2398
  }));
2399
+ const WpEmailLogger = (providerId) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EmailLogger, {
2400
+ providerId,
2401
+ }));
2391
2402
 
2392
2403
  const WpEntity = (name, props = {}) => common.applyDecorators(common.SetMetadata(EntityManagerSymbols.Entity, {
2393
2404
  name,
@@ -20291,9 +20302,11 @@ exports.EmailService = class EmailService {
20291
20302
  async sendTemplatedEmail(input) {
20292
20303
  const template = this.getTemplate(input.templateId);
20293
20304
  await this.provider.sendTemplatedEmail(input, template);
20305
+ await this.logger.logTemplatedEmail(input);
20294
20306
  }
20295
20307
  async sendHtmlEmail(input) {
20296
20308
  await this.provider.sendHtmlEmail(input);
20309
+ await this.logger.logHtmlEmail(input);
20297
20310
  }
20298
20311
  getTemplate(templateId) {
20299
20312
  const template = this.templates.getTemplate(templateId);
@@ -20314,6 +20327,12 @@ exports.EmailService = class EmailService {
20314
20327
  .getEntitiesServicesLocator()
20315
20328
  .resolveEmailProvider();
20316
20329
  }
20330
+ get logger() {
20331
+ return this.registry
20332
+ .getContainer()
20333
+ .getEntitiesServicesLocator()
20334
+ .resolveEmailLogger();
20335
+ }
20317
20336
  };
20318
20337
  exports.EmailService = __decorate([
20319
20338
  common.Injectable(),
@@ -21432,6 +21451,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21432
21451
  await this.registerEmailProviders();
21433
21452
  await this.registerEventTrackingProviders();
21434
21453
  await this.registerVersioningProviders();
21454
+ await this.registerEmailLogger();
21435
21455
  await this.registerFilesReferenceRepositoryProviders();
21436
21456
  await this.registerFileProviders();
21437
21457
  await this.registerBucketProviders();
@@ -21577,6 +21597,18 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21577
21597
  .registerEventsTracker(providers[0].discoveredClass.instance);
21578
21598
  this.logger.log(`Events tracker ${providers[0].discoveredClass.name} registered 🚜`);
21579
21599
  }
21600
+ async registerEmailLogger() {
21601
+ const loggers = await this.discoverEmailLogger();
21602
+ if (!loggers.length) {
21603
+ this.logger.warn("No email loggers ⚠️");
21604
+ return;
21605
+ }
21606
+ this.registry
21607
+ .getContainer()
21608
+ .getEntitiesServicesLocator()
21609
+ .registerEmailLogger(loggers[0].discoveredClass.instance);
21610
+ this.logger.log(`Email logger ${loggers[0].discoveredClass.name} registered 🚜`);
21611
+ }
21580
21612
  async registerVersioningProviders() {
21581
21613
  const providers = await this.discoverVersioningProviders();
21582
21614
  if (!providers.length) {
@@ -21668,6 +21700,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21668
21700
  async discoverEventTrackingProviders() {
21669
21701
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EventsTracker);
21670
21702
  }
21703
+ async discoverEmailLogger() {
21704
+ return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EmailLogger);
21705
+ }
21671
21706
  async discoverBucketProviders() {
21672
21707
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.BucketProvider);
21673
21708
  }
@@ -28219,6 +28254,8 @@ exports.StringFacetItem = StringFacetItem;
28219
28254
  exports.WpAppInitializer = WpAppInitializer;
28220
28255
  exports.WpAwsSesEmailTemplate = WpAwsSesEmailTemplate;
28221
28256
  exports.WpBucketProvider = WpBucketProvider;
28257
+ exports.WpEmailLogger = WpEmailLogger;
28258
+ exports.WpEmailProvider = WpEmailProvider;
28222
28259
  exports.WpEmailTemplate = WpEmailTemplate;
28223
28260
  exports.WpEntity = WpEntity;
28224
28261
  exports.WpEntityActions = WpEntityActions;