@hartl-services/medusa-base 2.2.0 → 2.3.0

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 (27) hide show
  1. package/.medusa/server/src/admin/index.js +29 -4
  2. package/.medusa/server/src/admin/index.mjs +29 -4
  3. package/.medusa/server/src/email/config/index.js +7 -4
  4. package/.medusa/server/src/email/domain/business-keys.js +4 -2
  5. package/.medusa/server/src/email/domain/sender.js +28 -0
  6. package/.medusa/server/src/email/plugin-features.js +3 -3
  7. package/.medusa/server/src/email/rendering/default-templates.js +37 -2
  8. package/.medusa/server/src/email/rendering/render-email.js +2 -1
  9. package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +5 -1
  10. package/.medusa/server/src/email/types/email-kinds.js +2 -1
  11. package/.medusa/server/src/email/types/template-data.js +12 -1
  12. package/.medusa/server/src/modules/email/migrations/Migration20261001120000.js +16 -0
  13. package/.medusa/server/src/providers/smtp/service.js +4 -4
  14. package/.medusa/server/src/shop-config/build-food-shop-config.js +3 -1
  15. package/.medusa/server/src/subscribers/affiliate-application-submitted.js +26 -0
  16. package/.medusa/server/src/workflows/email/prepare-affiliate-application-email.js +46 -0
  17. package/README.md +51 -8
  18. package/dist/email/config/index.js +6 -3
  19. package/dist/email/domain/sender.d.ts +12 -0
  20. package/dist/email/domain/sender.js +27 -0
  21. package/dist/email/types/email-kinds.d.ts +2 -1
  22. package/dist/email/types/email-kinds.js +1 -0
  23. package/dist/email/types/shop-configuration.d.ts +8 -0
  24. package/dist/email/types/template-data.d.ts +18 -0
  25. package/dist/email/types/template-data.js +11 -0
  26. package/dist/shop-config/build-food-shop-config.js +2 -0
  27. package/package.json +2 -2
@@ -12,6 +12,7 @@ exports.EMAIL_KINDS = [
12
12
  "order.refunded",
13
13
  "auth.password_reset",
14
14
  "affiliate.consignment_report_due",
15
+ "affiliate.application_submitted.admin",
15
16
  "user.invite",
16
17
  "auth.verification",
17
18
  ];
@@ -27,4 +28,4 @@ exports.EPHEMERAL_EMAIL_KINDS = [
27
28
  ];
28
29
  const isEphemeralEmailKind = (kind) => exports.EPHEMERAL_EMAIL_KINDS.includes(kind);
29
30
  exports.isEphemeralEmailKind = isEphemeralEmailKind;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwta2luZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvdHlwZXMvZW1haWwta2luZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRS9CLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsa0NBQWtDO0lBQ2xDLGFBQWE7SUFDYixtQkFBbUI7Q0FDWCxDQUFDO0FBRUUsUUFBQSxlQUFlLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBVyxDQUFDLENBQUM7QUFJbkQ7Ozs7R0FJRztBQUNVLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMscUJBQXFCO0lBQ3JCLG1CQUFtQjtDQUNvQixDQUFDO0FBRW5DLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFlLEVBQVcsRUFBRSxDQUM5RCw2QkFBOEMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFEcEQsUUFBQSxvQkFBb0Isd0JBQ2dDIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwta2luZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvdHlwZXMvZW1haWwta2luZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRS9CLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsa0NBQWtDO0lBQ2xDLHVDQUF1QztJQUN2QyxhQUFhO0lBQ2IsbUJBQW1CO0NBQ1gsQ0FBQztBQUVFLFFBQUEsZUFBZSxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsbUJBQVcsQ0FBQyxDQUFDO0FBSW5EOzs7O0dBSUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHO0lBQ25DLHFCQUFxQjtJQUNyQixtQkFBbUI7Q0FDb0IsQ0FBQztBQUVuQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDOUQsNkJBQThDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRHBELFFBQUEsb0JBQW9CLHdCQUNnQyJ9
@@ -214,6 +214,17 @@ exports.EmailPersistedDataSchemas = {
214
214
  locale: NullableLocaleSchema,
215
215
  })
216
216
  .strict(),
217
+ "affiliate.application_submitted.admin": zod_1.z
218
+ .object({
219
+ application_id: NonEmptyStringSchema,
220
+ customer_id: NonEmptyStringSchema,
221
+ customer_email: NonEmptyStringSchema.nullable(),
222
+ customer_first_name: NonEmptyStringSchema.nullable(),
223
+ customer_last_name: NonEmptyStringSchema.nullable(),
224
+ company_name: NonEmptyStringSchema.nullable(),
225
+ message: NonEmptyStringSchema.nullable(),
226
+ })
227
+ .strict(),
217
228
  "user.invite": zod_1.z.object({}).strict(),
218
229
  "auth.verification": zod_1.z
