38 lines
875 B
JavaScript
38 lines
875 B
JavaScript
const { graphFromList } = require('../graphStuff.js');
|
|
|
|
const sqlite = require('better-sqlite3');
|
|
const db = new sqlite('the_big_db.db', { verbose: console.log });
|
|
|
|
const express = require('express');
|
|
const app = express.Router();
|
|
|
|
const page_routes = require('./pages.js');
|
|
app.use(page_routes);
|
|
|
|
const user_routes = require('./users.js');
|
|
app.use(user_routes);
|
|
|
|
const live_connection_routes = require('./live.js');
|
|
app.use(live_connection_routes);
|
|
|
|
const graphQuery = db.prepare(`
|
|
select p.number, p.html, 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('/graph', (req, res) => {
|
|
try {
|
|
const rows = graphQuery.all();
|
|
const graph = graphFromList(rows);
|
|
res.status(200).json(graph);
|
|
} catch (error) {
|
|
res.status(500).json({"error": error});
|
|
}
|
|
});
|
|
|
|
module.exports = app; |