LAFU Sales Reports

General

Anything else.

Domain search + Cloudflare Registrar integration (register & point to products)

Imported from GitHub issue [El-SaMa/oma#85](https://github.com/El-SaMa/oma/issues/85) by @El-SaMa. --- Let users search, register/transfer domains via OMA's Cloudflare account, then auto-point them to products (hosting/VPS/cPanel/Enhance). ## Feasibility (verified against current Cloudflare docs) - Cloudflare Registrar API (beta) supports **Search**, **Check** (live price), **Register**, registration-status. After registration the domain becomes a zone in our CF account, so we point it via the Zones DNS API (A/CNAME). - **Blockers:** (1) cannot change apex nameservers (Cloudflare NS forced) -> point via DNS records, not NS delegation; (2) reselling restricted by CF ToS -> OMA is holder-of-record; (3) beta has no transfer/renewal/contact API yet and only a subset of TLDs. ## Decisions - **Cloudflare-first** behind a `RegistrarAdapter` abstraction so a reseller registrar (OpenSRS/Enom/ResellerClub) can be added later for apex NS delegation + true resale. - Products that truly need apex NS delegation are flagged `requiresApexNs` and routed to the reseller/manual path. - OMA is holder-of-record for now. ## Done - `RegistrarAdapter` contract + capability flags (`@oma/contracts`). - `CloudflareRegistrar` adapter (search/check/register/status/getZoneId/setDnsRecords) + `MockRegistrar` fallback + factory (`services/core-api/src/registrar.ts`). - Product->DNS target map with `{ip}`/`{domain}` substitution + `requiresApexNs`. - Orchestration: `searchDomainNames`, `checkDomainAvailability`, `registerDomainForOrg`, `pointDomainToProduct`. - DB migration `0004_domains.sql`: `domains`, `domain_dns_records`, `domain_registration_events` + RLS + `updated_at` triggers. - UI: live search under `/domains`, capability banner, "Connect to a product" card on domain detail. - `.env.example`: `CLOUDFLARE_API_TOKEN`/`CLOUDFLARE_ACCOUNT_ID` + default registrant contact. ## Follow-ups - [ ] Persist registrations to `domains` table + credit ledger + audit on register/point. - [ ] Payment/contact capture in checkout before the billable register call. - [ ] Reseller registrar adapter for apex NS delegation + transfers/renewals. - [ ] Reconcile DNS records from Cloudflare; renewal/expiry sync job. - [ ] ICANN registrant email verification handling. Tracking: Hollahoop oma-portal / feature-requests.

FeatureOpenGeneral·3 days ago·0
HollahoopGet yours