Initial extraction: groombook/api from groombook/app monorepo

Part of GRO-802 monorepo breakdown.

Changes:
- Extract apps/api/ as the main API service
- Inline packages/db/ (database schema, migrations, utilities)
- Inline packages/types/ (shared TypeScript types)
- Add CI workflow for lint, typecheck, test, build, docker
- Port Dockerfile with 4 stages: runner, migrate, seed, reset

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Hugh Hackman
2026-05-02 21:10:21 +00:00
commit 51f95e0fd6
118 changed files with 27218 additions and 0 deletions
@@ -0,0 +1,7 @@
ALTER TABLE appointments
ADD COLUMN confirmation_status TEXT NOT NULL DEFAULT 'pending',
ADD COLUMN confirmed_at TIMESTAMPTZ,
ADD COLUMN cancelled_at TIMESTAMPTZ,
ADD COLUMN confirmation_token TEXT UNIQUE;
CREATE INDEX idx_appointments_confirmation_token ON appointments (confirmation_token) WHERE confirmation_token IS NOT NULL;