Add document storage (local filesystem) + fix dashboard outstanding KPI

- Local file storage via STORAGE_PATH env var (replaces DO Spaces)
- POST/GET/DELETE /api/cases/:caseId/documents + GET /api/documents/:docId/download
- useDocuments hook + upload/list/download/delete UI in CaseDetailPage
- GET /api/invoices/summary — live SUM of sent+overdue invoices
- Dashboard outstanding KPI wired to real DB value
- api.upload() for FormData, formatBytes() utility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Leon Serfaty
2026-04-26 03:07:37 -04:00
co-authored by Claude Sonnet 4.6
parent 0700d54225
commit ce2278f4be
13 changed files with 334 additions and 14 deletions
+4 -6
View File
@@ -22,13 +22,11 @@ DATABASE_URL=postgresql://doadmin:password@db-postgresql-nyc1-xxxxx.b.db.ondigit
DATABASE_CA_CERT_PATH=./certs/do-ca.crt
# ─────────────────────────────────────────────
# DigitalOcean Spaces (S3-compatible)
# Local file storage
# Absolute path where uploaded documents are stored (outside web root).
# Production example: /var/www/vhosts/elegalsoftware.com/storage
# ─────────────────────────────────────────────
SPACES_ENDPOINT=https://nyc3.digitaloceanspaces.com
SPACES_REGION=nyc3
SPACES_BUCKET=lawdesk-uploads
SPACES_ACCESS_KEY=
SPACES_SECRET_KEY=
STORAGE_PATH=./storage
# ─────────────────────────────────────────────
# Email (Resend)