diff --git a/models/Post.js b/models/Post.js new file mode 100644 index 0000000..1fe1ccc --- /dev/null +++ b/models/Post.js @@ -0,0 +1,30 @@ +const mongoose = require("mongoose"); + +var PostSchema = new mongoose.Schema({ + dateCreated: { + type: Date, + index: true, + required: true + }, + postedBy: { + type: mongoose.Schema.Types.ObjectId, + ref: 'User', + required: true + }, + user_photo: { + type: String, + }, + body: { + type: String, + required: false + }, + tags:{ + type: [String], + }, + suggested_places: [{ + type: mongoose.Schema.Types.ObjectId, + ref: 'Place' + }] +}); + +module.exports = Post = mongoose.model('Post', PostSchema); diff --git a/routes/api.js b/routes/api.js index 3b5cc5c..385cbc8 100755 --- a/routes/api.js +++ b/routes/api.js @@ -6,6 +6,7 @@ const mongoose = require('mongoose'); const User = require('../models/User'); const Place = require('../models/Place'); const Review = require('../models/Review'); +const Post = require('../models/Post'); router.get('/', (req, res) => { res.send('hello world v7.0 test on 12th April 2020 ') @@ -291,4 +292,34 @@ router.get('/search_place_if_exists', async (req, res) => { }); }) +//////////////////////////////////////////////// +////////////// POST ENDPOINTS ////////////// +//////////////////////////////////////////////// + +router.post('/add_post', async (req, res) => { + console.log("Adding post"); + var today = new Date(); + + let newPost = new Post({ + dateCreated: today, + postedBy: req.body.user_id, + user_photo: req.body.user_photo, + body: req.body.body, + tags: req.body.tags, + suggested_places: req.body.suggested_places + }) + console.log(newPost); + newPost.save(async (err, post) => { + if (err) res.status(500).send("Error saving post"); + else res.send(`New post ${post._id} has been saved.`); + }) +}) + +router.get('/get_post', async (req, res) => { + var post = await Post.findById(req.query.post_id); + if(post == null) + res.status(500).send("Error post doesn't exist") + res.json(post); +}) + module.exports = router;