219
230
  .object({
@@ -237,4 +248,4 @@ exports.EmailRenderDataSchemas = {
237
248
  verify_url: zod_1.z.string().url(),
238
249
  }),
239
250
  };
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbWFpbC90eXBlcy90ZW1wbGF0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0QztBQUM1QyxtR0FHNkU7QUFJN0UsTUFBTSxvQkFBb0IsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3JFLE1BQU0sOEJBQThCLEdBQUcsT0FBQztLQUNyQyxNQUFNLEVBQUU7S0FDUixLQUFLLENBQUMsZ0JBQWdCLENBQUM7S0FDdkIsUUFBUSxFQUFFLENBQUM7QUFFZCxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDekQsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFFakQsTUFBTSx5QkFBeUIsR0FBRyxPQUFDO0tBQ2hDLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsWUFBWSxFQUFFLGtCQUFrQjtDQUNqQyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFFWjs7Ozs7R0FLRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsT0FBQztLQUNoQyxNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxrRUFBa0U7SUFDbEUsS0FBSyxFQUFFLGtCQUFrQjtJQUN6Qiw0Q0FBNEM7SUFDNUMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsYUFBYSxFQUFFLG9CQUFvQjtJQUNuQyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FDWixPQUFDO1NBQ0UsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixhQUFhLEVBQUUsa0JBQWtCO1FBQ2pDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQy9CLGNBQWMsRUFBRSxZQUFZO0tBQzdCLENBQUM7U0FDRCxNQUFNLEVBQUUsQ0FDWjtJQUNELHFCQUFxQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUM7SUFDcEQsbUJBQW1CLEVBQUUsWUFBWTtJQUNqQyx1QkFBdUIsRUFBRSxZQUFZO0lBQ3JDLGNBQWMsRUFBRSxZQUFZO0lBQzVCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLEtBQUssRUFBRSxZQUFZO0lBQ25CLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLEVBQUU7SUFDckQsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsUUFBUSxFQUFFO0NBQ3ZELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQU9aOzs7O0dBSUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLE9BQUM7S0FDbkMsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsb0JBQW9CLEVBQUUsa0JBQWtCO0lBQ3hDLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUNmLE9BQUM7U0FDRSxNQUFNLENBQUM7UUFDTixNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLEdBQUcsRUFBRSxrQkFBa0I7S0FDeEIsQ0FBQztTQUNELE1BQU0sRUFBRSxDQUNaO0lBQ0QsS0FBSyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQ1osT0FBQztTQUNFLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFBRSxvQkFBb0I7UUFDM0IsYUFBYSxFQUFFLGtCQUFrQjtRQUNqQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO1NBQ0QsTUFBTSxFQUFFLENBQ1o7SUFDRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsY0FBYyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDNUIsQ0FBQztLQUNELE1BQU0sRUFBRSxDQUFDO0FBSVo7Ozs7R0FJRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsT0FBQztLQUNqQyxNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdDLG9CQUFvQixFQUFFLGtCQUFrQjtJQUN4QyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FDWixPQUFDO1NBQ0UsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixhQUFhLEVBQUUsa0JBQWtCO1FBQ2pDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQy9CLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQztTQUNELE1BQU0sRUFBRSxDQUNaO0lBQ0QsY0FBYyxFQUFFLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtDQUNyRCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFJWjs7OztHQUlHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxPQUFDO0tBQ3pDLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsS0FBSyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQ1osT0FBQztTQUNFLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFBRSxvQkFBb0I7UUFDM0IsYUFBYSxFQUFFLGtCQUFrQjtRQUNqQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUMvQixnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFO0tBQzNDLENBQUM7U0FDRCxNQUFNLEVBQUUsQ0FDWjtDQUNGLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQU1aOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLE9BQUM7S0FDakMsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxNQUFNLEVBQUUsWUFBWTtJQUNwQixhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdDLE1BQU0sRUFBRSxrQkFBa0I7Q0FDM0IsQ0FBQztLQUNELE1BQU0sRUFBRSxDQUFDO0FBSUMsUUFBQSx5QkFBeUIsR0FBRztJQUN2QyxnQkFBZ0IsRUFBRSxPQUFDO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsa0VBQWtFO1FBQ2xFLE9BQU8sRUFBRSwwQkFBa0IsQ0FBQyxRQUFRLEVBQUU7S0FDdkMsQ0FBQztTQUNELE1BQU0sRUFBRTtJQUNYLHNCQUFzQixFQUFFLE9BQUM7U0FDdEIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixrRUFBa0U7UUFDbEUsT0FBTyxFQUFFLDBCQUFrQixDQUFDLFFBQVEsRUFBRTtLQUN2QyxDQUFDO1NBQ0QsTUFBTSxFQUFFO0lBQ1gsZUFBZSxFQUFFLE9BQUM7U0FDZixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsMEJBQTBCLEVBQUUsOEJBQThCO1FBQzFELG1FQUFtRTtRQUNuRSxRQUFRLEVBQUUsNkJBQXFCLENBQUMsUUFBUSxFQUFFO1FBQzFDLG1FQUFtRTtRQUNuRSxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ3pDLENBQUM7U0FDRCxNQUFNLEVBQUU7SUFDWCxnQkFBZ0IsRUFBRSxPQUFDO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsMEJBQTBCLEVBQUUsOEJBQThCO1FBQzFELG1FQUFtRTtRQUNuRSxPQUFPLEVBQUUsMEJBQWtCLENBQUMsUUFBUSxFQUFFO1FBQ3RDLDhDQUE4QztRQUM5QyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QyxnRUFBZ0U7UUFDaEUscUJBQXFCLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUM5QyxDQUFDO1NBQ0QsTUFBTSxFQUFFO0lBQ1gsd0JBQXdCLEVBQUUsT0FBQztTQUN4QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLFNBQVMsRUFBRSxvQkFBb0I7UUFDL0IsbUVBQW1FO1FBQ25FLE9BQU8sRUFBRSwyQkFBbUIsQ0FBQyxRQUFRLEVBQUU7S0FDeEMsQ0FBQztTQUNELE1BQU0sRUFBRTtJQUNYLHVCQUF1QixFQUFFLE9BQUM7U0FDdkIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLG1FQUFtRTtRQUNuRSxPQUFPLEVBQUUsbUNBQTJCLENBQUMsUUFBUSxFQUFFO0tBQ2hELENBQUM7U0FDRCxNQUFNLEVBQUU7SUFDWCxnQkFBZ0IsRUFBRSxPQUFDO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQiwwQkFBMEIsRUFBRSw4QkFBOEI7UUFDMUQsbUVBQW1FO1FBQ25FLE9BQU8sRUFBRSwyQkFBbUIsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsZ0VBQWdFO1FBQ2hFLHFCQUFxQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDOUMsQ0FBQztTQUNELE1BQU0sRUFBRTtJQUNYLHFCQUFxQixFQUFFLE9BQUM7U0FDckIsTUFBTSxDQUFDO1FBQ04sTUFBTSxFQUFFLG9CQUFvQjtLQUM3QixDQUFDO1NBQ0QsTUFBTSxFQUFFO0lBQ1gsa0NBQWtDLEVBQUUsT0FBQztTQUNsQyxNQUFNLENBQUM7UUFDTixzQkFBc0IsRUFBRSxvQkFBb0I7UUFDNUMsWUFBWSxFQUFFLCtCQUFtQjtRQUNqQyxRQUFRLEVBQUUsOEJBQWtCO1FBQzVCLE1BQU0sRUFBRSxvQkFBb0I7S0FDN0IsQ0FBQztTQUNELE1BQU0sRUFBRTtJQUNYLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQyxtQkFBbUIsRUFBRSxPQUFDO1NBQ25CLE1BQU0sQ0FBQztRQUNOLE1BQU0sRUFBRSxvQkFBb0I7S0FDN0IsQ0FBQztTQUNELE1BQU0sRUFBRTtDQUN1QyxDQUFDO0FBRXhDLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsR0FBRyxpQ0FBeUI7SUFDNUIscUJBQXFCLEVBQUUsaUNBQXlCLENBQzlDLHFCQUFxQixDQUN0QixDQUFDLE1BQU0sQ0FBQztRQUNQLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO1FBQzNCLGdGQUFnRjtRQUNoRixhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUN0RCxDQUFDO0lBQ0YsYUFBYSxFQUFFLGlDQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM3RCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtRQUM1QixtRUFBbUU7UUFDbkUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDN0MsQ0FBQztJQUNGLG1CQUFtQixFQUFFLGlDQUF5QixDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3pFLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0tBQzdCLENBQUM7Q0FDZ0QsQ0FBQyJ9
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbWFpbC90eXBlcy90ZW1wbGF0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0QztBQUM1QyxtR0FHNkU7QUFJN0UsTUFBTSxvQkFBb0IsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3JFLE1BQU0sOEJBQThCLEdBQUcsT0FBQztLQUNyQyxNQUFNLEVBQUU7S0FDUixLQUFLLENBQUMsZ0JBQWdCLENBQUM7S0FDdkIsUUFBUSxFQUFFLENBQUM7QUFFZCxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDekQsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFFakQsTUFBTSx5QkFBeUIsR0FBRyxPQUFDO0tBQ2hDLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsWUFBWSxFQUFFLGtCQUFrQjtDQUNqQyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFFWjs7Ozs7R0FLRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsT0FBQztLQUNoQyxNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBQyxDQUFDLE1B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
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20261001120000 = void 0;
4
+ const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
5
+ class Migration20261001120000 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
8
+ this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.received.admin', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due', 'affiliate.application_submitted.admin', 'user.invite', 'auth.verification'));`);
9
+ }
10
+ async down() {
11
+ this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
12
+ this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.received.admin', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due', 'user.invite', 'auth.verification'));`);
13
+ }
14
+ }
15
+ exports.Migration20261001120000 = Migration20261001120000;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjEwMDExMjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYxMDAxMTIwMDAwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO1FBRTNHLElBQUksQ0FBQyxNQUFNLENBQUMsOFhBQThYLENBQUMsQ0FBQztJQUM5WSxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO1FBRTNHLElBQUksQ0FBQyxNQUFNLENBQUMscVZBQXFWLENBQUMsQ0FBQztJQUNyVyxDQUFDO0NBRUY7QUFkRCwwREFjQyJ9
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SmtpNotificationService = exports.SMTP_TIMEOUTS = void 0;
7
7
  const utils_1 = require("@medusajs/framework/utils");
