@aglyn/tenant-data-admin 1.0.0-beta.230 → 1.0.0-beta.231

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 (39) hide show
  1. package/package.json +7 -7
  2. package/src/lib/server/erase.js +14 -0
  3. package/src/lib/server/erase.js.map +1 -1
  4. package/src/lib/server/host-released-names.d.ts +22 -0
  5. package/src/lib/server/host-released-names.js +31 -0
  6. package/src/lib/server/host-released-names.js.map +1 -0
  7. package/src/lib/server/host-visitor-records.d.ts +1 -1
  8. package/src/lib/server/host-visitor-records.js +1 -1
  9. package/src/lib/server/host-visitor-records.js.map +1 -1
  10. package/src/lib/server/mobile-push-switch.d.ts +46 -0
  11. package/src/lib/server/mobile-push-switch.js +45 -0
  12. package/src/lib/server/mobile-push-switch.js.map +1 -0
  13. package/src/lib/server/native-push.d.ts +17 -0
  14. package/src/lib/server/native-push.js +35 -0
  15. package/src/lib/server/native-push.js.map +1 -0
  16. package/src/lib/server/notifications.js +23 -0
  17. package/src/lib/server/notifications.js.map +1 -1
  18. package/src/lib/server/personal-data-export.js +108 -0
  19. package/src/lib/server/personal-data-export.js.map +1 -1
  20. package/src/lib/server/plugin-event-outbox.d.ts +138 -0
  21. package/src/lib/server/plugin-event-outbox.js +229 -0
  22. package/src/lib/server/plugin-event-outbox.js.map +1 -0
  23. package/src/lib/server/push-apns.d.ts +73 -0
  24. package/src/lib/server/push-apns.js +225 -0
  25. package/src/lib/server/push-apns.js.map +1 -0
  26. package/src/lib/server/push-delivery.d.ts +78 -0
  27. package/src/lib/server/push-delivery.js +176 -0
  28. package/src/lib/server/push-delivery.js.map +1 -0
  29. package/src/lib/server/push-fcm.d.ts +29 -0
  30. package/src/lib/server/push-fcm.js +83 -0
  31. package/src/lib/server/push-fcm.js.map +1 -0
  32. package/src/lib/server/serve-media-cdn.d.ts +6 -0
  33. package/src/lib/server/serve-media-cdn.js +20 -3
  34. package/src/lib/server/serve-media-cdn.js.map +1 -1
  35. package/src/lib/server/site-marketing-sync.d.ts +146 -0
  36. package/src/lib/server/site-marketing-sync.js +315 -0
  37. package/src/lib/server/site-marketing-sync.js.map +1 -0
  38. package/src/lib/server/upsert-contact.js +6 -5
  39. package/src/lib/server/upsert-contact.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aglyn/tenant-data-admin",
3
- "version": "1.0.0-beta.230",
3
+ "version": "1.0.0-beta.231",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://aglyn.com",
6
6
  "repository": {
@@ -25,12 +25,12 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "dependencies": {
28
- "@aglyn/aglyn": "1.0.0-beta.230",
29
- "@aglyn/shared-util-email": "1.0.0-beta.230",
30
- "@aglyn/shared-util-fbserver": "1.0.0-beta.230",
31
- "@aglyn/shared-util-first-touch": "1.0.0-beta.230",
32
- "@aglyn/shared-util-http": "1.0.0-beta.230",
33
- "@aglyn/shared-util-tools": "1.0.0-beta.230",
28
+ "@aglyn/aglyn": "1.0.0-beta.231",
29
+ "@aglyn/shared-util-email": "1.0.0-beta.231",
30
+ "@aglyn/shared-util-fbserver": "1.0.0-beta.231",
31
+ "@aglyn/shared-util-first-touch": "1.0.0-beta.231",
32
+ "@aglyn/shared-util-http": "1.0.0-beta.231",
33
+ "@aglyn/shared-util-tools": "1.0.0-beta.231",
34
34
  "@msgpack/msgpack": "^3.1.3",
35
35
  "@swc/helpers": "0.5.23",
36
36
  "sharp": "^0.35.5",
@@ -32,6 +32,8 @@ import { isBillingSubscription } from "@aglyn/aglyn/server";
32
32
  // barrel, and which sites a consent group still needs is the rule itself.
33
33
  import { consentGroupSiteHold } from "@aglyn/aglyn/app-utils/consent-groups";
34
34
  import { listPluginOrgCollections } from "@aglyn/aglyn/plugin-manager/plugin-host-collections";
35
+ import { runPluginEventHandlers } from "@aglyn/aglyn/plugin-manager/plugin-events";
36
+ import { releasedHostNames } from "./host-released-names.js";
35
37
  import { readOrgBilling } from "./org-billing.js";
36
38
  import { disposeHostSendingDomain, readSendingDomainTeardownByLabel } from "./sending-domain-debt.js";
37
39
  import { addAdminAudit } from "./admin-audit-write.js";
@@ -242,6 +244,18 @@ export async function eraseHost(hostId, options = {}) {
242
244
  }
243
245
  // The host document tree (screens/layouts/versions/counters/products/…).
244
246
  await firestore.recursiveDelete(hostRef);
247
+ // The site's names no longer serve it (AGL-3629): plugins undo what they
248
+ // registered for each — commerce's Stripe payment method domains. Raised
249
+ // after the delete, so a plugin checking whether ANOTHER site still serves
250
+ // the name cannot find this one.
251
+ for (const domain of releasedHostNames(hostSnapshot.data())){
252
+ await runPluginEventHandlers('host.domain.released', {
253
+ orgId: orgId != null ? orgId : null,
254
+ hostId,
255
+ domain,
256
+ reason: 'site-deleted'
257
+ });
258
+ }
245
259
  // Never throws, and never leaves the slot unaccounted for: whatever the
246
260
  // vendors refuse is recorded on the label claim for the reaper to finish.
247
261
  return {