@punks/backend-entity-manager 0.0.36 → 0.0.38

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 (28) hide show
  1. package/dist/cjs/index.js +34 -13
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/email.d.ts +3 -1
  4. package/dist/cjs/types/abstractions/index.d.ts +1 -0
  5. package/dist/cjs/types/abstractions/localization.d.ts +4 -0
  6. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +3 -0
  7. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +1 -0
  8. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +1 -0
  9. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +1 -0
  10. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +3 -2
  11. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +1 -0
  12. package/dist/cjs/types/utils/index.d.ts +2 -1
  13. package/dist/cjs/types/utils/localization.d.ts +2 -0
  14. package/dist/esm/index.js +34 -14
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/types/abstractions/email.d.ts +3 -1
  17. package/dist/esm/types/abstractions/index.d.ts +1 -0
  18. package/dist/esm/types/abstractions/localization.d.ts +4 -0
  19. package/dist/esm/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +3 -0
  20. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +1 -0
  21. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +1 -0
  22. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +1 -0
  23. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +3 -2
  24. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +1 -0
  25. package/dist/esm/types/utils/index.d.ts +2 -1
  26. package/dist/esm/types/utils/localization.d.ts +2 -0
  27. package/dist/index.d.ts +18 -5
  28. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -19047,7 +19047,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
19047
19047
  passwordHash,
19048
19048
  passwordUpdateTimestamp: new Date(),
19049
19049
  });
19050
- await this.sendRegistrationEmail(user, input.callback);
19050
+ await this.sendRegistrationEmail(user, input.callback, input.languageId);
19051
19051
  return {
19052
19052
  success: true,
19053
19053
  };
@@ -19058,7 +19058,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
19058
19058
  passwordHash,
19059
19059
  passwordUpdateTimestamp: new Date(),
19060
19060
  });
19061
- await this.sendRegistrationEmail(newUser, input.callback);
19061
+ await this.sendRegistrationEmail(newUser, input.callback, input.languageId);
19062
19062
  return {
19063
19063
  success: true,
19064
19064
  };
@@ -19069,11 +19069,12 @@ let UserRegistrationHandler = class UserRegistrationHandler {
19069
19069
  userId,
19070
19070
  });
19071
19071
  }
