@iann29/rastro 0.10.0 → 0.10.2

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 (101) hide show
  1. package/agent/manifest.json +1 -1
  2. package/dist/client/index.d.ts +6 -1
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +9 -3
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/component/_generated/component.d.ts +1 -0
  7. package/dist/component/_generated/component.d.ts.map +1 -1
  8. package/dist/component/meta.d.ts +11 -5
  9. package/dist/component/meta.d.ts.map +1 -1
  10. package/dist/component/meta.js +88 -25
  11. package/dist/component/meta.js.map +1 -1
  12. package/dist/component/metaGraph.d.ts +0 -1
  13. package/dist/component/metaGraph.d.ts.map +1 -1
  14. package/dist/component/metaGraph.js +29 -16
  15. package/dist/component/metaGraph.js.map +1 -1
  16. package/dist/component/pipeline.d.ts +1 -0
  17. package/dist/component/pipeline.d.ts.map +1 -1
  18. package/dist/component/pipeline.js +18 -5
  19. package/dist/component/pipeline.js.map +1 -1
  20. package/dist/tracker/generated.d.ts +1 -1
  21. package/dist/tracker/generated.js +1 -1
  22. package/dist/ui/index.d.ts +2 -2
  23. package/dist/ui/index.d.ts.map +1 -1
  24. package/dist/ui/index.js +3 -2
  25. package/dist/ui/index.js.map +1 -1
  26. package/dist/ui/integrations/AccountPicker.d.ts.map +1 -1
  27. package/dist/ui/integrations/AccountPicker.js +6 -2
  28. package/dist/ui/integrations/AccountPicker.js.map +1 -1
  29. package/dist/ui/integrations/ClientCards.d.ts.map +1 -1
  30. package/dist/ui/integrations/ClientCards.js +6 -2
  31. package/dist/ui/integrations/ClientCards.js.map +1 -1
  32. package/dist/ui/integrations/ClientsTable.d.ts.map +1 -1
  33. package/dist/ui/integrations/ClientsTable.js +26 -10
  34. package/dist/ui/integrations/ClientsTable.js.map +1 -1
  35. package/dist/ui/integrations/Connect.d.ts +8 -2
  36. package/dist/ui/integrations/Connect.d.ts.map +1 -1
  37. package/dist/ui/integrations/Connect.js +18 -5
  38. package/dist/ui/integrations/Connect.js.map +1 -1
  39. package/dist/ui/integrations/Connection.d.ts.map +1 -1
  40. package/dist/ui/integrations/Connection.js +18 -4
  41. package/dist/ui/integrations/Connection.js.map +1 -1
  42. package/dist/ui/integrations/Dialogs.d.ts +4 -1
  43. package/dist/ui/integrations/Dialogs.d.ts.map +1 -1
  44. package/dist/ui/integrations/Dialogs.js +13 -4
  45. package/dist/ui/integrations/Dialogs.js.map +1 -1
  46. package/dist/ui/integrations/EventsFeed.d.ts.map +1 -1
  47. package/dist/ui/integrations/EventsFeed.js +5 -1
  48. package/dist/ui/integrations/EventsFeed.js.map +1 -1
  49. package/dist/ui/integrations/EventsSheet.d.ts +9 -3
  50. package/dist/ui/integrations/EventsSheet.d.ts.map +1 -1
  51. package/dist/ui/integrations/EventsSheet.js +20 -5
  52. package/dist/ui/integrations/EventsSheet.js.map +1 -1
  53. package/dist/ui/integrations/Icons.d.ts +2 -0
  54. package/dist/ui/integrations/Icons.d.ts.map +1 -1
  55. package/dist/ui/integrations/Icons.js +2 -0
  56. package/dist/ui/integrations/Icons.js.map +1 -1
  57. package/dist/ui/integrations/IntegrationsView.d.ts +10 -9
  58. package/dist/ui/integrations/IntegrationsView.d.ts.map +1 -1
  59. package/dist/ui/integrations/IntegrationsView.js +43 -15
  60. package/dist/ui/integrations/IntegrationsView.js.map +1 -1
  61. package/dist/ui/integrations/Overlay.js +1 -1
  62. package/dist/ui/integrations/Overlay.js.map +1 -1
  63. package/dist/ui/integrations/Partner.d.ts +14 -0
  64. package/dist/ui/integrations/Partner.d.ts.map +1 -0
  65. package/dist/ui/integrations/Partner.js +38 -0
  66. package/dist/ui/integrations/Partner.js.map +1 -0
  67. package/dist/ui/integrations/RowMenu.js +1 -1
  68. package/dist/ui/integrations/RowMenu.js.map +1 -1
  69. package/dist/ui/integrations/audience.d.ts +12 -0
  70. package/dist/ui/integrations/audience.d.ts.map +1 -0
  71. package/dist/ui/integrations/audience.js +12 -0
  72. package/dist/ui/integrations/audience.js.map +1 -0
  73. package/dist/ui/integrations/index.d.ts +2 -2
  74. package/dist/ui/integrations/index.d.ts.map +1 -1
  75. package/dist/ui/integrations/index.js +1 -1
  76. package/dist/ui/integrations/index.js.map +1 -1
  77. package/dist/ui/integrations/{overlay.d.ts → modal.d.ts} +1 -1
  78. package/dist/ui/integrations/modal.d.ts.map +1 -0
  79. package/dist/ui/integrations/{overlay.js → modal.js} +1 -1
  80. package/dist/ui/integrations/modal.js.map +1 -0
  81. package/dist/ui/integrations/model.d.ts +18 -3
  82. package/dist/ui/integrations/model.d.ts.map +1 -1
  83. package/dist/ui/integrations/model.js +35 -2
  84. package/dist/ui/integrations/model.js.map +1 -1
  85. package/dist/ui/integrations/types.d.ts +53 -3
  86. package/dist/ui/integrations/types.d.ts.map +1 -1
  87. package/dist/ui/sample.d.ts +62 -0
  88. package/dist/ui/sample.d.ts.map +1 -1
  89. package/dist/ui/sample.js +21 -0
  90. package/dist/ui/sample.js.map +1 -1
  91. package/dist/ui/ui.css +73 -5
  92. package/docs/meta-ads.md +53 -4
  93. package/docs/upgrading.md +27 -0
  94. package/package.json +1 -1
  95. package/src/component/_generated/component.ts +1 -0
  96. package/src/component/meta.ts +102 -31
  97. package/src/component/metaGraph.ts +35 -21
  98. package/src/component/pipeline.ts +23 -5
  99. package/src/tracker/generated.ts +1 -1
  100. package/dist/ui/integrations/overlay.d.ts.map +0 -1
  101. package/dist/ui/integrations/overlay.js.map +0 -1
