xtablo-source/backend/internal/auth
Arthur Belleville efdc16babe
feat(02-04): signup handler, router wiring, and integration tests
- Add handlers_auth.go: SignupPageHandler + SignupPostHandler (validate -> hash -> insert -> session -> redirect)
- Add AuthDeps struct; wire argon2id hash, InsertUser, Store.Create, SetSessionCookie
- Update router.go: NewRouter accepts AuthDeps; mount ResolveSession (D-24); wire /signup routes behind RedirectIfAuthed
- Update cmd/web/main.go: build AuthDeps (sqlc.Queries + auth.Store + secure flag) and pass to NewRouter
- Add nil-Store guard to auth.ResolveSession for Phase 1 unit-test compatibility
- Update handlers_test.go: pass AuthDeps{} zero value to NewRouter (Phase 1 routes unaffected)
- Add testdb_test.go: isolated-schema test helper for web package integration tests
- Add handlers_auth_test.go: 8 TestSignup_* integration tests (all pass against real Postgres)
2026-05-14 22:17:50 +02:00
..
cookie.go feat(02-03): session store + cookie helpers (real-DB TDD) 2026-05-14 22:08:04 +02:00
doc.go feat(02-01): create internal/auth package skeleton, test DB harness, env docs 2026-05-14 21:56:45 +02:00
middleware.go feat(02-04): signup handler, router wiring, and integration tests 2026-05-14 22:17:50 +02:00
middleware_test.go feat(02-03): ResolveSession + RequireAuth + RedirectIfAuthed middleware 2026-05-14 22:09:58 +02:00
password.go feat(02): GREEN — argon2id Hash + Verify + self-test 2026-05-14 22:00:55 +02:00
password_test.go test(02): RED — failing argon2id password tests 2026-05-14 21:59:38 +02:00
session.go feat(02-03): session store + cookie helpers (real-DB TDD) 2026-05-14 22:08:04 +02:00
session_test.go feat(02-03): session store + cookie helpers (real-DB TDD) 2026-05-14 22:08:04 +02:00
testdb_test.go feat(02-01): create internal/auth package skeleton, test DB harness, env docs 2026-05-14 21:56:45 +02:00
types.go feat(02-01): create internal/auth package skeleton, test DB harness, env docs 2026-05-14 21:56:45 +02:00