| import { Router, type IRouter, type Request, type Response } from "express"; |
| import healthRouter from "./health"; |
| import meRouter from "./me"; |
| import subscriptionRouter from "./subscription"; |
| import paypalRouter from "./paypal"; |
| import savedListsRouter from "./saved-lists"; |
| import adminRouter from "./admin"; |
| import eventsRouter from "./events"; |
| import { db, appConfigTable } from "@workspace/db"; |
| import { eq } from "drizzle-orm"; |
|
|
| const router: IRouter = Router(); |
|
|
| router.use(healthRouter); |
| router.use("/me", meRouter); |
| router.use("/subscription", subscriptionRouter); |
| router.use("/paypal", paypalRouter); |
| router.use("/saved-lists", savedListsRouter); |
| router.use("/admin", adminRouter); |
| router.use("/events", eventsRouter); |
|
|
| router.get("/extension-update", async (req: Request, res: Response) => { |
| try { |
| const rows = await db.select().from(appConfigTable).where( |
| eq(appConfigTable.key, "extension_update_available") |
| ); |
| const vRows = await db.select().from(appConfigTable).where( |
| eq(appConfigTable.key, "extension_update_version") |
| ); |
| const mRows = await db.select().from(appConfigTable).where( |
| eq(appConfigTable.key, "extension_update_message") |
| ); |
| res.json({ |
| updateAvailable: rows[0]?.value === "true", |
| version: vRows[0]?.value ?? null, |
| message: mRows[0]?.value ?? null, |
| }); |
| } catch { |
| res.json({ updateAvailable: false, version: null, message: null }); |
| } |
| }); |
|
|
| export default router; |
|
|