8
8
  const nodemailer_1 = __importDefault(require("nodemailer"));
9
+ const sender_1 = require("../../email/domain/sender");
9
10
  const service_1 = require("../../modules/email/service");
10
11
  const types_1 = require("./types");
11
12
  exports.SMTP_TIMEOUTS = {
@@ -13,7 +14,6 @@ exports.SMTP_TIMEOUTS = {
13
14
  greeting: 10_000,
14
15
  socket: 30_000,
15
16
  };
16
- const emailAddressPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
17
17
  const connectionFailureCodes = new Set(["ECONNREFUSED", "EDNS"]);
18
18
  const invalidOptions = () => {
19
19
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Invalid SMTP notification provider options.");
@@ -111,7 +111,7 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
111
111
  }
112
112
  const configuration = smtp;
113
113
  if (!isNonEmptyString(configuration.from) ||
114
- !emailAddressPattern.test(configuration.from) ||
114
+ !(0, sender_1.parseEmailSender)(configuration.from) ||
115
115
  !isNonEmptyString(configuration.host) ||
116
116
  !isNonEmptyString(configuration.password) ||
117
117
  !Number.isInteger(configuration.port) ||
@@ -145,7 +145,7 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
145
145
  filename: attachment.filename,
146
146
  };
147
147
  });
148
- const from = notification.from && emailAddressPattern.test(notification.from)
148
+ const from = notification.from && (0, sender_1.parseEmailSender)(notification.from)
149
149
  ? notification.from
150
150
  : this.options_.smtp.from;
151
151
  const identity = deliveryIdentity(notification);
@@ -233,4 +233,4 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
233
233
  }
234
234
  exports.SmtpNotificationService = SmtpNotificationService;
