added Model classes
This commit is contained in:
parent
fd257b335c
commit
6e8e0e0101
14 changed files with 145 additions and 33 deletions
|
|
@ -1,9 +1,13 @@
|
|||
import express from 'express';
|
||||
import {Database} from "./Database.js";
|
||||
|
||||
import pgPromise from "pg-promise";
|
||||
import helmet from "helmet";
|
||||
import bodyParser from "body-parser";
|
||||
import morgan from 'morgan';
|
||||
import {UserDataManager} from "./manager/UserDataManager.js";
|
||||
import {UserDataPgPromiseSerializer} from "./manager/UserDataPgPromiseSerializer.js";
|
||||
import {leaderboardRouter} from "./leaderboardRouter.js";
|
||||
|
||||
|
||||
const app = express()
|
||||
const port = 3000
|
||||
|
|
@ -14,30 +18,31 @@ app.use(helmet())
|
|||
let morganFormatted = morgan('[:date[iso]] :method :url - :status')
|
||||
app.use(morganFormatted);
|
||||
|
||||
// init database connection
|
||||
const pgp = pgPromise({});
|
||||
const db = pgp('postgres://postgres:postgres@db:5432/rr')
|
||||
app.use('/leaderboard', leaderboardRouter)
|
||||
|
||||
app.get('/helloworld', (req, res) => {
|
||||
res.json({message: "Hello World!"})
|
||||
})
|
||||
|
||||
app.get('/highscore', async (req, res) => {
|
||||
let data = await dbQueryCatcher(async () =>
|
||||
await db.manyOrNone('SELECT * FROM lb_highscore;')
|
||||
)
|
||||
let data = await Database.db.manyOrNone('SELECT * FROM lb_highscore;')
|
||||
.catch((error) => console.log(error.message))
|
||||
res.json(data)
|
||||
})
|
||||
|
||||
async function dbQueryCatcher(request): Promise<any> {
|
||||
let data;
|
||||
try {
|
||||
data = await request();
|
||||
} catch (e) {
|
||||
console.log((e as Error).message)
|
||||
}
|
||||
return data;
|
||||
}
|
||||
app.get('/user/:username', async (req, res) => {
|
||||
let data = await Database.db.oneOrNone(
|
||||
'SELECT * FROM user_data WHERE username = $1;',
|
||||
[req.params.username])
|
||||
.catch((error) => console.log(error.message)
|
||||
)
|
||||
let userDataManager: UserDataManager = new UserDataManager(data, new UserDataPgPromiseSerializer);
|
||||
res.json(userDataManager.userData);
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Server started at http://localhost:3000`);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue