diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-01-26 16:49:44 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-01-26 16:49:44 -1000 |
| commit | 42a4e32daca13b518e64e5821080ff3d6adf0e39 (patch) | |
| tree | 639c790e25b961ecf51ab6ea75206bc3432f1548 /issues/task_002_add_authentication.md | |
| parent | 8de1b5cb8915ed9a6e32566431d05fafafeb338d (diff) | |
Use configured timezone throughout codebase
- Add config/timezone.go with timezone utilities:
- SetDisplayTimezone(), GetDisplayTimezone()
- Now(), Today() - current time/date in display TZ
- ParseDateInDisplayTZ(), ToDisplayTZ() - parsing helpers
- Initialize timezone at startup in main.go
- Update all datetime logic to use configured timezone:
- handlers/handlers.go - all time.Now() calls
- handlers/timeline.go - date parsing
- handlers/timeline_logic.go - now calculation
- models/atom.go - ComputeUIFields()
- models/timeline.go - ComputeDaySection()
- api/plantoeat.go - meal date parsing
- api/todoist.go - due date parsing
- api/trello.go - due date parsing
This ensures all dates/times display correctly regardless
of server timezone setting.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'issues/task_002_add_authentication.md')
| -rw-r--r-- | issues/task_002_add_authentication.md | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/issues/task_002_add_authentication.md b/issues/task_002_add_authentication.md deleted file mode 100644 index 018fff0..0000000 --- a/issues/task_002_add_authentication.md +++ /dev/null @@ -1,36 +0,0 @@ -# Task: Add Authentication - -## Goal -Implement session-based authentication to secure the application for public deployment. - -## Plan - -1. **Dependencies:** - * Add `github.com/alexedwards/scs/v2` (Session management). - * Add `github.com/alexedwards/scs/sqlite3store` (SQLite store for sessions). - * Add `golang.org/x/crypto/bcrypt` (Password hashing). - -2. **Database Schema:** - * Create migration `migrations/003_add_auth.sql`. - * Create `users` table (`id`, `username`, `password_hash`). - * Create `sessions` table (required by `scs` SQLite store). - -3. **Core Logic (`internal/auth`):** - * Create `AuthService` to handle login, logout, and password verification. - * Implement `User` model. - -4. **Configuration:** - * Update `Config` to include `SessionSecret` (for cookie encryption, if needed, though `scs` handles this well). - -5. **Handlers & Middleware:** - * Initialize `SessionManager` in `main.go`. - * Create `LoginHandler` (GET/POST). - * Create `LogoutHandler` (POST). - * Create `AuthMiddleware` to protect routes. - -6. **UI:** - * Create `web/templates/login.html`. - * Update `web/templates/base.html` (or similar) to show Logout button when logged in. - -7. **Seed Data:** - * Create a CLI command or startup check to ensure a default admin user exists (or provide instructions to create one). |
