You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

64 lines
1.5 KiB

var fs = require('fs');
//erstellt JSONObjekt
let rawdata = fs.readFileSync('./public/models/blog.json');
//wandelt JSONObjekt in JsObjekt
let blogInhalt = JSON.parse(rawdata);
var getAllPosts = (req, res) => {
for (i = 0; i < blogInhalt.length; i++) {
console.log(blogInhalt[i].id, ".", blogInhalt[i].title);
}
res.send({ blogInhalt });
}
var createPost = (req, res) => {
let fileName = '';
try {
if (!req.files) {
console.log('keine Datei hochgeladen');
} else {
let file = req.files.datei;
file.mv('./uploads/' + file.name);
console.log('Upload erfolgreich' + file.name);
fileName = './uploads/' + file.name;
}
} catch (err) {
res.status(500).send(err);
}
let blogeintrag = {
id: blogInhalt.length ? blogInhalt[blogInhalt.length - 1].id + 1 : 1,
title: req.body.title,
username: req.body.username,
date: req.body.date,
text: req.body.text,
datei: fileName
}
console.log(blogeintrag);
//hänge blogeintrag an blogInhalt
blogInhalt.push(blogeintrag);
let date = JSON.stringify(blogInhalt, null, 2);
fs.writeFileSync('./public/models/blog.json', date);
res.render('blogPost', { title: 'Nächster Post' })
}
var getPost = (req, res) => {
let blogID = parseInt(req.params.postID);
console.log(blogID);
let found = blogInhalt.find(element => element.id === blogID);
found ? res.send(found) : res.send('nichts gefunden');
}
module.exports = {
getAllPosts,
createPost,
getPost
}