feat(db): mesh data model — meshes, members, invites, audit log

- pgSchema "mesh" with 4 tables isolating the peer mesh domain
- Enums: visibility, transport, tier, role
- audit_log is metadata-only (E2E encryption enforced at broker/client)
- Cascade on mesh delete, soft-delete via archivedAt/revokedAt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-04-04 21:19:32 +01:00
commit d3163a5bff
1384 changed files with 314925 additions and 0 deletions

30
.github/workflows/publish-db.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: CI / Publish db
on:
workflow_dispatch:
env:
NODE_VERSION: 22.x
jobs:
db:
name: 🚀 Publish database
runs-on: ubuntu-latest
environment: Production
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
steps:
- name: ✅ Checkout code
uses: actions/checkout@v5
- name: 🔨 Setup
uses: ./tooling/github/setup
with:
node-version: ${{ env.NODE_VERSION }}
- name: 🔍 Check database
run: pnpm --filter @turbostarter/db db:check
- name: 💨 Migrate!
run: pnpm --filter @turbostarter/db db:migrate