4 Commits

Author SHA1 Message Date
primal
81c92b5b51 Rename dashboard to watcher
- Container: atproto-1440news-watcher
- Endpoints: dashboard.1440.news and watcher.1440.news (alias)
- Updated Dockerfile and docker-compose.yml
- Updated go.mod module name
2026-02-02 13:26:36 -05:00
primal
53919fa31e Add OAuth files - authentication system
Migrated from app/:
- oauth.go - OAuthManager, config loading, handle/DID resolution
- oauth_session.go - SessionStore, encrypted cookies, token storage
- oauth_middleware.go - RequireAuth middleware, token refresh
- oauth_handlers.go - Login, callback, logout, JWKS endpoints

Changed *DB to *shared.DB, using shared.StringValue/NullableString helpers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:48:23 -05:00
primal
a998168c59 Add dashboard.go - stats types and calculation
Migrated from app/dashboard.go:
- Dashboard struct with DB connection and stats caching
- DashboardStats, TLDStat, RecentFeed, DomainStat types
- Stats calculation methods (collectDomainStats, collectFeedStats)
- Background stats update loop

Note: Runtime rates (domains/min, etc.) not available in standalone
dashboard - these are crawler-specific metrics.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:42:17 -05:00
primal
94d2e725f5 Initial dashboard service scaffold
Infrastructure files for standalone dashboard service.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:39:13 -05:00