tyler
f96dcd01f2
feat(db+auth): add pg pool, admin_users email/provider migration, refactor auth lookup
...
- Create src/lib/db.ts (shared pg.Pool, query/withTx helpers, server-only)
- Add @types/pg devDep
- Migration 204: add email, auth_provider, auth_subject columns to
admin_users; backfill from auth.users; new upsert_admin_user accepts
multi-provider args; new get_admin_user_for_session RPC resolves
Auth.js session id (UUID or Google sub) to an admin row
- Refactor getAdminUser() to use pg + new RPC; auto-provisions on first
Google sign-in using session.user.email
- Refactor updatePasswordAction to call update_user_password via pg
(drops the Supabase REST hop)
- Delete orphaned src/actions/login.ts (replaced by auth-actions.ts)
- Drop remaining DEV_FORCE_UID references in users.ts; dev path now
uses dev_session cookie (the only cookie the dev flow can set)
- Update AdminUser type: user_id is now string | null (Google users
have no Supabase auth id); add email + auth_provider fields
- Fix downstream type errors: StopProductAssignment.callerUid accepts
null; pickup.ts performedBy widens to string | null
- Bump vitest config, tests/, and other earlier cleanup changes
2026-06-06 23:41:41 +00:00
..
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-02 02:21:11 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-03 15:11:42 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-02 02:21:11 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-01 19:41:12 +00:00
2026-06-02 02:21:11 +00:00
2026-06-02 02:21:11 +00:00
2026-06-03 15:11:42 +00:00
2026-06-02 04:32:58 +00:00
2026-06-03 15:11:42 +00:00
2026-06-03 15:11:42 +00:00
2026-06-03 15:11:42 +00:00
2026-06-03 15:11:42 +00:00
2026-06-03 15:11:42 +00:00
2026-06-03 16:39:19 +00:00
2026-06-06 23:41:41 +00:00
2026-06-01 19:41:12 +00:00
2026-06-02 06:19:56 +00:00
2026-06-02 06:19:56 +00:00
2026-06-02 06:19:56 +00:00
2026-06-02 06:19:56 +00:00