89 lines
2.0 KiB
JavaScript
89 lines
2.0 KiB
JavaScript
var express = require('express');
|
|
var router = express.Router();
|
|
|
|
/* GET home page. */
|
|
router.get('/', function(req, res, next) {
|
|
res.render('index', { title: 'Express' });
|
|
});
|
|
|
|
// publier un message avec un certain compte
|
|
router.get('/publish', function(req, res, next) {
|
|
res.render('index', { title: 'Express' });
|
|
});
|
|
|
|
var sqlite3 = require('sqlite3');
|
|
|
|
|
|
function createDatabase() {
|
|
var newdb = new sqlite3.Database('masto_posts.db', (err) => {
|
|
if (err) {
|
|
console.log("create DB - Getting error " + err);
|
|
exit(1);
|
|
}
|
|
createTables(newdb);
|
|
});
|
|
}
|
|
function createTables(newdb) {
|
|
newdb.exec(`
|
|
create table posts_scheduled (
|
|
action_id int primary key not null,
|
|
post_username text not null,
|
|
content text not null,
|
|
medias text,
|
|
date_schedule datetime
|
|
);
|
|
`, () => {
|
|
getAllPosts(newdb);
|
|
});
|
|
}
|
|
|
|
function getAllPosts(db) {
|
|
db.all(`
|
|
select * from posts_scheduled p
|
|
orderyby p.action_id desc`, "les posts", (err, rows) => {
|
|
if(rows){
|
|
rows.forEach(row => {
|
|
console.log(row.post_username + "\t" +
|
|
row.content + "\t" +
|
|
row.medias);
|
|
});
|
|
}else{
|
|
console.log('no rows')
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
router.get('/init-db', function(req, res, next) {
|
|
createDatabase()
|
|
res.render('database', {});
|
|
});
|
|
|
|
router.get('/list', function(req, res, next) {
|
|
|
|
var db = new sqlite3.Database('../masto_posts.db', sqlite3.OPEN_READWRITE, (err) => {
|
|
if (err && err.code == "SQLITE_CANTOPEN") {
|
|
createDatabase();
|
|
return;
|
|
} else if (err) {
|
|
console.log("Getting error " + err);
|
|
exit(1);
|
|
}
|
|
// runQueries(db);
|
|
});
|
|
|
|
let posts_list = []
|
|
|
|
getAllPosts(db)
|
|
res.render('database', {posts_list: posts_list});
|
|
});
|
|
|
|
|
|
|
|
// publier le message en db dans la file
|
|
router.get('/publish-last-entry', function(req, res, next) {
|
|
res.render('index', { title: 'Express' });
|
|
});
|
|
|
|
module.exports = router;
|