From 0102e6d3eff4d613fcd9553518417b34cc3208b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MIcha=C5=82=20Hartwich?= Date: Thu, 24 May 2018 12:35:08 +0200 Subject: [PATCH] add posts --- app.js | 2 ++ models/post.js | 11 +++++++++++ package.json | 2 ++ routes/posts.js | 26 ++++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 models/post.js create mode 100644 routes/posts.js diff --git a/app.js b/app.js index ab7aed4..183402b 100644 --- a/app.js +++ b/app.js @@ -6,6 +6,7 @@ var logger = require('morgan'); var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); +var postsRouter = require('./routes/posts'); var app = express(); @@ -21,6 +22,7 @@ app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); app.use('/users', usersRouter); +app.use('/posts', postsRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { diff --git a/models/post.js b/models/post.js new file mode 100644 index 0000000..0ca10ae --- /dev/null +++ b/models/post.js @@ -0,0 +1,11 @@ +var mongoose = require('mongoose'); + +mongoose.connect('mongodb://mongoose.location.com/pairguru') + +const postSchema = new mongoose.Schema({ + title: String, + key: String, + description: String, +}); + +module.exports = mongoose.model('Post', postSchema); diff --git a/package.json b/package.json index bd73608..99dad33 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,12 @@ "start": "node ./bin/www" }, "dependencies": { + "axios": "^0.18.0", "cookie-parser": "~1.4.3", "debug": "~2.6.9", "express": "~4.16.0", "http-errors": "~1.6.2", + "mongoose": "^5.1.2", "morgan": "~1.9.0", "pug": "2.0.0-beta11" } diff --git a/routes/posts.js b/routes/posts.js new file mode 100644 index 0000000..38caa9b --- /dev/null +++ b/routes/posts.js @@ -0,0 +1,26 @@ +var express = require('express'); +var router = express.Router(); +var axios = require('axios'); +var Post = require('../models/post'); + +/* GET posts listing. */ +router.get('/', function(req, res, next) { + Post.find({}).exec((err, posts) => { + axios.get('https://another.blog.example.com/allPosts?api_key=34j422j3j6oqer99qrc6') + .then(response => { + const allPosts = posts.concat(response); + res.json( + allPosts.map(p => ({ title: p.title, description: p.description })) + ); + }) + }) +}); + +router.post('/', function(req, res, next) { + const post = new Post(req.body); + post.save((err, post) => { + res.json({ title: p.title, description: p.description}); + }) +}) + +module.exports = router;