From 584a4f28dc9fb0665c2310370c9d38f18d1edac6 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Sat, 28 Sep 2024 12:35:07 -0400 Subject: [PATCH] Add basic api endpoint --- server/routers/badger/badger.ts | 3 +++ server/routers/badger/getConfig.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/server/routers/badger/badger.ts b/server/routers/badger/badger.ts index 33666ae7..5cb8e34f 100644 --- a/server/routers/badger/badger.ts +++ b/server/routers/badger/badger.ts @@ -1,4 +1,5 @@ import { Router } from "express"; +import { getConfig } from "./getConfig"; const badger = Router(); @@ -6,4 +7,6 @@ badger.get("/", (_, res) => { res.status(200).json({ message: "Healthy" }); }); +badger.get("/getConfig", getConfig); + export default badger; diff --git a/server/routers/badger/getConfig.ts b/server/routers/badger/getConfig.ts index e69de29b..224b27c6 100644 --- a/server/routers/badger/getConfig.ts +++ b/server/routers/badger/getConfig.ts @@ -0,0 +1,26 @@ +import { Request, Response, NextFunction } from 'express'; +import { Database } from 'better-sqlite3'; + +interface CustomRequest extends Request { + db?: Database; +} + +export const getConfig = (req: Request, res: Response, next: NextFunction): void => { + try { + const customReq = req as CustomRequest; + const db = customReq.db; + + if (!db) { + throw new Error('Database is not attached to the request'); + } + + const query = 'SELECT * FROM sites'; + const statement = db.prepare(query); + const results = statement.all(); + + res.json(results); + } catch (error) { + console.error('Error querying database:', error); + next(error); + } +}; \ No newline at end of file