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.

51 lines
1.2 KiB

  1. var fs = require('fs');
  2. //erstellt JSONObjekt
  3. let rawdata = fs.readFileSync('./public/models/blog.json');
  4. //wandelt JSONObjekt in JsObjekt
  5. let blogInhalt = JSON.parse(rawdata);
  6. var getAllPosts=(req, res) => {
  7. for (i = 0; i < blogInhalt.length; i++){
  8. console.log(blogInhalt[i].id, "." , blogInhalt[i].title);
  9. }
  10. res.send({ blogInhalt });
  11. }
  12. var createPost = (req, res) => {
  13. let blogeintrag = {
  14. id : blogInhalt.length + 1,
  15. title : req.body.title,
  16. username : req.body.username,
  17. date : req.body.date,
  18. text : req.body.text
  19. }
  20. console.log(blogeintrag);
  21. //hänge blogeintrag an blogInhalt
  22. blogInhalt.push(blogeintrag);
  23. let date = JSON.stringify(blogInhalt, null, 2);
  24. fs.writeFileSync('./public/models/blog.json', date);
  25. res.render('blogPost', { title: 'Nächster Post' })
  26. }
  27. var getPost = (req, res) => {
  28. let blogID = req.params.postID;
  29. if(blogID > blogInhalt.length){
  30. console.log("kein entsprechender Eintrag vorhanden");
  31. res.send("kein entsprechender Eintrag vorhanden")
  32. } else {
  33. console.log(blogInhalt[blogID - 1]);
  34. res.send(blogInhalt[blogID - 1]);
  35. }
  36. }
  37. module.exports = {
  38. getAllPosts,
  39. createPost,
  40. getPost
  41. }