2021-06-23 14:07:02 -07:00

44 lines
986 B
JavaScript

import express from 'express'
import exphbs from 'express-handlebars'
import sqlite3 from 'sqlite3'
import { open } from 'sqlite'
const dbPromise = open({
filename: 'data.db',
driver: sqlite3.Database
})
const app = express()
app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');
app.use(express.urlencoded())
app.get('/', async (req, res) => {
const db = await dbPromise;
const messages = await db.all('SELECT * FROM Message;')
res.render('home', { messages })
})
app.post('/message', async (req, res) => {
const db = await dbPromise
const messageText = req.body.messageText
await db.run('INSERT INTO Message (text) VALUES (?);', messageText)
res.redirect('/')
})
app.get('/time', (req, res) => {
res.send('the current time is ' + (new Date()).toLocaleTimeString())
})
const setup = async () => {
const db = await dbPromise
await db.migrate()
app.listen(8000, () => {
console.log('listening on localhost:8000')
})
}
setup()