@punks/backend-entity-manager 0.0.49 → 0.0.51

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 (36) hide show
  1. package/dist/cjs/index.js +45 -5
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/index.d.ts +1 -0
  4. package/dist/cjs/types/abstractions/tracking.d.ts +9 -0
  5. package/dist/cjs/types/events/index.d.ts +1 -1
  6. package/dist/cjs/types/events/{globalEvents.d.ts → platformEvents.d.ts} +1 -1
  7. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/eventLog.entity.d.ts +10 -0
  8. package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
  9. package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
  10. package/dist/cjs/types/platforms/nest/decorators/tracking.d.ts +4 -0
  11. package/dist/cjs/types/platforms/nest/extensions/authentication/events/consts.d.ts +7 -0
  12. package/dist/cjs/types/platforms/nest/extensions/authentication/events/index.d.ts +2 -0
  13. package/dist/cjs/types/platforms/nest/extensions/authentication/events/types.d.ts +26 -0
  14. package/dist/cjs/types/platforms/nest/extensions/authentication/index.d.ts +2 -0
  15. package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  16. package/dist/cjs/types/providers/services.d.ts +3 -1
  17. package/dist/cjs/types/symbols/ioc.d.ts +1 -0
  18. package/dist/esm/index.js +43 -5
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/types/abstractions/index.d.ts +1 -0
  21. package/dist/esm/types/abstractions/tracking.d.ts +9 -0
  22. package/dist/esm/types/events/index.d.ts +1 -1
  23. package/dist/esm/types/events/{globalEvents.d.ts → platformEvents.d.ts} +1 -1
  24. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/eventLog.entity.d.ts +10 -0
  25. package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
  26. package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
  27. package/dist/esm/types/platforms/nest/decorators/tracking.d.ts +4 -0
  28. package/dist/esm/types/platforms/nest/extensions/authentication/events/consts.d.ts +7 -0
  29. package/dist/esm/types/platforms/nest/extensions/authentication/events/index.d.ts +2 -0
  30. package/dist/esm/types/platforms/nest/extensions/authentication/events/types.d.ts +26 -0
  31. package/dist/esm/types/platforms/nest/extensions/authentication/index.d.ts +2 -0
  32. package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  33. package/dist/esm/types/providers/services.d.ts +3 -1
  34. package/dist/esm/types/symbols/ioc.d.ts +1 -0
  35. package/dist/index.d.ts +67 -12
  36. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -87,9 +87,9 @@ exports.SortDirection = void 0;
87
87
  SortDirection["Desc"] = "desc";
88
88
  })(exports.SortDirection || (exports.SortDirection = {}));
89
89
 
90
- const GlobalEvents = {
90
+ const PlatformEvents = {
91
91
  Messaging: {
92
- EmailSent: "messaging:email.sent",
92
+ EmailSent: "platform:messaging:email.sent",
93
93
  },
94
94
  };
95
95
 
@@ -127,6 +127,7 @@ class NestEntityManager {
127
127
 
128
128
  const EntityManagerSymbols = {
129
129
  AppInitializer: Symbol.for("WP:APP_INITIALIZER"),
130
+ EventsTracker: Symbol.for("WP:EVENTS_TRACKER"),
130
131
  Entity: Symbol.for("WP:ENTITY"),
131
132
  EntityActions: Symbol.for("WP:ENTITY_ACTIONS"),
132
133
  EntityAdapter: Symbol.for("WP:ENTITY_ADAPTER"),
@@ -194,6 +195,10 @@ const WpEntityQueryBuilder = (entityName, props = {}) => common.applyDecorators(
194
195
  ...props,
195
196
  }));
196
197
 
198
+ const WpEventsTracker = (props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EventsTracker, {
199
+ ...props,
200
+ }));
201
+
197
202
  const AuthenticationExtensionSymbols = {
198
203
  UserService: Symbol.for("WP.EXT:AUTHENTICATION.USER_SERVICE"),
199
204
  };
