[object Object]

← back to Designer Wallcoverings

appointments: RESUME-HERE checkpoint (one step left = OAuth secret + consent) [no real secret; gitleaks false positive on project number]

c97a60da0b8efe5a9a6b7114e2ae8dc24c42853b · 2026-06-29 13:23:08 -0700 · Steve Abrams

Files touched

Diff

commit c97a60da0b8efe5a9a6b7114e2ae8dc24c42853b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Jun 29 13:23:08 2026 -0700

    appointments: RESUME-HERE checkpoint (one step left = OAuth secret + consent) [no real secret; gitleaks false positive on project number]
---
 .../quote-api/appointments/deploy/RESUME-HERE.md   | 53 ++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/shopify/quote-api/appointments/deploy/RESUME-HERE.md b/shopify/quote-api/appointments/deploy/RESUME-HERE.md
new file mode 100644
index 00000000..10c0aeac
--- /dev/null
+++ b/shopify/quote-api/appointments/deploy/RESUME-HERE.md
@@ -0,0 +1,53 @@
+# ▶ RESUME HERE — DW Appointments (checkpoint 2026-06-29 ~1:15pm PT)
+
+**To resume after restart, tell Claude:** "resume DW appointments OAuth — read
+`shopify/quote-api/appointments/deploy/RESUME-HERE.md`"
+
+## System is LIVE. Restarting the Mac changes nothing (all backend is on Kamatera).
+
+### ✅ DONE
+- Backend LIVE: `https://api.designerwallcoverings.com` (booking verified e2e over HTTPS)
+- DNS A-record `api → 45.61.58.125` in Cloudflare; Let's Encrypt SSL on the api. vhost
+- Router mounted into `koroseal-quote-api` (pm2, :3001); appt_ tables in canonical dw_unified
+  (owned by dw_admin); info@ seeded Mon–Fri 9–4 / 60-min
+- Existing `/api/koroseal-quote` + `/api/sku-inquiry` 404s ALSO fixed (same api. host)
+- Storefront: section + page template on dev theme **5.9.0 [Dev] (144070803507)**; hidden
+  page **book-appointment** created (id 211080773683, published_at=null → 404 to public)
+- Google OAuth client created (account **info@**, Workspace, project **627787796156**),
+  redirect URI set, **GOOGLE_OAUTH_CLIENT_ID already on the box**
+
+### ⏳ THE ONE REMAINING STEP — paste the OAuth Client Secret, then 3 commands
+Google client: **DW Appointments**, project 627787796156, redirect URI already correct =
+`https://api.designerwallcoverings.com/api/appointments/oauth/callback`. Audience = External +
+Testing, info@ is a Test user (works now; flip to Internal/Publish later for permanence).
+
+1. **Get the secret** (lost last time): https://console.cloud.google.com/auth/clients?authuser=info@designerwallcoverings.com
+   → DW Appointments → **Client secrets → Add secret** → copy the generated client-secret value.
+2. **Wire it on the box + reload:**
+   ```bash
+   ssh my-server 'bash -s' <<EOF
+   APP=/root/Projects/koroseal-quote-api
+   SECRET='PASTE_CLIENT_SECRET_HERE'
+   grep -q "^GOOGLE_OAUTH_CLIENT_SECRET=" "\$APP/.env" \
+     && sed -i "s#^GOOGLE_OAUTH_CLIENT_SECRET=.*#GOOGLE_OAUTH_CLIENT_SECRET=\$SECRET#" "\$APP/.env" \
+     || echo "GOOGLE_OAUTH_CLIENT_SECRET=\$SECRET" >> "\$APP/.env"
+   pm2 reload koroseal-quote-api --update-env && sleep 2
+   curl -s "https://api.designerwallcoverings.com/api/appointments/oauth/status?owner_email=info@designerwallcoverings.com"; echo
+   EOF
+   ```
+   Expect `oauth_configured:true`.
+3. **Consent (browser, signed in as info@):**
+   `https://api.designerwallcoverings.com/api/appointments/oauth/start?owner_email=info@designerwallcoverings.com`
+   → Allow → land on "Calendar connected". Verify:
+   ```bash
+   curl -s 'https://api.designerwallcoverings.com/api/appointments/oauth/status?owner_email=info@designerwallcoverings.com'
+   # → {"ok":true,...,"connected":true,"oauth_configured":true}
+   ```
+   Then a booking auto-pushes to info@'s calendar (calendar_pushed:true).
+
+### AFTER OAUTH (optional, your call — kept in dev until you say go-live)
+- Set page `book-appointment` Visible + add to nav, publish theme 5.9.0.
+- Make the OAuth app Internal (or Publish) so the token never expires.
+
+### Client ID is already set on the box (.env GOOGLE_OAUTH_CLIENT_ID, project 627787796156). Only the SECRET is missing.
+### Repo: Designer-Wallcoverings @ collection-layout-overhaul (all committed)

← ff9d3483 auto-save: 2026-06-29T12:49:09 (5 files) — pending-approval/  ·  back to Designer Wallcoverings  ·  auto-save: 2026-06-29T13:49:26 (5 files) — pending-approval/ 6fa68e9e →