Remove Google Sheets mirror entirely (#13)
Test backoffice (smb-crm) / test (push) Has been cancelled
Test backoffice (smb-crm) / test (push) Has been cancelled
Postgres is now the sole source of truth: delete sheets.py and import_from_sheets.py, strip mirror_entity/mirror_async/_mirror_worker and POST /api/sync from app.py, drop the tab/mirror keys from db.py's TABLES. Re-point n8n/renewal-reminder.json at the CRM's own HTTP API (GET /api/clients, POST /api/activity_log) instead of the Sheets nodes, and drop SHEET_ID/GOOGLE_SA_JSON from deploy env/compose and requests from requirements.txt (PyJWT stays — still used by booking_api.py). Updates docs/README/playbooks accordingly and closes the old #5 (atomic mirror) as moot. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,6 @@
|
||||
**CRM / back office**
|
||||
- **#2** Decouple tier from business type → hosting/plan model; realign onboarding form + workflow. `enhancement` `crm`
|
||||
- **#3** Extend back-office CRUD beyond Leads & Clients (projects, bookings, invoices, activity). `enhancement` `crm`
|
||||
- **#5** Make the DB→Sheets mirror atomic (no brief empty-sheet window). `tech-debt` `crm`
|
||||
|
||||
**Booking**
|
||||
- **#7** Proper Orders flow + Orders table/tab (pizzeria demo posts into Leads as a stop-gap). `enhancement` `booking`
|
||||
@@ -41,8 +40,12 @@
|
||||
exposed more broadly than Caddy basic-auth + host security.
|
||||
|
||||
## Done
|
||||
- [x] 2026-07-15 — **Credentials in the CRM**: `credentials` entity (never mirrored to Sheets,
|
||||
`X-CRM-Token`-gated even to read), dashboard Credentials tab with masked value + reveal/copy;
|
||||
- [x] 2026-08-04 — **Cut Google Sheets entirely** (#13): Postgres is now the sole source of
|
||||
truth — deleted the DB→Sheets mirror, the Sheets client, and the one-time importer;
|
||||
`renewal-reminder.json` reads from the DB API instead of the Sheets mirror. Moots #5
|
||||
(atomic-mirror tech-debt, closed as no longer applicable).
|
||||
- [x] 2026-07-15 — **Credentials in the CRM**: `credentials` entity (`X-CRM-Token`-gated even to
|
||||
read), dashboard Credentials tab with masked value + reveal/copy;
|
||||
`n8n/onboarding.json` now persists the auto-generated EA provider password. Shipped live.
|
||||
- [x] 2026-07-15 — **Gitea Actions deploy pipeline** (backoffice): self-hosted `homelab-runner`
|
||||
(`act-runner` systemd service), `workflow_dispatch` `deploy-backoffice.yml` that syncs
|
||||
|
||||
Reference in New Issue
Block a user