package/dist/ui/sample.js CHANGED
@@ -549,5 +549,26 @@ export const sampleIntegrations = {
549
549
  expiringSoon: true,
550
550
  },
551
551
  },
552
+ /**
553
+ * `audience="business"`: Loja X alone, its owner connecting its own Meta
554
+ * (B1/B3 of conectar-meta-empresa); `partnered` is B2, where the partner
555
+ * Gio linked the account and the pixel and the company did not connect.
556
+ */
557
+ business: {
558
+ sites: SAMPLE_SITES.slice(0, 1),
559
+ status: INT_STATUS.slice(0, 1),
560
+ partnered: {
561
+ connection: null,
562
+ status: INT_STATUS.slice(0, 1).map((entry) => ({
563
+ ...entry,
564
+ adAccounts: entry.adAccounts.map((account) => ({
565
+ ...account,
566
+ own: false,
567
+ })),
568
+ pixel: { ...entry.pixel, own: false },
569
+ })),
570
+ partner: { name: "Gio", allowed: true },
571
+ },
572
+ },
552
573
  };
553
574
  //# sourceMappingURL=sample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/ui/sample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/ui/sample.ts"],"names":[],"mappings":"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"}
package/dist/ui/ui.css CHANGED
@@ -1905,12 +1905,62 @@ input.rastro-integrations__input:focus {
1905
1905
  min-width: 0;
1906
1906
  }
1907
1907
 