@@ -225,6 +230,14 @@ class OperationTokenMismatchError extends AuthenticationError {
225
230
  }
226
231
  }
227
232
 
233
+ const AuthenticationEvents = {
234
+ UserLogin: "authentication:user.login",
235
+ UserRegistrationStarted: "authentication:user.registrationStarted",
236
+ UserRegistrationCompleted: "authentication:user.registrationCompleted",
237
+ UserPasswordResetStarted: "authentication:user.passwordResetStarted",
238
+ UserPasswordResetCompleted: "authentication:user.passwordResetCompleted",
239
+ };
240
+
228
241
  /******************************************************************************
229
242
  Copyright (c) Microsoft Corporation.
230
243
 
@@ -658,6 +671,7 @@ const EntityServices = {
658
671
  const GlobalServices = {
659
672
  Events: {
660
673
  IEventEmitter: "IEventEmitter",
674
+ IEventsTracker: "IEventsTracker",
661
675
  },
662
676
  Authentication: {
663
677
  IAuthenticationContextProvider: "IAuthenticationContextProvider",
@@ -785,6 +799,12 @@ class EntitiesServiceLocator {
785
799
  registerEmailProvider(instance) {
786
800
  this.provider.register(GlobalServices.Messaging.IEmailProvider, instance);
787
801
  }
802
+ resolveEventsTracker() {
803
+ return this.provider.resolve(GlobalServices.Events.IEventsTracker);
804
+ }
805
+ registerEventsTracker(instance) {
806
+ this.provider.register(GlobalServices.Events.IEventsTracker, instance);
807
+ }
788
808
  resolveEmailTemplatesCollection() {
789
809
  return this.provider.resolve(GlobalServices.Messaging.IEmailTemplatesCollection);
790
810
  }
@@ -19555,6 +19575,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
19555
19575
  }
19556
19576
  await this.registerEmailTemplates();
19557
19577
  await this.registerEmailProviders();
19578
+ await this.registerEventTrackingProviders();
19558
19579
  await this.executeInitializers(app);
19559
19580
  this.logger.log("Entity manager initialization completed 🚀");
19560
19581
  }
@@ -19608,6 +19629,19 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
19608
19629
  this.logger.log(`Entity manager app initializer ${initializer.discoveredClass.name} initialized 💪`);
19609
19630
  }
19610
19631
  }
19632
+ async registerEventTrackingProviders() {
19633
+ const providers = await this.discoverEventTrackingProviders();
19634
+ if (!providers.length) {
19635
+ this.logger.warn("No events tracker ⚠️");
19636
+ return;
19637
+ }
19638
+ // todo: handle multiple trackers
19639
+ this.registry
19640
+ .getContainer()
19641
+ .getEntitiesServicesLocator()
19642
+ .registerEventsTracker(providers[0].discoveredClass.instance);
19643
+ this.logger.log(`Events tracker ${providers[0].discoveredClass.name} registered 🚜`);
19644
+ }
19611
19645
  async registerEmailProviders() {
19612
19646
  const providers = await this.discoverEmailProviders();
19613
19647
  if (!providers.length) {
@@ -19663,6 +19697,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
19663
19697
  async discoverEmailProviders() {
19664
19698
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EmailProvider);
19665
19699
  }
19700
+ async discoverEventTrackingProviders() {
19701
+ return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EventsTracker);
19702
+ }
19666
19703
  };
19667
19704
  exports.EntityManagerInitializer = EntityManagerInitializer_1 = __decorate([
19668
19705
  common.Injectable(),
@@ -25103,7 +25140,7 @@ let SendgridEmailProvider = class SendgridEmailProvider {
25103
25140
  });
25104
25141
  }
25105
25142
  await this.client.send(request);
25106
- await this.eventsService.emitEvent(GlobalEvents.Messaging.EmailSent, {
25143
+ await this.eventsService.emitEvent(PlatformEvents.Messaging.EmailSent, {
25107
25144
  from: request.from,
25108
25145
  to: request.to,
25109
25146
  cc: request.cc,
@@ -25144,7 +25181,7 @@ let SendgridEmailProvider = class SendgridEmailProvider {
25144
25181
  });
25145
25182
  }
25146
25183
  await this.client.send(request);
25147
- await this.eventsService.emitEvent(GlobalEvents.Messaging.EmailSent, {
25184
+ await this.eventsService.emitEvent(PlatformEvents.Messaging.EmailSent, {
25148
25185
  from: request.from,
25149
25186
  to: request.to,
25150
25187
  cc: request.cc,
@@ -25168,6 +25205,7 @@ SendgridEmailProvider = __decorate([
25168
25205
 
25169
25206
  var SendgridEmailModule_1;
25170
25207
  const ModuleData = {
25208
+ imports: [exports.EntityManagerModule],
25171
25209
  providers: [SendgridEmailProvider],
25172
25210
  };
25173
25211
  exports.SendgridEmailModule = SendgridEmailModule_1 = class SendgridEmailModule {
@@ -25226,6 +25264,7 @@ exports.AppExceptionsFilterBase = AppExceptionsFilterBase;
25226
25264
  exports.AppInMemorySettings = AppInMemorySettings;
25227
25265
  exports.AuthenticationEmailTemplates = AuthenticationEmailTemplates;
25228
25266
  exports.AuthenticationError = AuthenticationError;
25267
+ exports.AuthenticationEvents = AuthenticationEvents;
25229
25268
  exports.AuthenticationExtensionSymbols = AuthenticationExtensionSymbols;
25230
25269
  exports.AwsSesEmailTemplate = AwsSesEmailTemplate;
25231
25270
  exports.EntityManagerConfigurationError = EntityManagerConfigurationError;
@@ -25234,7 +25273,6 @@ exports.EntityManagerSymbols = EntityManagerSymbols;
25234
25273
  exports.EntityManagerUnauthorizedException = EntityManagerUnauthorizedException;
25235
25274
  exports.EntityNotFoundException = EntityNotFoundException;
25236
25275
  exports.EntityOperationUnauthorizedException = EntityOperationUnauthorizedException;
25237
- exports.GlobalEvents = GlobalEvents;
25238
25276
  exports.InvalidCredentialsError = InvalidCredentialsError;
25239
25277
  exports.MultipleEntitiesFoundException = MultipleEntitiesFoundException;
25240
25278
  exports.NestEntityActions = NestEntityActions;
@@ -25243,6 +25281,7 @@ exports.NestEntityManager = NestEntityManager;
25243
25281
  exports.NestTypeOrmQueryBuilder = NestTypeOrmQueryBuilder;
25244
25282
  exports.NestTypeOrmRepository = NestTypeOrmRepository;
25245
25283
  exports.OperationTokenMismatchError = OperationTokenMismatchError;
25284
+ exports.PlatformEvents = PlatformEvents;
25246
25285
  exports.QueryBuilderBase = QueryBuilderBase;
25247
25286
  exports.SendgridEmailTemplate = SendgridEmailTemplate;
25248
25287
  exports.WpAppInitializer = WpAppInitializer;
@@ -25257,6 +25296,7 @@ exports.WpEntityConverter = WpEntityConverter;
25257
25296
  exports.WpEntityManager = WpEntityManager;
25258
25297
  exports.WpEntityQueryBuilder = WpEntityQueryBuilder;
25259
25298
  exports.WpEntityRepository = WpEntityRepository;
25299
+ exports.WpEventsTracker = WpEventsTracker;
25260
25300
  exports.WpSendgridEmailTemplate = WpSendgridEmailTemplate;
25261
25301
  exports.WpUserService = WpUserService;
25262
25302
  exports.getLocalizedText = getLocalizedText;