backend-manager 5.2.3 → 5.2.6

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 (50) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/CLAUDE.md +3 -3
  3. package/TODO-CANCEL-EMAIL-MISSING-ORDER-ID.md +159 -0
  4. package/TODO-WEBHOOK-KEY-LEGACY-REMOVAL.md +15 -0
  5. package/TODO-WEBHOOK-KEY-UPGRADE.md +138 -0
  6. package/docs/consent.md +5 -10
  7. package/docs/sanitization.md +32 -24
  8. package/docs/schemas.md +1 -1
  9. package/docs/stripe-webhook-forwarding.md +2 -2
  10. package/docs/testing.md +8 -7
  11. package/package.json +1 -1
  12. package/scripts/test-helper-providers.js +162 -0
  13. package/src/cli/commands/base-command.js +5 -5
  14. package/src/cli/commands/emulator.js +201 -54
  15. package/src/cli/commands/test.js +80 -9
  16. package/src/manager/events/cron/daily/ghostii-auto-publisher.js +2 -2
  17. package/src/manager/events/firestore/payments-webhooks/analytics.js +2 -2
  18. package/src/manager/functions/core/actions/api/user/delete.js +1 -1
  19. package/src/manager/helpers/analytics.js +1 -1
  20. package/src/manager/helpers/middleware.js +7 -4
  21. package/src/manager/helpers/utilities.js +31 -0
  22. package/src/manager/libraries/email/generators/newsletter.js +2 -2
  23. package/src/manager/libraries/email/providers/beehiiv.js +69 -27
  24. package/src/manager/libraries/email/providers/sendgrid.js +38 -12
  25. package/src/manager/libraries/email/validation.js +1 -1
  26. package/src/manager/libraries/infer-contact.js +1 -1
  27. package/src/manager/routes/general/email/post.js +4 -2
  28. package/src/manager/routes/marketing/email-preferences/post.js +2 -2
  29. package/src/manager/routes/payments/dispute-alert/post.js +3 -3
  30. package/src/manager/routes/payments/intent/processors/test.js +2 -2
  31. package/src/manager/routes/payments/webhook/post.js +2 -2
  32. package/src/manager/routes/user/delete.js +1 -1
  33. package/src/manager/routes/user/oauth2/providers/discord.js +1 -1
  34. package/src/manager/routes/user/oauth2/providers/google.js +1 -1
  35. package/src/test/runner.js +7 -31
  36. package/src/test/test-accounts.js +8 -63
  37. package/src/test/utils/http-client.js +1 -0
  38. package/test/events/payments/journey-payments-cancel.js +4 -4
  39. package/test/events/payments/journey-payments-failure.js +2 -2
  40. package/test/events/payments/journey-payments-legacy-product.js +1 -1
  41. package/test/events/payments/journey-payments-one-time-failure.js +1 -1
  42. package/test/events/payments/journey-payments-plan-change.js +1 -1
  43. package/test/events/payments/journey-payments-refund-webhook.js +4 -4
  44. package/test/events/payments/journey-payments-suspend.js +4 -4
  45. package/test/events/payments/journey-payments-trial.js +2 -2
  46. package/test/events/payments/journey-payments-uid-resolution.js +1 -1
  47. package/test/marketing/consent-lifecycle.js +255 -0
  48. package/test/routes/payments/dispute-alert.js +13 -13
  49. package/test/routes/payments/webhook.js +3 -3
  50. /package/src/manager/routes/general/email/templates/{download-app-link.js → general/download-app-link.js} +0 -0
@@ -34,7 +34,7 @@ module.exports = {
34
34
  name: 'rejects-unknown-processor',
35
35
  auth: 'none',
36
36
  async run({ http, assert }) {
37
- const response = await http.as('none').post(`payments/webhook?processor=unknown&key=${process.env.BACKEND_MANAGER_KEY}`, {
37
+ const response = await http.as('none').post(`payments/webhook?processor=unknown&key=${process.env.BACKEND_MANAGER_WEBHOOK_KEY}`, {
38
38
  id: 'evt_test_unknown',
39
39
  type: 'test.event',
40
40
  data: { object: {} },
@@ -50,7 +50,7 @@ module.exports = {
50
50
  async run({ http, assert, firestore }) {
51
51
  const eventId = '_test-evt-valid-webhook';
52
52
 
53
- const response = await http.as('none').post(`payments/webhook?processor=stripe&key=${process.env.BACKEND_MANAGER_KEY}`, {
53
+ const response = await http.as('none').post(`payments/webhook?processor=stripe&key=${process.env.BACKEND_MANAGER_WEBHOOK_KEY}`, {
54
54
  id: eventId,
55
55
  type: 'customer.subscription.updated',
56
56
  data: {
@@ -84,7 +84,7 @@ module.exports = {
84
84
 
85
85
  // Use the test processor so the on-write trigger doesn't require STRIPE_SECRET_KEY
86
86
  // (a failed first webhook would let the dedup-retry branch fire instead of returning duplicate=true)
87
- const send = () => http.as('none').post(`payments/webhook?processor=test&key=${process.env.BACKEND_MANAGER_KEY}`, {
87
+ const send = () => http.as('none').post(`payments/webhook?processor=test&key=${process.env.BACKEND_MANAGER_WEBHOOK_KEY}`, {
88
88
  id: eventId,
89
89
  type: 'customer.subscription.updated',
90
90
  data: {