1908
+ /* Business B2: the partner who runs the company's Meta, and its consent. */
1909
+ .rastro-integrations__partner {
1910
+ display: flex;
1911
+ gap: 16px;
1912
+ align-items: flex-start;
1913
+ padding: 20px 22px;
1914
+ box-shadow: 0 0 0 1px
1915
+ color-mix(in oklab, var(--rastro-accent) 35%, var(--rastro-border));
1916
+ }
1917
+ .rastro-integrations__partner .rastro-integrations__desc {
1918
+ margin-top: 4px;
1919
+ max-width: 620px;
1920
+ }
1921
+ .rastro-integrations__tile[data-tone="partner"] {
1922
+ background: color-mix(in oklab, var(--rastro-accent) 12%, var(--rastro-card));
1923
+ color: var(--rastro-accent);
1924
+ }
1925
+ .rastro-integrations__eyebrow {
1926
+ font-size: 11px;
1927
+ font-weight: 600;
1928
+ letter-spacing: 0.08em;
1929
+ text-transform: uppercase;
1930
+ color: var(--rastro-accent);
1931
+ margin: 0 0 2px;
1932
+ }
1933
+ .rastro-integrations__consent {
1934
+ display: flex;
1935
+ gap: 10px;
1936
+ align-items: flex-start;
1937
+ flex: none;
1938
+ max-width: 340px;
1939
+ padding: 12px 14px;
1940
+ border-radius: 10px;
1941
+ background: var(--rastro-muted);
1942
+ font-size: 13px;
1943
+ cursor: pointer;
1944
+ }
1945
+ .rastro-integrations__consent .rastro-integrations__check {
1946
+ margin-top: 2px;
1947
+ }
1948
+ .rastro-integrations__consent .rastro-integrations__grow {
1949
+ display: flex;
1950
+ flex-direction: column;
1951
+ gap: 2px;
1952
+ }
1953
+
1908
1954
  /* B1: the two ways in */
1909
1955
  .rastro-integrations__start {
1910
1956
  display: grid;
1911
1957
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
1912
1958
  gap: 16px;
1913
1959
  }