235
235
  SmtpNotificationService.identifier = "smtp";
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUltQztBQUNuQyw0REFBb0M7QUFFcEMseURBQXFFO0FBQ3JFLG1DQU1pQjtBQWtDSixRQUFBLGFBQWEsR0FBRztJQUMzQixVQUFVLEVBQUUsTUFBTTtJQUNsQixRQUFRLEVBQUUsTUFBTTtJQUNoQixNQUFNLEVBQUUsTUFBTTtDQUNOLENBQUM7QUFFWCxNQUFNLG1CQUFtQixHQUFHLDRCQUE0QixDQUFDO0FBQ3pELE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLGNBQWMsR0FBRyxHQUFVLEVBQUU7SUFDakMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkNBQTZDLENBQzlDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzNELE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFFckQsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixZQUEyRCxFQUNsQyxFQUFFO0lBQzNCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUM7SUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLENBQUM7SUFDMUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFJLFlBQWlDLENBQUMsRUFBRSxDQUFDO0lBQzdELElBQ0UsQ0FBQyxZ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
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUltQztBQUNuQyw0REFBb0M7QUFFcEMsc0RBQTZEO0FBQzdELHlEQUFxRTtBQUNyRSxtQ0FNaUI7QUFrQ0osUUFBQSxhQUFhLEdBQUc7SUFDM0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLE1BQU07Q0FDTixDQUFDO0FBRVgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sY0FBYyxHQUFHLEdBQVUsRUFBRTtJQUNqQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qiw2Q0FBNkMsQ0FDOUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFjLEVBQW1CLEVBQUUsQ0FDM0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUVyRCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLFlBQTJELEVBQ2xDLEVBQUU7SUFDM0IsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMxRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUksWUFBaUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsSUFDRSxDQUFDLFlBQVk7UUFDYixDQUFDLGdCQUFnQixD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
@@ -144,6 +144,8 @@ function buildFoodShopConfig(options, environment = process.env) {
144
144
  email: {
145
145
  jwtSecret: env.JWT_SECRET,
146
146
  shop: {
147
+ // The Admin page lists the applications; the id is not part of the URL.
148
+ adminAffiliateApplicationsUrl: () => new URL("/app/affiliates/applications", backendOrigin).toString(),
147
149
  // The Admin dashboard mounts under admin.path ("/app").
148
150
  adminOrderUrl: ({ orderId }) => new URL(`/app/orders/${encodeURIComponent(orderId)}`, backendOrigin).toString(),
149
151
  displayName: options.displayName,
@@ -260,4 +262,4 @@ function buildFoodShopConfig(options, environment = process.env) {
260
262
  function defineFoodShopConfig(options, environment = process.env) {
261
263
  return (0, utils_1.defineConfig)(buildFoodShopConfig(options, environment));
262
264
  }
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMEVBLGtEQTBTQztBQUdELG9EQUtDO0FBNVhELHVEQUFvRDtBQUNwRCxxREFBMkU7QUFFM0UsNkNBb0IwQjtBQUMxQiw0RkFBcUY7QUFDckYsMkRBQW1FO0FBRW5FLHVDQUdtQjtBQW1DbkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FDakMsT0FBOEIsRUFDOUIsY0FBaUMsT0FBTyxDQUFDLEdBQUc7SUFFNUMsSUFBQSxxQ0FBMkIsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUVyQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDbEMsSUFBQSxlQUFPLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsa0JBQWtCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxNQUFNLGFBQWEsR0FBRyxJQUFBLG9DQUEyQixFQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV0RSxNQUFNLEdBQUcsR0FBRyxJQUFBLDJCQUFrQixFQUM1QixXQUFXLEVBQ1g7UUFDRSxjQUFjO1FBQ2QsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLEdBQUcsbUNBQTBCO1FBQzdCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix5QkFBeUI7S0FDMUIs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
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMEVBLGtEQWdUQztBQUdELG9EQUtDO0FBbFlELHVEQUFvRDtBQUNwRCxxREFBMkU7QUFFM0UsNkNBb0IwQjtBQUMxQiw0RkFBcUY7QUFDckYsMkRBQW1FO0FBRW5FLHVDQUdtQjtBQW1DbkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FDakMsT0FBOEIsRUFDOUIsY0FBaUMsT0FBTyxDQUFDLEdBQUc7SUFFNUMsSUFBQSxxQ0FBMkIsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUVyQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDbEMsSUFBQSxlQUFPLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsa0JBQWtCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxNQUFNLGFBQWEsR0FBRyxJQUFBLG9DQUEyQixFQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV0RSxNQUFNLEdBQUcsR0FBRyxJQUFBLDJCQUFrQixFQUM1QixXQUFXLEVBQ1g7UUFDRSxjQUFjO1FBQ2QsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLEdBQUcsbUNBQTBCO1FBQzdCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix5QkFBeUI7S0FDMUIs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
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = affiliateApplicationSubmittedSubscriber;
5
+ const public_1 = require("../public");
6
+ const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/events/affiliate");
7
+ const plugin_features_1 = require("../email/plugin-features");
8
+ const prepare_affiliate_application_email_1 = require("../workflows/email/prepare-affiliate-application-email");
9
+ async function affiliateApplicationSubmittedSubscriber({ event, container, }) {
10
+ try {
11
+ if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "affiliate_reminders"))) {
12
+ return;
13
+ }
14
+ const payload = affiliate_1.AffiliateApplicationSubmittedEventSchema.parse(event.data);
15
+ await (0, prepare_affiliate_application_email_1.prepareAffiliateApplicationEmailWorkflow)(container).run({
16
+ input: payload,
17
+ });
18
+ }
19
+ catch {
20
+ throw new Error("EMAIL_AFFILIATE_APPLICATION_SUBSCRIBER_FAILED");
21
+ }
22
+ }
23
+ exports.config = {
24
+ event: affiliate_1.AFFILIATE_APPLICATION_SUBMITTED_EVENT,
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWFwcGxpY2F0aW9uLXN1Ym1pdHRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9hZmZpbGlhdGUtYXBwbGljYXRpb24tc3VibWl0dGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLDBEQXFCQztBQWxDRCxzQ0FBbUQ7QUFLbkQsa0dBRzRFO0FBRTVFLDhEQUErRDtBQUMvRCxnSEFBa0g7QUFFbkcsS0FBSyxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BFLEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QscUNBQW1CLEVBQ25CLHFCQUFxQixDQUN0QixDQUFDLEVBQ0YsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsb0RBQXdDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxNQUFNLElBQUEsOEVBQXdDLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzVELEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsaURBQXFDO0NBQzdDLENBQUMifQ==
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareAffiliateApplicationEmailWorkflow = exports.prepareAffiliateApplicationEmail = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const business_keys_1 = require("../../email/domain/business-keys");
6
+ const email_1 = require("../../modules/email");
7
+ const dispatch_email_message_1 = require("./dispatch-email-message");
8
+ /**
9
+ * Notifies the shop about a new partner application. The business key is the
10
+ * application, so a replayed event or a concurrent request never creates a
11
+ * second message.
12
+ */
13
+ const prepareAffiliateApplicationEmail = async (container, input) => {
14
+ const email = container.resolve(email_1.EMAIL_MODULE);
15
+ const message = await email.upsertMessageFact({
16
+ kind: "affiliate.application_submitted.admin",
17
+ business_key: (0, business_keys_1.affiliateApplicationSubmittedAdminBusinessKey)(input.application_id),
18
+ resource_type: "affiliate_application",
19
+ resource_id: input.application_id,
20
+ recipient: email.getDispatchConfiguration().orderNotificationEmail,
21
+ required_facts: ["submitted"],
22
+ fact: "submitted",
23
+ template_data: {
24
+ application_id: input.application_id,
25
+ customer_id: input.customer_id,
26
+ customer_email: input.customer_email,
27
+ customer_first_name: input.customer_first_name,
28
+ customer_last_name: input.customer_last_name,
29
+ company_name: input.company_name,
30
+ message: input.message,
31
+ },
32
+ suppression_code: null,
33
+ });
34
+ const { result: delivery } = await (0, dispatch_email_message_1.dispatchEmailMessageWorkflow)(container).run({
35
+ input: { message_id: message.id },
36
+ });
37
+ return {
38
+ delivery_status: delivery.status,
39
+ message_id: message.id,
40
+ status: message.status,
41
+ };
42
+ };
43
+ exports.prepareAffiliateApplicationEmail = prepareAffiliateApplicationEmail;
44
+ const prepareAffiliateApplicationEmailStep = (0, workflows_sdk_1.createStep)("email-prepare-affiliate-application-submitted", async (input, { container }) => new workflows_sdk_1.StepResponse(await (0, exports.prepareAffiliateApplicationEmail)(container, input)));
45
+ exports.prepareAffiliateApplicationEmailWorkflow = (0, workflows_sdk_1.createWorkflow)("email-prepare-affiliate-application-submitted", (input) => new workflows_sdk_1.WorkflowResponse(prepareAffiliateApplicationEmailStep(input)));
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1hZmZpbGlhdGUtYXBwbGljYXRpb24tZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2VtYWlsL3ByZXBhcmUtYWZmaWxpYXRlLWFwcGxpY2F0aW9uLWVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUsyQztBQUczQyxvRUFBaUc7QUFDakcsK0NBQW1EO0FBRW5ELHFFQUF3RTtBQVF4RTs7OztHQUlHO0FBQ0ksTUFBTSxnQ0FBZ0MsR0FBRyxLQUFLLEVBQ25ELFNBQTBCLEVBQzFCLEtBQXlDLEVBQ1EsRUFBRTtJQUNuRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFxQixvQkFBWSxDQUFDLENBQUM7SUFDbEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDNUMsSUFBSSxFQUFFLHVDQUF1QztRQUM3QyxZQUFZLEVBQUUsSUFBQSw2REFBNkMsRUFDekQsS0FBSyxDQUFDLGNBQWMsQ0FDckI7UUFDRCxhQUFhLEVBQUUsdUJBQXVCO1FBQ3RDLFdBQVcsRUFBRSxLQUFLLENBQUMsY0FBYztRQUNqQyxTQUFTLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUMsc0JBQXNCO1FBQ2xFLGNBQWMsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUM3QixJQUFJLEVBQUUsV0FBVztRQUNqQixhQUFhLEVBQUU7WUFDYixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QjtRQUNELGdCQUFnQixFQUFFLElBQUk7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUEscURBQTRCLEVBQzdELFNBQVMsQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO0tBQ2xDLENBQUMsQ0FBQztJQUNILE9BQU87UUFDTCxlQUFlLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDaEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBcENXLFFBQUEsZ0NBQWdDLG9DQW9DM0M7QUFFRixNQUFNLG9DQUFvQyxHQUFHLElBQUEsMEJBQVUsRUFLckQsK0NBQStDLEVBQy9DLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQzdCLElBQUksNEJBQVksQ0FBQyxNQUFNLElBQUEsd0NBQWdDLEVBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQzdFLENBQUM7QUFFVyxRQUFBLHdDQUF3QyxHQUFHLElBQUEsOEJBQWMsRUFDcEUsK0NBQStDLEVBQy9DLENBQUMsS0FBeUMsRUFBRSxFQUFFLENBQzVDLElBQUksZ0NBQWdCLENBQUMsb0NBQW9DLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEUsQ0FBQyJ9
package/README.md CHANGED
@@ -864,6 +864,10 @@ Options of the `email` namespace:
864
864
  `orderNotificationEmail` mailbox. `verifyAccountUrl` (optional builder,
865
865
  like `passwordResetUrl`; the mail appends `#token=`) is the storefront page
866
866
  that confirms an account, needed while `customer_verification` is on.
867
+ `adminAffiliateApplicationsUrl` (optional builder, receives
868
+ `{ applicationId }`) is the Admin page of the partner applications; the
869
+ notification about a new application shows its "Im Admin prüfen" button
870
+ only with it.
867
871
  `layout` and `renderers` are optional overrides, see "Shop configuration and
868
872
  default templates".
869
873
 
@@ -878,7 +882,7 @@ is off. The former `documentsEnabled` option no longer exists: Documents is
878
882
  always part of the base.
879
883
 
880
884
  The event contracts the module consumes for shipment, cancellation, refund and
881
- affiliate-reminder e-mails come from
885
+ affiliate-reminder and partner-application e-mails come from
882
886
  `@hartl-services/medusa-food-supplements-contracts/events/documents` and
883
887
  `/events/affiliate`, so installing the base does not pull in Affiliate.
884
888
 
@@ -916,7 +920,7 @@ feature is switched on again.
916
920
  | `order_mails` | Bestell-Mails | on | subscribers `order-placed`, `email-shipment-created`, `email-order-canceled`, `return-requested`, `return-received`, `documents-shipment-invoice-assignment-decided`, `documents-order-cancellation-ready`, `documents-refund-ready` | jobs, Admin routes, already created messages |
917
921
  | `account_mails` | Konto-Mails | on | subscribers `password-reset`, `user-invite`, `customer-verification` (the last one only with `customer_verification` on as well) | jobs, Admin routes, already created messages |
918
922
  | `customer_verification` | Kontobestätigung per E-Mail | off | Medusa's e-mail verification of customer logins (see "Kontobestätigung per E-Mail"), route `POST /store/customer-verification/resend` (404 while off), subscriber `customer-verification`; child of `account_mails` | checkout and orders; confirmed accounts stay confirmed, already created messages |
919
- | `affiliate_reminders` | Affiliate-Erinnerungen | on | subscriber `affiliate-consignment-reminder-due` | jobs, Admin routes, already created messages |
923
+ | `affiliate_reminders` | Affiliate-Mails | on | subscribers `affiliate-consignment-reminder-due` (reminders to affiliates) and `affiliate-application-submitted` (notification to the shop about a new partner application) | jobs, Admin routes, already created messages |
920
924
 
921
925
  With the plugin switched off the three jobs return immediately, so nothing
922
926
  is sent, retried or reconciled until it is switched on again; then the jobs
@@ -1043,7 +1047,8 @@ Storefront contract (DTOs, schema and path from the Contracts package,
1043
1047
  ### Ownership
1044
1048
 
1045
1049
  - Documents owns document issuance and publishes immutable document facts.
1046
- - Affiliate owns reminder eligibility and publishes reminder facts.
1050
+ - Affiliate owns reminder eligibility and publishes reminder and application
1051
+ facts.
1047
1052
  - Email resolves recipients, renders content, attaches files, and owns delivery
1048
1053
  status plus the append-only global Terms PDF history.
1049
1054
  - Public HTTP DTOs, schemas, and paths remain in
@@ -1167,6 +1172,28 @@ type Payload = {
1167
1172
  };
1168
1173
  ```
1169
1174
 
1175
+ `affiliate.application_submitted.v1`
1176
+
1177
+ ```ts
1178
+ type Payload = {
1179
+ schema_version: 1;
1180
+ application_id: string;
1181
+ customer_id: string;
1182
+ customer_email: string | null;
1183
+ customer_first_name: string | null;
1184
+ customer_last_name: string | null;
1185
+ company_name: string | null;
1186
+ message: string | null;
1187
+ };
1188
+ ```
1189
+
1190
+ Affiliate publishes it when `POST /store/affiliates/register` has stored an
1191
+ application. Email creates one `affiliate.application_submitted.admin` message
1192
+ per `application_id` (business key
1193
+ `affiliate-application-submitted-admin:<application_id>`, so a replay or a
1194
+ concurrent request never sends a second mail) addressed to
1195
+ `orderNotificationEmail`. The persisted template data are exactly these facts.
1196
+
1170
1197
  `period_start` is a valid `YYYY-MM-01`, `due_date` is a valid `YYYY-MM-DD`, and
1171
1198
  `reminder_key` is exactly
1172
1199
  `affiliate-consignment:<affiliate_id>:<period_start>`. `locale`, when present,
@@ -1177,7 +1204,8 @@ has at most 35 characters. Email runtime-validates every contract before use.
1177
1204
  - The accepted kinds are exactly `order.received`, `order.received.admin`, `order.shipped`,
1178
1205
  `order.canceled`, `order.return_requested`, `order.return_received`,
1179
1206
  `order.refunded`, `auth.password_reset`, `auth.verification`,
1180
- `affiliate.consignment_report_due` and `user.invite`.
1207
+ `affiliate.consignment_report_due`, `affiliate.application_submitted.admin`
1208
+ and `user.invite`.
1181
1209
  - Every automatic message has a deterministic business key.
1182
1210
  - Every placed Order creates independent customer and Shop intents. The customer
1183
1211
  intent honors `no_notification`; the Shop intent always targets the static
@@ -1248,7 +1276,7 @@ an info box lists number, customer, e-mail and order time, followed by an
1248
1276
  button is left out without it) and `timeZone` (IANA; the order time is left
1249
1277
  out without it). `buildFoodShopConfig` sets both (`<MEDUSA_BACKEND_URL>/app/
1250
1278
  orders/<id>` and its `timeZone` option). The layout receives `audience`
1251
- (`"shop"` for this kind and `user.invite`, `"customer"` for all others) and
1279
+ (`"shop"` for this kind, `affiliate.application_submitted.admin` and `user.invite`, `"customer"` for all others) and
1252
1280
  shows the contact line only to customers.
1253
1281
 
1254
1282
  The shipping confirmation (`order.shipped`, one per fulfillment) receives a
@@ -1329,6 +1357,17 @@ Partnerbereich" button and says the mail can be ignored once the report is
1329
1357
  submitted. The button leads to a 404 while the affiliate plugin's
1330
1358
  `partner_portal` toggle is off.
1331
1359
 
1360
+ The partner application notification (`affiliate.application_submitted.admin`)
1361
+ goes to `orderNotificationEmail`, like the order notification, and is gated by
1362
+ the `affiliate_reminders` feature ("Affiliate-Mails"). Its subject is "Neue
1363
+ Partner-Bewerbung von <Firma>" (without a company the applicant's name, then
1364
+ the e-mail address; just "Neue Partner-Bewerbung" if none is known). An info
1365
+ box lists company, name and e-mail (only the present ones), the applicant's
1366
+ message follows as an escaped paragraph, and an "Im Admin prüfen" button links
1367
+ `adminAffiliateApplicationsUrl` (left out without it; `buildFoodShopConfig`
1368
+ sets `<MEDUSA_BACKEND_URL>/app/affiliates/applications`). Its layout audience
1369
+ is `"shop"`. All applicant text is HTML-escaped.
1370
+
1332
1371
  The Admin invite (`user.invite`) has the subject "Einladung ins Admin-Team von
1333
1372
  <displayName>", an "Einladung annehmen" button with the link as copyable text,
1334
1373
  the invite's current expiry ("Die Einladung ist gültig bis 02.10.2026, 01:40
@@ -1378,7 +1417,9 @@ deployment variables:
1378
1417
  build); otherwise `SMTP_SECURE` or `SMTP_REQUIRE_TLS` must be `true`.
1379
1418
 
1380
1419
  Runtime requires `SMTP_HOST`, `SMTP_PORT`, `SMTP_SECURE`, `SMTP_REQUIRE_TLS`,
1381
- `SMTP_USER`, `SMTP_PASSWORD`, and `SMTP_FROM`. `SMTP_SECURE=true` selects
1420
+ `SMTP_USER`, `SMTP_PASSWORD`, and `SMTP_FROM`. `SMTP_FROM` is a bare address
1421
+ or carries the sender's display name: `Example GmbH <info@example.com>` (quote
1422
+ the value in a `.env` file). `SMTP_SECURE=true` selects
1382
1423
  implicit TLS; `SMTP_REQUIRE_TLS=true` requires STARTTLS. Outside development
1383
1424
  and test, at least one must be true. Certificate verification is never
1384
1425
  disabled. Development and test may set both to `false` for an isolated local
@@ -1454,8 +1495,10 @@ composes the base's `PluginPageShell` and `PluginFeatureSections` from
1454
1495
  two operations sections below them, in this order: **AGB/PDF-Versionen** and,
1455
1496
  as the last section, the **E-Mail-Protokoll**. They show Terms PDF and mail
1456
1497
  log state to act on, not configuration the plugin reads at run time. The mail
1457
- log provides bounded server pagination, allowlisted status/kind filters, safe
1458
- message and attempt status, and an explicitly confirmed resend action.
1498
+ log provides bounded server pagination, allowlisted status/kind filters, a
1499
+ search by the exact resource ID (e.g. `order_…`, `cus_…`, as pasted from
1500
+ elsewhere), safe message and attempt status, and an explicitly confirmed
1501
+ resend action.
1459
1502
  Recipient, template, and payload data are intentionally absent from the page.
1460
1503
 
1461
1504
  The `AGB/PDF-Versionen` section manages the global Terms PDFs. Admins can
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveSmtp = exports.SMTP_BUILD_PLACEHOLDERS = exports.SMTP_ENVIRONMENT_VARIABLES = exports.defineShopEmailConfiguration = exports.createSmtpNotificationModuleConfig = void 0;
4
+ const sender_1 = require("../domain/sender");
4
5
  var notification_module_1 = require("./notification-module");
5
6
  Object.defineProperty(exports, "createSmtpNotificationModuleConfig", { enumerable: true, get: function () { return notification_module_1.createSmtpNotificationModuleConfig; } });
6
7
  const defineShopEmailConfiguration = (configuration) => configuration;
@@ -63,11 +64,13 @@ const resolveSmtp = (values, allowInsecure) => {
63
64
  if (port === undefined) {
64
65
  throw new TypeError("SMTP_PORT is required.");
65
66
  }
66
- if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(values.SMTP_FROM)) {
67
- throw new TypeError("SMTP_FROM must be a valid email address.");
67
+ // A display name is allowed: "Example GmbH <info@example.com>".
68
+ const sender = (0, sender_1.parseEmailSender)(values.SMTP_FROM);
69
+ if (!sender) {
70
+ throw new TypeError('SMTP_FROM must be an email address, optionally as "Name <address>".');
68
71
  }
69
72
  const smtp = {
70
- from: values.SMTP_FROM,
73
+ from: (0, sender_1.formatEmailSender)(sender),
71
74
  host: values.SMTP_HOST,
72
75
  password: values.SMTP_PASSWORD,
73
76
  port,
@@ -0,0 +1,12 @@
1
+ export type EmailSender = {
2
+ address: string;
3
+ name?: string;
4
+ };
5
+ /**
6
+ * Reads a sender as either a bare address (`info@example.com`) or with a
7
+ * display name (`Example GmbH <info@example.com>`, the name optionally in
8
+ * double quotes). Returns undefined when the address is not valid.
9
+ */
10
+ export declare const parseEmailSender: (value: string) => EmailSender | undefined;
11
+ /** Writes the sender for a mail header, quoting the display name. */
12
+ export declare const formatEmailSender: ({ address, name }: EmailSender) => string;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatEmailSender = exports.parseEmailSender = void 0;
4
+ const emailAddressPattern = /^[^\s@<>"]+@[^\s@<>"]+\.[^\s@<>"]+$/;
5
+ const namedSenderPattern = /^(.*?)\s*<([^<>]*)>$/;
6
+ /**
7
+ * Reads a sender as either a bare address (`info@example.com`) or with a
8
+ * display name (`Example GmbH <info@example.com>`, the name optionally in
9
+ * double quotes). Returns undefined when the address is not valid.
10
+ */
11
+ const parseEmailSender = (value) => {
12
+ const trimmed = value.trim();
13
+ const named = namedSenderPattern.exec(trimmed);
14
+ const address = (named ? named[2] : trimmed).trim();
15
+ if (!emailAddressPattern.test(address)) {
16
+ return undefined;
17
+ }
18
+ const name = named?.[1]
19
+ .trim()
20
+ .replace(/^"(.*)"$/, "$1")
21
+ .trim();
22
+ return name ? { address, name } : { address };
23
+ };
24
+ exports.parseEmailSender = parseEmailSender;
25
+ /** Writes the sender for a mail header, quoting the display name. */
26
+ const formatEmailSender = ({ address, name }) => name ? `"${name.replace(/["\\]/g, "\\$&")}" <${address}>` : address;
27
+ exports.formatEmailSender = formatEmailSender;
@@ -1,5 +1,5 @@
1
1
  import { z } from "@medusajs/framework/zod";
