414 B
414 B
Authentication
- Auth is handled by Clerk (
@clerk/react-router) - User records are synced from Clerk via webhook at
routes/api/webhooks/clerk.ts - Ownership validation: check
ownerIdfield against the Clerk user ID (clerkId) - Admin access:
isAdminboolean on the users table; all/adminroutes enforce this - League commissioners: stored separately in the
commissionerstable (not viaisAdmin)