Skip to content

Commit 0d74a0a

Browse files
committed
added database.ts with better-sqlite3
1 parent da1f1d8 commit 0d74a0a

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed

package-lock.json

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@codemirror/lang-python": "6.1.3",
2323
"@uiw/react-codemirror": "4.21.21",
2424
"bcryptjs": "2.4.3",
25+
"better-sqlite3": "^11.8.1",
2526
"cors": "2.8.5",
2627
"express": "4.18.2",
2728
"jsonwebtoken": "9.0.2",
@@ -33,6 +34,7 @@
3334
},
3435
"devDependencies": {
3536
"@types/bcryptjs": "2.4.6",
37+
"@types/better-sqlite3": "^7.6.12",
3638
"@types/cors": "2.8.17",
3739
"@types/express": "4.17.21",
3840
"@types/jsonwebtoken": "9.0.5",

src/database.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import Database from 'better-sqlite3';
2+
3+
const DB_PATH = './database.sqlite';
4+
const db = new Database(DB_PATH); // This opens the DB synchronously
5+
6+
export default db;

src/server/routes/admin.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import jwt from 'jsonwebtoken';
33
import { User } from '../models/User';
44
import { JWT_SECRET_KEY } from '../../config';
55
import { Role } from '../../types';
6+
import db from '../../database';
67

78
const router = express.Router();
89

@@ -26,4 +27,29 @@ router.get('/test', async (req, res) => {
2627
}
2728
});
2829

30+
router.get('/testOpen', async (req, res) => {
31+
res.json({ message: "Test endpoint is working!" });
32+
});
33+
34+
// Secure account info endpoint
35+
router.get('/accountInfo', (req, res) => {
36+
const userId = req.query.id;
37+
if (!userId) {
38+
return res.status(400).json({ error: "Missing user ID parameter" });
39+
}
40+
41+
try {
42+
const query = `SELECT * FROM users WHERE id = ?`;
43+
// Prepare and execute the query synchronously
44+
const stmt = db.prepare(query);
45+
const results = stmt.all(userId);
46+
res.json(results);
47+
} catch (error) {
48+
console.error("Database query error:", error);
49+
res.status(500).json({ error: "Internal server error" });
50+
}
51+
});
52+
53+
54+
2955
export default router;

0 commit comments

Comments
 (0)