|
|
|
@ -9,9 +9,19 @@ const { loginRequired } = require('../authStuff.js'); |
|
|
|
|
const showdown = require('showdown'); |
|
|
|
|
const converter = new showdown.Converter(); |
|
|
|
|
|
|
|
|
|
const pageListQuery = db.prepare(` |
|
|
|
|
select p.number, p.title, p.time
|
|
|
|
|
from pages p |
|
|
|
|
where time >= ( |
|
|
|
|
select max(s.time)
|
|
|
|
|
from pages s |
|
|
|
|
where s.number = p.number |
|
|
|
|
) |
|
|
|
|
order by p.time desc |
|
|
|
|
`);
|
|
|
|
|
app.get('/pages', (req, res) => { |
|
|
|
|
try { |
|
|
|
|
const pages = db.prepare('select number, title from pages').all(); |
|
|
|
|
const pages = pageListQuery.all(); |
|
|
|
|
res.status(200).json(pages); |
|
|
|
|
} catch (error) { |
|
|
|
|
res.status(500).json({"error": error}); |
|
|
|
@ -20,11 +30,11 @@ app.get('/pages', (req, res) => { |
|
|
|
|
|
|
|
|
|
app.post('/page/new', loginRequired, (req, res) => { |
|
|
|
|
try { |
|
|
|
|
const maxPageNumber = db.prepare('select max(number) from pages').get() |
|
|
|
|
console.log('maxPageNumber is ', maxPageNumber); |
|
|
|
|
const newPage = db.prepare('insert into pages (title, description, author) values (?, ?, ?) returning number') |
|
|
|
|
.get("new page", "this page is new!", req.session.userId); |
|
|
|
|
res.status(200).json(newPage); |
|
|
|
|
const maxPageNumber = db.prepare('select max(number) as maximum from pages').get() |
|
|
|
|
const newPageNumber = maxPageNumber.maximum + 1; |
|
|
|
|
const newPage = db.prepare('insert into pages (number, title, description, author) values (?, ?, ?, ?) returning number') |
|
|
|
|
.get(newPageNumber, "new page", "this page is new!", req.session.userId); |
|
|
|
|
res.status(200).json(newPageNumber); |
|
|
|
|
} catch (error) { |
|
|
|
|
res.status(500).json({"error": error}); |
|
|
|
|
} |
|
|
|
|