2
- export declare const EMAIL_KINDS: readonly ["order.received", "order.received.admin", "order.shipped", "order.canceled", "order.return_requested", "order.return_received", "order.refunded", "auth.password_reset", "affiliate.consignment_report_due", "user.invite", "auth.verification"];
2
+ export declare const EMAIL_KINDS: readonly ["order.received", "order.received.admin", "order.shipped", "order.canceled", "order.return_requested", "order.return_received", "order.refunded", "auth.password_reset", "affiliate.consignment_report_due", "affiliate.application_submitted.admin", "user.invite", "auth.verification"];
3
3
  export declare const EmailKindSchema: z.ZodEnum<{
4
4
  "order.received": "order.received";
5
5
  "order.received.admin": "order.received.admin";
@@ -10,6 +10,7 @@ export declare const EmailKindSchema: z.ZodEnum<{
10
10
  "order.refunded": "order.refunded";
11
11
  "auth.password_reset": "auth.password_reset";
12
12
  "affiliate.consignment_report_due": "affiliate.consignment_report_due";
13
+ "affiliate.application_submitted.admin": "affiliate.application_submitted.admin";
13
14
  "user.invite": "user.invite";
14
15
  "auth.verification": "auth.verification";
15
16
  }>;
@@ -12,6 +12,7 @@ exports.EMAIL_KINDS = [
12
12
  "order.refunded",
13
13
  "auth.password_reset",
14
14
  "affiliate.consignment_report_due",
15
+ "affiliate.application_submitted.admin",
15
16
  "user.invite",
16
17
  "auth.verification",
17
18
  ];
@@ -39,6 +39,14 @@ export type ShopEmailConfiguration = Readonly<{
39
39
  adminOrderUrl?: (input: Readonly<{
40
40
  orderId: string;
41
41
  }>) => string;
42
+ /**
43
+ * Link to the partner applications in the Medusa Admin; the shop's
44
+ * notification about a new partner application shows an "Im Admin prüfen"
45
+ * button only when it is set.
46
+ */
47
+ adminAffiliateApplicationsUrl?: (input: Readonly<{
48
+ applicationId: string;
49
+ }>) => string;
42
50
  affiliatePortalUrl: string;
43
51
  displayName: string;
44
52
  inviteUrl: (input: Readonly<{
@@ -362,6 +362,15 @@ export declare const EmailPersistedDataSchemas: {
362
362
  due_date: z.ZodString;
363
363
  locale: z.ZodNullable<z.ZodString>;
364
364
  }, z.core.$strict>;
365
+ readonly "affiliate.application_submitted.admin": z.ZodObject<{
366
+ application_id: z.ZodString;
367
+ customer_id: z.ZodString;
368
+ customer_email: z.ZodNullable<z.ZodString>;
369
+ customer_first_name: z.ZodNullable<z.ZodString>;
370
+ customer_last_name: z.ZodNullable<z.ZodString>;
371
+ company_name: z.ZodNullable<z.ZodString>;
372
+ message: z.ZodNullable<z.ZodString>;
373
+ }, z.core.$strict>;
365
374
  readonly "user.invite": z.ZodObject<{}, z.core.$strict>;
366
375
  readonly "auth.verification": z.ZodObject<{
367
376
  locale: z.ZodNullable<z.ZodString>;
@@ -596,6 +605,15 @@ export declare const EmailRenderDataSchemas: {
596
605
  due_date: z.ZodString;
597
606
  locale: z.ZodNullable<z.ZodString>;
598
607
  }, z.core.$strict>;
608
+ readonly "affiliate.application_submitted.admin": z.ZodObject<{
609
+ application_id: z.ZodString;
610
+ customer_id: z.ZodString;
611
+ customer_email: z.ZodNullable<z.ZodString>;
612
+ customer_first_name: z.ZodNullable<z.ZodString>;
613
+ customer_last_name: z.ZodNullable<z.ZodString>;
614
+ company_name: z.ZodNullable<z.ZodString>;
615
+ message: z.ZodNullable<z.ZodString>;
616
+ }, z.core.$strict>;
599
617
  };
600
618
  export type EmailPersistedDataMap = {
601
619
  readonly [Kind in EmailKind]: Readonly<z.infer<(typeof EmailPersistedDataSchemas)[Kind]>>;
@@ -214,6 +214,17 @@ exports.EmailPersistedDataSchemas = {
214
214
  locale: NullableLocaleSchema,
215
215
  })
216
216
  .strict(),
217
+ "affiliate.application_submitted.admin": zod_1.z
218
+ .object({
219
+ application_id: NonEmptyStringSchema,
220
+ customer_id: NonEmptyStringSchema,
221
+ customer_email: NonEmptyStringSchema.nullable(),
222
+ customer_first_name: NonEmptyStringSchema.nullable(),
223
+ customer_last_name: NonEmptyStringSchema.nullable(),
224
+ company_name: NonEmptyStringSchema.nullable(),
225
+ message: NonEmptyStringSchema.nullable(),
226
+ })
227
+ .strict(),
217
228
  "user.invite": zod_1.z.object({}).strict(),
218
229
  "auth.verification": zod_1.z
219
230
  .object({
@@ -144,6 +144,8 @@ function buildFoodShopConfig(options, environment = process.env) {
144
144
  email: {
145
145
  jwtSecret: env.JWT_SECRET,
146
146
  shop: {
147
+ // The Admin page lists the applications; the id is not part of the URL.
148
+ adminAffiliateApplicationsUrl: () => new URL("/app/affiliates/applications", backendOrigin).toString(),
147
149
  // The Admin dashboard mounts under admin.path ("/app").
148
150
  adminOrderUrl: ({ orderId }) => new URL(`/app/orders/${encodeURIComponent(orderId)}`, backendOrigin).toString(),
149
151
  displayName: options.displayName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hartl-services/medusa-base",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Base plugin for Hartl Services Medusa shops: per-plugin feature toggles with a generic Admin settings page, a Store endpoint for storefronts, enforcement helpers, the complete-cart hook composition, the root redirect, cart-promotion link repair, the built-in E-Mail, Documents and S3 file storage modules, config helpers with the turnkey food-shop preset, and the Sentry logger wrapper and instrumentation.",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -88,7 +88,7 @@
88
88
  "mime-types": "3.0.1",
89
89
  "nodemailer": "6.10.1",
90
90
  "ulid": "^2.4.0",
91
- "@hartl-services/medusa-food-supplements-contracts": "^0.20.0"
91
+ "@hartl-services/medusa-food-supplements-contracts": "^0.21.0"
92
92
  },
93
93
  "devDependencies": {
94
94
  "@medusajs/admin-sdk": "2.19.0",