19072
- async sendRegistrationEmail(user, callback) {
19072
+ async sendRegistrationEmail(user, callback, languageId) {
19073
19073
  const token = await this.generateEmailVerifyToken(user);
19074
19074
  await this.emailService.sendTemplatedEmail({
19075
19075
  to: [user.email],
19076
19076
  templateId: AuthenticationEmailTemplates.Registration,
19077
+ languageId,
19077
19078
  payload: {
19078
19079
  firstName: user.profile?.firstName,
19079
19080
  lastName: user.profile?.lastName,
@@ -19274,16 +19275,17 @@ let UserPasswordResetRequestHandler = class UserPasswordResetRequestHandler {
19274
19275
  success: false,
19275
19276
  };
19276
19277
  }
19277
- await this.sendPasswordResetEmail(user, input.callback);
19278
+ await this.sendPasswordResetEmail(user, input.callback, input.languageId);
19278
19279
  return {
19279
19280
  success: true,
19280
19281
  };
19281
19282
  }
19282
- async sendPasswordResetEmail(user, callback) {
19283
+ async sendPasswordResetEmail(user, callback, languageId) {
19283
19284
  const token = await this.generatePasswordResetToken(user);
19284
19285
  await this.emailService.sendTemplatedEmail({
19285
19286
  to: [user.email],
19286
19287
  templateId: AuthenticationEmailTemplates.PasswordReset,
19288
+ languageId,
19287
19289
  payload: {
19288
19290
  firstName: user.profile.firstName,
19289
19291
  lastName: user.profile.lastName,
@@ -19383,12 +19385,12 @@ let UserVerifyRequestHandler = class UserVerifyRequestHandler {
19383
19385
  success: false,
19384
19386
  };
19385
19387
  }
19386
- await this.sendEmailVerifyEmail(user, input.callback);
19388
+ await this.sendEmailVerifyEmail(user, input.callback, input.languageId);
19387
19389
  return {
19388
19390
  success: true,
19389
19391
  };
19390
19392
  }
19391
- async sendEmailVerifyEmail(user, callback) {
19393
+ async sendEmailVerifyEmail(user, callback, languageId) {
19392
19394
  const token = await this.generateEmailVerifyToken(user);
19393
19395
  await this.emailService.sendTemplatedEmail({
19394
19396
  to: [user.email],
@@ -19398,6 +19400,7 @@ let UserVerifyRequestHandler = class UserVerifyRequestHandler {
19398
19400
  lastName: user.profile.lastName,
19399
19401
  callbackUrl: callback.urlTemplate.replace(callback.tokenPlaceholder, token),
19400
19402
  },
19403
+ languageId,
19401
19404
  });
19402
19405
  }
19403
19406
  async generateEmailVerifyToken(user) {
@@ -19985,7 +19988,12 @@ const WpAwsSesEmailTemplate = (templateId, sendgridTemplateData) => common.apply
19985
19988
 
19986
19989
  const awsSesSettings = new AppInMemorySettings();
19987
19990
 
19988
- const newUuid = backendCore.newUuid;
19991
+ const getLocalizedText = (item, languageId, defaultLanguageId) => {
19992
+ return typeof item === "string"
19993
+ ? item
19994
+ : item[languageId] ??
19995
+ (defaultLanguageId ? item[defaultLanguageId] : undefined);
19996
+ };
19989
19997
 
19990
19998
  var handlebars$1 = {exports: {}};
19991
19999
 
@@ -24928,6 +24936,8 @@ const renderHandlebarsTemplate = (input) => {
24928
24936
  return compiled(input.context);
24929
24937
  };
24930
24938
 
24939
+ const newUuid = backendCore.newUuid;
24940
+
24931
24941
  const createClient = (settings) => new clientSes.SESClient({
24932
24942
  region: settings.region,
24933
24943
  credentials: settings.awsAccessKeyId && settings.awsSecretAccessKey
@@ -24945,7 +24955,7 @@ let AwsSesEmailProvider = class AwsSesEmailProvider {
24945
24955
  const processedPayload = await template.processPayload(input.payload);
24946
24956
  const templateData = await template.getTemplateData(processedPayload);
24947
24957
  await this.sendHtmlEmail({
24948
- htmlTemplate: templateData.htmlTemplate,
24958
+ bodyTemplate: templateData.htmlTemplate,
24949
24959
  payload: processedPayload,
24950
24960
  subjectTemplate: templateData.subjectTemplate,
24951
24961
  to: input.to ?? templateData.to,
@@ -24972,7 +24982,7 @@ let AwsSesEmailProvider = class AwsSesEmailProvider {
24972
24982
  Body: {
24973
24983
  Html: {
24974
24984
  Data: renderHandlebarsTemplate({
24975
- template: input.htmlTemplate,
24985
+ template: input.bodyTemplate,
24976
24986
  context: input.payload,
24977
24987
  }),
24978
24988
  },
@@ -25032,10 +25042,18 @@ let SendgridEmailProvider = class SendgridEmailProvider {
25032
25042
  const processedPayload = await template.processPayload(input.payload);
25033
25043
  const templateData = await template.getTemplateData(processedPayload);
25034
25044
  if (templateData.type === "html") {
25045
+ const body = getLocalizedText(templateData.bodyTemplate, input.languageId);
25046
+ if (!body) {
25047
+ throw new Error(`Missing body template for language ${input.languageId}`);
25048
+ }
25049
+ const subject = getLocalizedText(templateData.bodyTemplate, input.languageId);
25050
+ if (!subject) {
25051
+ throw new Error(`Missing subject template for language ${input.languageId}`);
25052
+ }
25035
25053
  await this.sendHtmlEmail({
25036
- htmlTemplate: templateData.bodyTemplate,
25054
+ bodyTemplate: body,
25055
+ subjectTemplate: subject,
25037
25056
  payload: processedPayload,
25038
- subjectTemplate: templateData.subjectTemplate,
25039
25057
  bcc: input.bcc ?? templateData.bcc,
25040
25058
  cc: input.cc ?? templateData.cc,
25041
25059
  from: input.from ?? templateData.from,
@@ -25059,6 +25077,7 @@ let SendgridEmailProvider = class SendgridEmailProvider {
25059
25077
  context: processedPayload,
25060
25078
  })
25061
25079
  : undefined,
25080
+ replyTo: templateData.replyTo ?? sendgridSettings.value.defaultReplyTo,
25062
25081
  dynamicTemplateData: {
25063
25082
  ...processedPayload,
25064
25083
  },
@@ -25075,9 +25094,10 @@ let SendgridEmailProvider = class SendgridEmailProvider {
25075
25094
  context: input.payload,
25076
25095
  }),
25077
25096
  html: renderHandlebarsTemplate({
25078
- template: input.htmlTemplate,
25097
+ template: input.bodyTemplate,
25079
25098
  context: input.payload,
25080
25099
  }),
25100
+ replyTo: input.replyTo ?? sendgridSettings.value.defaultReplyTo,
25081
25101
  });
25082
25102
  }
25083
25103
  };
@@ -25178,6 +25198,7 @@ exports.WpEntityQueryBuilder = WpEntityQueryBuilder;
25178
25198
  exports.WpEntityRepository = WpEntityRepository;
25179
25199
  exports.WpSendgridEmailTemplate = WpSendgridEmailTemplate;
25180
25200
  exports.WpUserService = WpUserService;
25201
+ exports.getLocalizedText = getLocalizedText;
25181
25202
  exports.newUuid = newUuid;
25182
25203
  exports.renderHandlebarsTemplate = renderHandlebarsTemplate;
25183
25204
  //# sourceMappingURL=index.js.map