@punks/backend-entity-manager 0.0.340 → 0.0.342
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 +40 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/email.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/decorators/email.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/services/email/index.d.ts +1 -0
- package/dist/cjs/types/providers/services.d.ts +3 -1
- package/dist/cjs/types/symbols/ioc.d.ts +1 -0
- package/dist/esm/index.js +40 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/email.d.ts +3 -0
- package/dist/esm/types/platforms/nest/decorators/email.d.ts +3 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/services/email/index.d.ts +1 -0
- package/dist/esm/types/providers/services.d.ts +3 -1
- package/dist/esm/types/symbols/ioc.d.ts +1 -0
- package/dist/index.d.ts +13 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1343,6 +1343,7 @@ const GlobalServices = {
|
|
|
1343
1343
|
ICacheInstance: "ICacheInstance",
|
|
1344
1344
|
IEmailProvider: "IEmailProvider",
|
|
1345
1345
|
IEmailLogger: "IEmailLogger",
|
|
1346
|
+
IEmailTemplateMiddleware: "IEmailTemplateMiddleware",
|
|
1346
1347
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
1347
1348
|
IBucketProvider: "IBucketProvider",
|
|
1348
1349
|
ISecretsProvider: "ISecretsProvider",
|
|
@@ -1644,6 +1645,14 @@ class EntitiesServiceLocator {
|
|
|
1644
1645
|
registerEmailTemplatesCollection(instance) {
|
|
1645
1646
|
this.provider.register(GlobalServices.Plugins.IEmailTemplatesCollection, instance);
|
|
1646
1647
|
}
|
|
1648
|
+
resolveEmailTemplateMiddleware() {
|
|
1649
|
+
return this.provider.resolve(GlobalServices.Plugins.IEmailTemplateMiddleware, {
|
|
1650
|
+
optional: true,
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
registerEmailTemplateMiddleware(instance) {
|
|
1654
|
+
this.provider.register(GlobalServices.Plugins.IEmailTemplateMiddleware, instance);
|
|
1655
|
+
}
|
|
1647
1656
|
resolveEmailLogger() {
|
|
1648
1657
|
return this.provider.resolve(GlobalServices.Plugins.IEmailLogger);
|
|
1649
1658
|
}
|
|
@@ -3982,6 +3991,7 @@ const EntityManagerSymbols = {
|
|
|
3982
3991
|
EmailProvider: Symbol.for("WP:EMAIL_PROVIDER"),
|
|
3983
3992
|
EmailTemplate: Symbol.for("WP:EMAIL_TEMPLATE"),
|
|
3984
3993
|
EmailLogger: Symbol.for("WP:EMAIL_LOGGER"),
|
|
3994
|
+
EmailTemplateMiddleware: Symbol.for("WP:EMAIL_TEMPLATE_MIDDLEWARE"),
|
|
3985
3995
|
BucketProvider: Symbol.for("WP:BUCKET_PROVIDER"),
|
|
3986
3996
|
MediaProvider: Symbol.for("WP:MEDIA_PROVIDER"),
|
|
3987
3997
|
MediaReferenceRepository: Symbol.for("WP:MEDIA_REFERENCE_REPOSITORY"),
|
|
@@ -4044,6 +4054,7 @@ const WpEmailProvider = (providerId) => common.applyDecorators(common.Injectable
|
|
|
4044
4054
|
providerId,
|
|
4045
4055
|
}));
|
|
4046
4056
|
const WpEmailLogger = () => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EmailLogger, {}));
|
|
4057
|
+
const WpEmailTemplateMiddleware = () => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EmailTemplateMiddleware, {}));
|
|
4047
4058
|
|
|
4048
4059
|
const WpEntity = (name, props = {}) => common.applyDecorators(common.SetMetadata(EntityManagerSymbols.Entity, {
|
|
4049
4060
|
name,
|
|
@@ -22424,8 +22435,13 @@ exports.EmailService = class EmailService {
|
|
|
22424
22435
|
}
|
|
22425
22436
|
async sendTemplatedEmail(input) {
|
|
22426
22437
|
const template = this.getTemplate(input.templateId);
|
|
22427
|
-
|
|
22428
|
-
|
|
22438
|
+
const transformedPayload = this.templateMiddleware?.processPayload(input.payload) ?? input.payload;
|
|
22439
|
+
const sendInput = {
|
|
22440
|
+
...input,
|
|
22441
|
+
payload: transformedPayload,
|
|
22442
|
+
};
|
|
22443
|
+
await this.provider.sendTemplatedEmail(sendInput, template);
|
|
22444
|
+
await this.logger.logTemplatedEmail(sendInput);
|
|
22429
22445
|
}
|
|
22430
22446
|
async sendHtmlEmail(input) {
|
|
22431
22447
|
await this.provider.sendHtmlEmail(input);
|
|
@@ -22438,6 +22454,12 @@ exports.EmailService = class EmailService {
|
|
|
22438
22454
|
}
|
|
22439
22455
|
return template;
|
|
22440
22456
|
}
|
|
22457
|
+
get templateMiddleware() {
|
|
22458
|
+
return this.registry
|
|
22459
|
+
.getContainer()
|
|
22460
|
+
.getEntitiesServicesLocator()
|
|
22461
|
+
.resolveEmailTemplateMiddleware();
|
|
22462
|
+
}
|
|
22441
22463
|
get templates() {
|
|
22442
22464
|
return this.registry
|
|
22443
22465
|
.getContainer()
|
|
@@ -23504,6 +23526,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
23504
23526
|
await this.registerEventTrackingProviders();
|
|
23505
23527
|
await this.registerVersioningProviders();
|
|
23506
23528
|
await this.registerEmailLogger();
|
|
23529
|
+
await this.registerEmailTemplateMiddleware();
|
|
23507
23530
|
await this.registerFilesReferenceRepositoryProviders();
|
|
23508
23531
|
await this.registerFileProviders();
|
|
23509
23532
|
await this.registerMediaProviders();
|
|
@@ -23753,6 +23776,17 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
23753
23776
|
.registerEmailLogger(loggers[0].discoveredClass.instance);
|
|
23754
23777
|
this.logger.log(`Email logger ${loggers[0].discoveredClass.name} registered 🚜`);
|
|
23755
23778
|
}
|
|
23779
|
+
async registerEmailTemplateMiddleware() {
|
|
23780
|
+
const loggers = await this.discoverEmailTemplateMiddleware();
|
|
23781
|
+
if (!loggers.length) {
|
|
23782
|
+
return;
|
|
23783
|
+
}
|
|
23784
|
+
this.registry
|
|
23785
|
+
.getContainer()
|
|
23786
|
+
.getEntitiesServicesLocator()
|
|
23787
|
+
.registerEmailTemplateMiddleware(loggers[0].discoveredClass.instance);
|
|
23788
|
+
this.logger.log(`Email template middleware ${loggers[0].discoveredClass.name} registered 🚜`);
|
|
23789
|
+
}
|
|
23756
23790
|
async registerVersioningProviders() {
|
|
23757
23791
|
const providers = await this.discoverVersioningProviders();
|
|
23758
23792
|
if (!providers.length) {
|
|
@@ -23868,6 +23902,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
23868
23902
|
async discoverEmailLogger() {
|
|
23869
23903
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EmailLogger);
|
|
23870
23904
|
}
|
|
23905
|
+
async discoverEmailTemplateMiddleware() {
|
|
23906
|
+
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EmailTemplateMiddleware);
|
|
23907
|
+
}
|
|
23871
23908
|
async discoverOperationLockService() {
|
|
23872
23909
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.OperationLockService);
|
|
23873
23910
|
}
|
|
@@ -44184,6 +44221,7 @@ exports.WpCacheInstance = WpCacheInstance;
|
|
|
44184
44221
|
exports.WpEmailLogger = WpEmailLogger;
|
|
44185
44222
|
exports.WpEmailProvider = WpEmailProvider;
|
|
44186
44223
|
exports.WpEmailTemplate = WpEmailTemplate;
|
|
44224
|
+
exports.WpEmailTemplateMiddleware = WpEmailTemplateMiddleware;
|
|
44187
44225
|
exports.WpEntity = WpEntity;
|
|
44188
44226
|
exports.WpEntityActions = WpEntityActions;
|
|
44189
44227
|
exports.WpEntityAdapter = WpEntityAdapter;
|