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.

70 lines
1.8 KiB

  1. var express = require('express');
  2. let res = require('express/lib/response');
  3. var router = express.Router();
  4. //fileStream ermöglicht Lesen und Schreiben auf Festplatte
  5. var fs = require('fs');
  6. //let blog = [];
  7. //erstellt JSONObjekt
  8. let rawdata = fs.readFileSync('./public/models/blog.json');
  9. //wandelt JSONObjekt in JsObjekt
  10. let blogInhalt = JSON.parse(rawdata);
  11. /* GET home page. */
  12. router.route('/')
  13. .get((req, res, next) => { // => Pfeilfunktion: ersetzt function()
  14. for (i = 0; i < blogInhalt.length; i++){
  15. console.log(blogInhalt[i].id, "." , blogInhalt[i].title);
  16. }
  17. res.send({ blogInhalt });
  18. })
  19. .post((req, res, next) => {
  20. /*let blogeintrag = [];
  21. let title = req.body.title;
  22. let username = req.body.username;
  23. let date = req.body.date;
  24. let text = req.body.text;
  25. console.log(title);
  26. blogeintrag.push(title, username, date, text);
  27. blog.push(blogeintrag); */
  28. let blogeintrag = {
  29. id : blogInhalt.length + 1,
  30. title : req.body.title,
  31. username : req.body.username,
  32. date : req.body.date,
  33. text : req.body.text
  34. }
  35. console.log(blogeintrag);
  36. //hänge blogeintrag an blogInhalt
  37. blogInhalt.push(blogeintrag);
  38. let date = JSON.stringify(blogInhalt, null, 2);
  39. fs.writeFileSync('./public/models/blog.json', date);
  40. res.render('blogPost', { title: 'Nächster Post' })
  41. });
  42. router.get('/newPost', function (req, res, next) {
  43. res.render('blogPost', { title: 'BlogEintrag' });
  44. });
  45. router.get('/:postID', function (req, res, next) {
  46. let blogID = req.params.postID;
  47. if(blogID > blogInhalt.length){
  48. console.log("kein entsprechender Eintrag vorhanden");
  49. res.send("kein entsprechender Eintrag vorhanden")
  50. } else {
  51. console.log(blogInhalt[blogID - 1]);
  52. res.send(blogInhalt[blogID - 1]);
  53. }
  54. });
  55. module.exports = router;