feat: add GET /api/feed endpoint

Expose the user's current feed via GET /api/feed. Returns
cached feed from engine.lastFeed(), falling back to
engine.refresh() when no cache exists.

Auth middleware is injected as a dependency to allow test
substitution via mockAuthSessionMiddleware.

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-02-24 22:30:13 +00:00
parent 3d492a5d56
commit 941acb826c
4 changed files with 204 additions and 1 deletions

View File

@@ -2,6 +2,8 @@ import { LocationSource } from "@aris/source-location"
import { Hono } from "hono"
import { registerAuthHandlers } from "./auth/http.ts"
import { requireSession } from "./auth/session-middleware.ts"
import { registerFeedHttpHandlers } from "./feed/http.ts"
import { registerLocationHttpHandlers } from "./location/http.ts"
import { UserSessionManager } from "./session/index.ts"
import { WeatherSourceProvider } from "./weather/provider.ts"
@@ -24,6 +26,7 @@ function main() {
app.get("/health", (c) => c.json({ status: "ok" }))
registerAuthHandlers(app)
registerFeedHttpHandlers(app, { sessionManager, authSessionMiddleware: requireSession })
registerLocationHttpHandlers(app, { sessionManager })
return app