Commit Graph
9 Commits
Author SHA1 Message Date
adminandClaude Sonnet 4.6 f591c0be18 feat(db): phase 4 group 6 — server component pages to Drizzle
Converts all 18 server component page files from Supabase client queries
to Drizzle ORM using asAdmin. Adds getSession() + redirect to the three
pages (hse/incidents, hse/incidents/[id], hse/dashboard) that lacked it.
Maps snake_case component prop shapes explicitly where required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 17:29:22 +08:00
adminandClaude Sonnet 4.6 d18d29168a feat(auth): phase 3 — replace Supabase GoTrue with bcryptjs+jose
Custom auth stack: bcryptjs password hashing (cost 10, GoTrue-compatible),
jose JWT session cookies (edge-safe, 8hr TTL), new API routes for
login/logout/reset/change-password, middleware rewritten to JWT-only
verification with no DB access. All 38 protected pages and API routes
migrated from supabase.auth.getUser() to getSession(). Supabase .from()
queries retained for Phase 4. lib/db/index.ts refactored to lazy Proxy
singleton to avoid module-level throw during Next.js build.

tsc: clean, build: clean, tests: 4/4 passed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 16:20:04 +08:00
adminandClaude Sonnet 4.6 509ed90fe7 fix(capa): field-level auth split, status gate, RLS tightening, audit old_value, hide form on pending_verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 12:10:53 +08:00
admin 938eb7e08d feat(capa): wire owner notes form into capa-owner page and HSE detail view 2026-07-23 12:00:43 +08:00
admin f6064b9580 feat: reporter clickable rows, CAPA owner action buttons, triage segmented severity 2026-07-12 16:42:49 +08:00
admin 871ef7c53a fix: rename on-time rate label, hoist getApiKey above escalation loop, remove broken capa-owner incident link 2026-07-11 19:03:23 +08:00
admin 070e2d1d5d fix: CAPA owner dashboard — priority null guard, nulls-last due_date sort 2026-07-11 18:22:21 +08:00
admin a2f1be7eaf feat: CAPA owner dashboard — user-scoped active and completed CAPAs 2026-07-11 18:19:41 +08:00
adminandClaude Sonnet 4.6 c3ba543ebb feat: add protected role dashboard placeholders
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
2026-07-09 22:32:29 +08:00