Commit fcb3bd8
feat(utilities): add domains field for multi-domain tracking (ALL-732) (#206)
* feat(utilities): add domains field for multi-domain tracking
* feat(domains): Add GIN index + backfill script (ALL-732 continued)
- Add GIN index to domains column for efficient array containment queries
- Create backfill script: NRECA/EIA-861 known domains + website fallback
- OpenAPI description: email/web domains for CRM scoping
Backfill script supports:
- Known utility domain mappings (NRECA, EIA-861)
- Website field parsing (extract domain)
- Graceful handling of missing data
Run backfill: `tsx scripts/backfill-utility-domains.ts`
After migration + backfill, /utilities and /utilities/{slug} endpoints
will include domains array for email-scoping and cross-system matching.
* feat(domains): Backfill utility domains from seed + website fallback (ALL-732)
- Add backfill-utility-domains.ts: KNOWN_UTILITY_DOMAINS seed list + NRECA dir support
- Populate 3133 utilities with domains array (prioritizes seed > existing > NRECA > website fallback)
- Add push-utility-domains-to-db.ts: one-shot script to sync data/utilities.json → Neon
- Update package.json with npm run backfill:utility-domains scripts
- Add GIN index on utilities.domains + test suite in drizzle 0004
- OpenAPI: domains array is auto-generated by the generator
This completes the schema (832ddae) + migration (a70318f) already on the branch.
Unblocks Relay + CRM consumers to scope email ingestion by organization.
Closes ALL-732.
---------
Co-authored-by: texture-coding-agent <coding-agent@texturehq.com>1 parent 37b8701 commit fcb3bd8
11 files changed
Lines changed: 12030 additions & 1357 deletions
File tree
- data
- drizzle
- meta
- lib/db/schema
- public
- scripts
- openapi
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
0 commit comments