1960
+ /* Business before the company's site exists: the login alone. */
1961
+ .rastro-integrations__start[data-single] {
1962
+ grid-template-columns: minmax(0, 1fr);
1963
+ }
1914
1964
  .rastro-integrations__connect {
1915
1965
  padding: 28px;
1916
1966
  display: flex;
@@ -2087,12 +2137,10 @@ input.rastro-integrations__input:focus {
2087
2137
  color: var(--rastro-muted-fg);
2088
2138
  }
2089
2139
  .rastro-integrations__table[data-mode="linked"]
2090
- td:nth-child(3)
2091
- .rastro-integrations__cell-top {
2092
- font-weight: 400;
2093
- }
2140
+ td[data-col="pixel"]
2141
+ .rastro-integrations__cell-top,
2094
2142
  .rastro-integrations__table[data-mode="linked"]
2095
- td:nth-child(4)
2143
+ td[data-col="currency"]
2096
2144
  .rastro-integrations__cell-top {
2097
2145
  font-weight: 400;
2098
2146
  }
@@ -2554,6 +2602,19 @@ input.rastro-integrations__input:focus {
2554
2602
  display: flex;
2555
2603
  gap: 8px;
2556
2604
  }
2605
+ /* "Usar o mesmo mapa nos outros clientes": a line of its own above the
2606
+ actions. */
2607
+ .rastro-integrations__sheet-foot:has(.rastro-integrations__copy-map) {
2608
+ flex-wrap: wrap;
2609
+ }
2610
+ .rastro-integrations__copy-map {
2611
+ flex-basis: 100%;
2612
+ display: flex;
2613
+ align-items: center;
2614
+ gap: 10px;
2615
+ font-size: 13.5px;
2616
+ cursor: pointer;
2617
+ }
2557
2618
 
2558
2619
  /* The phone's footer bar ("Ligar Casa Aurora", "Reconectar"), fixed at the
2559
2620
  foot of the screen as a manual popover (top layer). */
@@ -2644,6 +2705,13 @@ input.rastro-integrations__input:focus {
2644
2705
  .rastro-integrations__clients-head {
2645
2706
  flex-wrap: wrap;
2646
2707
  }
2708
+ .rastro-integrations__partner {
2709
+ flex-wrap: wrap;
2710
+ }
2711
+ .rastro-integrations__consent {
2712
+ max-width: none;
2713
+ width: 100%;
2714
+ }
2647
2715
  }
2648
2716
 
2649
2717
  /* The phone (M1–M3): cards from a tablet down, where the table cannot fit. */
package/docs/meta-ads.md CHANGED
@@ -348,8 +348,12 @@ app.use(rastro, {
348
348
 
349
349
  - On the federated path a dashboard never takes or undoes what another owner on
350
350
  the host made: linking an account another owner linked to the site, unlinking
351
- another owner's link, and replacing or removing another owner's pixel are each
352
- `CONFLICT`. The host's own `Rastro` methods can do all of it.
351
+ another owner's link, replacing or removing another owner's pixel, and saving
352
+ the event map of a site whose pixel another owner set are each `CONFLICT`.
353
+ Whoever set the pixel decides which columns reach it. The host's own `Rastro`
354
+ methods can do all of it, or refuse the same way when asked: `onlyOwn` on
355
+ `linkSiteAdAccount` and `setSitePixel`, an `ownerKey` on
356
+ `unlinkSiteAdAccount`, `removeSitePixel` and `setEventMap`.
353
357
  - A lead's ad click id stays in the host's deployment, as before; no report
354
358
  returns it.
355
359
  - Each conversion carries an `eventId` derived from the lead and the event, so a
@@ -386,7 +390,10 @@ await rastro.linkSiteAdAccount(ctx, {
386
390
  and `META_TOKEN_INVALID` when Meta refuses the token.
387
391
  - `listMetaAdAccounts` (action) reads the accounts from Meta again and refreshes
388
392
  the listing a link is checked against. `removeMetaConnection` forgets the
389
- token and unlinks every account it fed.
393
+ owner: its token, every account it fed, and every pixel it set, the ones with
394
+ their own token (plan B, `setBy`) included. An owner with only plan B pixels
395
+ and no connection loses those pixels all the same; `removed` says whether
396
+ anything went.
390
397
  - `linkSiteAdAccount` (mutation) links a site to one of the listed accounts, at
391
398
  most 20 per site and 500 per connection. **An ad account feeds one site**: its
392
399
  spend is that client's, so linking it to a second site fails with `CONFLICT`
@@ -574,7 +581,10 @@ const map = await rastro.eventMap(ctx, { siteId, now: Date.now() });
574
581
  - `setEventMap` replaces the whole map: each declared column maps to `Lead`,
575
582
  `QualifiedLead`, `Schedule` or null. A key the pipeline does not declare is
576
583
  `INVALID_ARGUMENT`. `sendLeadEvent` turns `Lead` on for every new lead and is
577
- kept on the pixel too.
584
+ kept on the pixel too. With `ownerKey`, a site whose pixel another owner (or
585
+ the host, without an owner) set is a `CONFLICT`: the pixel's owner decides its
586
+ events. A site without a pixel takes any owner's map. The federated
587
+ `setMetaEventMap` always passes the dashboard connection's owner.
578
588
  - `eventMap({ siteId, now? })` answers the columns with `key`, `name`, `color`,
579
589
  `group`, `event` and `monthCount`: the distinct leads that entered the column
580
590
  in the 30 UTC days up to `now` (a lead that leaves and comes back counts
@@ -744,3 +754,42 @@ hash of `br`), `custom_data.value` and `currency` on `Purchase`, and the pixel's
744
754
 
745
755
  Under `RASTRO_META_FAKE=true` every send is accepted (a token containing
746
756
  `invalid` is refused like an expired one) and nothing leaves the deployment.
757
+
758
+ ## The Integrações screen (`IntegrationsView`)
759
+
760
+ `@iann29/rastro/ui` ships the screen every surface embeds: the Meta login, each
761
+ site's ad account and pixel, and the events sheet that maps board columns to
762
+ Meta events. It is pure, like the other views: the host passes `connection`
763
+ (`metaConnection`), `sites`, `status` (`meta.status` with `ownerKey`, so each
764
+ link and the pixel carry `own`), `eventMaps` and `conversions`, and turns every
765
+ callback (`onConnect`, `onLinkAccount`, `onSetPixel`, `onSaveEventMap`, …) into
766
+ its own call. `@iann29/rastro/ui/sample` has every state in
767
+ `sampleIntegrations`.
768
+
769
+ It speaks to two readers through `audience`:
770
+
771
+ - `"agency"` (the default): one Meta login for many clients, a table of clients
772
+ with a filter, the feed across every client's pixel. The Rastro dashboard and
773
+ uze.ai's partner portal render it.
774
+ - `"business"`: one company connecting its own Meta ("Conexão Meta"). It shows
775
+ the first site only, as a one-row "Sua conta de anúncio" (no filter, no
776
+ currency column), and its copy names the company and never an agency or
777
+ clients. `productName` says who reads the spend and warns the pixel ("o uze lê
778
+ o gasto"; "Rastro" by default). With no site yet it shows the login alone, for
779
+ a host that makes the company's site on connecting.
780
+
781
+ Whatever another owner of the site linked (`own: false`) shows a lock, "Ligado
782
+ pelo <otherOwnerLabel>", and its row offers no unlink or pixel swap; its events
783
+ sheet reads "Ver eventos" and is read only, since the pixel's owner decides them
784
+ (`setMetaEventMap` refuses with `CONFLICT`). In business mode a `partner`
785
+ (`{ name, allowed, onAllowedChange?, busy? }`) draws the partner's card on top,
786
+ "O parceiro Gio cuida dos seus anúncios na Meta", with the company's checkbox
787
+ "Deixar Gio ver as campanhas" when `onAllowedChange` is given, and, unless the
788
+ host passes its own `otherOwnerLabel`, the locks read "Ligado pelo parceiro
789
+ Gio".
790
+
791
+ In agency mode, `onCopyEventMap(siteIds, map)` adds "Usar o mesmo mapa nos
792
+ outros clientes" to the events sheet. Saving with it checked calls
793
+ `onSaveEventMap` for the client, then `onCopyEventMap` with the other clients
794
+ whose board declares the same columns and whose pixel is not another owner's
795
+ (`eventMapCopyTargets` computes them).
package/docs/upgrading.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Upgrading Amage Rastro
2
2
 
3
+ ## System user tokens list their ad accounts (0.10.2)
4
+
5
+ Install `@iann29/rastro@0.10.2` and deploy the host. No schema, env or export
6
+ change. A host whose Facebook Login for Business configuration issues system
7
+ user tokens can now connect; nothing changes for user tokens.
8
+
9
+ ## The business screen and the owner checks (0.10.1)
10
+
11
+ No schema change, env var or re-export. Install `@iann29/rastro@0.10.1` and
12
+ deploy the host. Two behaviors change on purpose:
13
+
14
+ - `setMetaEventMap` (federated) refuses with `CONFLICT` on a site whose pixel
15
+ another owner set: the dashboard no longer rewrites the map of a pixel the
16
+ host's own owner linked. The host's `setEventMap` is unchanged unless it
17
+ passes the new optional `ownerKey`.
18
+ - `removeMetaConnection` (and `removeFederatedMetaConnection`, so revoking a
19
+ dashboard connection) now also removes the pixels the owner set with their own
20
+ token (plan B), not only those of its connection. A host that sets plan B
21
+ pixels for an owner should pass that owner as `setBy` in `setSitePixel`, so
22
+ removing the owner reaches them.
23
+
24
+ Hosts embedding `IntegrationsView` can render it for one company with
25
+ `audience="business"` (and `partner`, `productName`), and offer "Usar o mesmo
26
+ mapa nos outros clientes" with `onCopyEventMap`; see
27
+ [the Integrações screen](meta-ads.md#the-integrações-screen-integrationsview).
28
+ Nothing changes for a host that passes neither.
29
+
3
30
  ## Meta ads, conversions and the Integrações screen (0.10.0)
4
31
 
5
32
  Install `@iann29/rastro@0.10.0` and deploy the consuming host. The release is
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/amageweb/amage-rastro/issues"
8
8
  },
9
- "version": "0.10.0",
9
+ "version": "0.10.2",
10
10
  "license": "Apache-2.0",
11
11
  "publishConfig": {
12
12
  "access": "public"
@@ -762,6 +762,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
762
762
  "internal",
763
763
  {
764
764
  columns: Record<string, "Lead" | "QualifiedLead" | "Schedule" | null>;
765
+ ownerKey?: string;
765
766
  sendLeadEvent: boolean;
766
767
  siteId: string;
767
768
  },
@@ -79,7 +79,8 @@ const TOKEN_EXCHANGE_FAILED =
79
79
  /** How long before a token dies the screens ask for a new login. */
80
80
  const EXPIRY_WARNING_MS = 7 * 86_400_000;
81
81
 
82
- function ownerKeyOf(value: string): string {
82
+ /** An owner key as stored: the host's opaque id, checked. */
83
+ export function ownerKeyOf(value: string): string {
83
84
  try {
84
85
  return sanitizeOpaqueId(value, "ownerKey");
85
86
  } catch (error) {
@@ -518,19 +519,26 @@ async function connectToken(
518
519
  let adAccounts: MetaAdAccount[];
519
520
  let pixels: MetaPixel[];
520
521
  let pixelsComplete: boolean;
522
+ // Which read Meta refused, for the host's logs (never the token).
523
+ let step = "me";
521
524
  try {
522
525
  const me = await client.me(token);
523
526
  businessName = me.name?.slice(0, 200) ?? null;
524
527
  if (login) {
525
528
  authorizedBy = { id: me.id.slice(0, 64), name: businessName };
526
529
  }
530
+ step = "ad accounts";
527
531
  adAccounts = (await client.adAccounts(token)).map(toAccount);
532
+ step = "pixels";
528
533
  ({ pixels, complete: pixelsComplete } = await listPixels(
529
534
  client,
530
535
  token,
531
536
  adAccounts,
532
537
  ));
533
538
  } catch (error) {
539
+ if (error instanceof MetaGraphError) {
540
+ console.warn(`[rastro] Meta refused the ${step} read: ${error.message}`);
541
+ }
534
542
  metaFailure(error);
535
543
  }
536
544
  const sealed = await encryptSecret(env.RASTRO_SECRETS_KEY, token);
@@ -699,59 +707,122 @@ async function unlinkRow(
699
707
  }
700
708
 
701
709
  /**
702
- * Forgets the owner's token and unlinks every account it fed. The token goes
703
- * at once (no run can load it after this), its links and pixels in scheduled
704
- * batches.
710
+ * Forgets the owner: its token, every account it fed, and every pixel it set,
711
+ * the ones with their own token (plan B) included. The token goes at once (no
712
+ * run can load it after this), its links and pixels in scheduled batches. An
713
+ * owner with plan B pixels and no connection still loses those pixels.
705
714
  */
706
715
  export const removeConnection = mutation({
707
716
  args: { ownerKey: v.string() },
708
717
  returns: v.object({ removed: v.boolean() }),
709
718
  handler: async (ctx, args) => {
719
+ const ownerKey = ownerKeyOf(args.ownerKey);
710
720
  const connection = await ctx.db
711
721
  .query("metaConnections")
712
- .withIndex("by_ownerKey", (range) =>
713
- range.eq("ownerKey", ownerKeyOf(args.ownerKey)),
714
- )
722
+ .withIndex("by_ownerKey", (range) => range.eq("ownerKey", ownerKey))
715
723
  .unique();
716
- if (!connection) return { removed: false };
717
- await ctx.db.delete("metaConnections", connection._id);
718
- await unlinkConnectionBatch(ctx, connection._id);
719
- return { removed: true };
724
+ if (connection) await ctx.db.delete("metaConnections", connection._id);
725
+ const removedPixels = await removeOwnerBatch(ctx, {
726
+ connectionId: connection?._id,
727
+ ownerKey,
728
+ before: Date.now(),
729
+ });
730
+ return { removed: connection !== null || removedPixels > 0 };
720
731
  },
721
732
  });
722
733
 
723
- async function unlinkConnectionBatch(
734
+ /**
735
+ * One batch of a removed owner: its connection's links and pixels, and the
736
+ * pixels it set (`setBy`) last changed by `before`, so a pixel the same owner
737
+ * sets again after the removal stays. The owner's pixels are walked in
738
+ * creation order from `after`, so every batch moves on even past the ones it
739
+ * keeps. Schedules the next batch while any is left and answers how many
740
+ * pixels this one removed.
741
+ */
742
+ async function removeOwnerBatch(
724
743
  ctx: MutationCtx,
725
- connectionId: Id<"metaConnections">,
744
+ owner: {
745
+ connectionId?: Id<"metaConnections"> | undefined;
746
+ ownerKey?: string | undefined;
747
+ before?: number | undefined;
748
+ after?: number | undefined;
749
+ },
726
750
  ) {
727
- const links = await ctx.db
728
- .query("siteAdAccounts")
729
- .withIndex("by_connectionId", (range) =>
730
- range.eq("connectionId", connectionId),
731
- )
732
- .take(UNLINK_BATCH);
751
+ const { connectionId, ownerKey, before, after } = owner;
752
+ const links = connectionId
753
+ ? await ctx.db
754
+ .query("siteAdAccounts")
755
+ .withIndex("by_connectionId", (range) =>
756
+ range.eq("connectionId", connectionId),
757
+ )
758
+ .take(UNLINK_BATCH)
759
+ : [];
733
760
  for (const link of links) await unlinkRow(ctx, link);
734
761
  // A pixel picked through the connection sent with its token: it goes too.
735
- const pixels = await ctx.db
736
- .query("sitePixels")
737
- .withIndex("by_connectionId", (range) =>
738
- range.eq("connectionId", connectionId),
739
- )
740
- .take(UNLINK_BATCH);
741
- for (const pixel of pixels) await ctx.db.delete("sitePixels", pixel._id);
742
- if (links.length === UNLINK_BATCH || pixels.length === UNLINK_BATCH) {
762
+ const connectionPixels = connectionId
763
+ ? await ctx.db
764
+ .query("sitePixels")
765
+ .withIndex("by_connectionId", (range) =>
766
+ range.eq("connectionId", connectionId),
767
+ )
768
+ .take(UNLINK_BATCH)
769
+ : [];
770
+ for (const pixel of connectionPixels) {
771
+ await ctx.db.delete("sitePixels", pixel._id);
772
+ }
773
+ // So does every pixel the owner set with its own token (plan B), unless it
774
+ // was set again after the removal (`updatedAt` past `before`).
775
+ const ownerPixels =
776
+ ownerKey === undefined || before === undefined
777
+ ? []
778
+ : await ctx.db
779
+ .query("sitePixels")
780
+ .withIndex("by_setBy", (range) =>
781
+ after === undefined
782
+ ? range.eq("setBy", ownerKey)
783
+ : range.eq("setBy", ownerKey).gt("_creationTime", after),
784
+ )
785
+ .take(UNLINK_BATCH);
786
+ // `<=`: a pixel set in the removal's own millisecond, before it, must go;
787
+ // one set again in that same millisecond after it goes too (the rarer case).
788
+ const stale = ownerPixels.filter((pixel) => pixel.updatedAt <= before!);
789
+ for (const pixel of stale) await ctx.db.delete("sitePixels", pixel._id);
790
+ const cursor = ownerPixels.at(-1)?._creationTime;
791
+ if (
792
+ links.length === UNLINK_BATCH ||
793
+ connectionPixels.length === UNLINK_BATCH ||
794
+ ownerPixels.length === UNLINK_BATCH
795
+ ) {
743
796
  await ctx.scheduler.runAfter(0, internal.meta.unlinkConnection, {
744
- connectionId,
797
+ ...(connectionId ? { connectionId } : {}),
798
+ ...(ownerKey === undefined || before === undefined
799
+ ? {}
800
+ : { ownerKey, before }),
801
+ // A full owner batch goes on from its last row; otherwise from where
802
+ // this one started.
803
+ ...(ownerPixels.length === UNLINK_BATCH && cursor !== undefined
804
+ ? { after: cursor }
805
+ : after === undefined
806
+ ? {}
807
+ : { after }),
745
808
  });
746
809
  }
810
+ return connectionPixels.length + stale.length;
747
811
  }
748
812
 
749
- /** The next batch of a removed connection's links. */
813
+ /** The next batch of a removed owner's links and pixels. */
750
814
  export const unlinkConnection = internalMutation({
751
- args: { connectionId: v.id("metaConnections") },
815
+ args: {
816
+ connectionId: v.optional(v.id("metaConnections")),
817
+ ownerKey: v.optional(v.string()),
818
+ /** The removal's time: the owner's pixels as they were then. */
819
+ before: v.optional(v.number()),
820
+ /** The `_creationTime` of the last owner pixel already walked. */
821
+ after: v.optional(v.number()),
822
+ },
752
823
  returns: v.null(),
753
824
  handler: async (ctx, args) => {
754
- await unlinkConnectionBatch(ctx, args.connectionId);
825
+ await removeOwnerBatch(ctx, args);
755
826
  return null;
756
827
  },
757
828
  });
@@ -393,6 +393,20 @@ const INSIGHT_FIELDS = [
393
393
  ].join(",");
394
394
 
395
395
  /** An `act_…` id as Meta names it, whatever form the host stored. */
396
+ /** One ad account row as Meta lists it, or null when it has no id. */
397
+ function mapAccount(raw: unknown): GraphAdAccount | null {
398
+ if (!isRecord(raw)) return null;
399
+ const adAccountId = text(raw.id);
400
+ if (!adAccountId) return null;
401
+ return {
402
+ adAccountId: actId(adAccountId),
403
+ name: text(raw.name) ?? adAccountId,
404
+ currency: text(raw.currency)?.toUpperCase() ?? "USD",
405
+ timezone: text(raw.timezone_name) ?? "UTC",
406
+ accountStatus: count(raw.account_status),
407
+ };
408
+ }
409
+
396
410
  export function actId(adAccountId: string): string {
397
411
  return adAccountId.startsWith("act_") ? adAccountId : `act_${adAccountId}`;
398
412
  }
@@ -592,27 +606,27 @@ function realMetaGraph(fetchImpl: Fetch): MetaGraph {
592
606
  },
593
607
 
594
608
  async adAccounts(token) {
595
- const { items } = await pages(
596
- url("me/adaccounts", {
597
- fields: "id,name,currency,timezone_name,account_status",
598
- limit: String(PAGE_LIMIT),
599
- }),
600
- token,
601
- (raw) => {
602
- if (!isRecord(raw)) return null;
603
- const adAccountId = text(raw.id);
604
- if (!adAccountId) return null;
605
- return {
606
- adAccountId: actId(adAccountId),
607
- name: text(raw.name) ?? adAccountId,
608
- currency: text(raw.currency)?.toUpperCase() ?? "USD",
609
- timezone: text(raw.timezone_name) ?? "UTC",
610
- accountStatus: count(raw.account_status),
611
- };
612
- },
613
- MAX_ACCOUNTS,
614
- );
615
- return items;
609
+ // A person's token lists `me/adaccounts`; a business integration system
610
+ // user's token (Facebook Login for Business with a system-user config)
611
+ // is refused there with #200 and lists `me/assigned_ad_accounts`.
612
+ const list = (edge: string) =>
613
+ pages(
614
+ url(edge, {
615
+ fields: "id,name,currency,timezone_name,account_status",
616
+ limit: String(PAGE_LIMIT),
617
+ }),
618
+ token,
619
+ mapAccount,
620
+ MAX_ACCOUNTS,
621
+ );
622
+ try {
623
+ return (await list("me/adaccounts")).items;
624
+ } catch (error) {
625
+ if (!(error instanceof MetaGraphError) || error.kind !== "permission") {
626
+ throw error;
627
+ }
628
+ return (await list("me/assigned_ad_accounts")).items;
629
+ }
616
630
  },
617
631
 
618
632
  async adPixels(token, adAccountId) {