Added posts and categories
This commit is contained in:
77
category.route.js
Normal file
77
category.route.js
Normal file
@@ -0,0 +1,77 @@
|
||||
const utils = require('./utils');
|
||||
const express = require('express');
|
||||
const categoryRoutes = express.Router();
|
||||
|
||||
let Post = require('./post.model');
|
||||
let Category = require('./category.model');
|
||||
let Session = require('./session.model');
|
||||
let User = require('./user.model');
|
||||
|
||||
/*
|
||||
POST - /category/create
|
||||
Create a category
|
||||
Response: 201 - Created
|
||||
401 - Unauthorized
|
||||
*/
|
||||
categoryRoutes.route('/create').post((req, res) => {
|
||||
if (!req.body) {
|
||||
res.status(401).send("Missing body");
|
||||
return;
|
||||
}
|
||||
utils.checkSession(req.body.userId, req.body.sessionId, (isValidId) => {
|
||||
utils.isAdmin(req.body.userId, (isAdmin) => {
|
||||
if (isValidId && isAdmin) {
|
||||
let c = new Category(req.body);
|
||||
c.save()
|
||||
.then(() => {
|
||||
res.json(c);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
res.status(500).send("Error creating category");
|
||||
});
|
||||
} else {
|
||||
res.status(401).send("Invalid permissions to create category.");
|
||||
return;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
GET - /category/all
|
||||
Get all categories
|
||||
Response: 200 - OK
|
||||
*/
|
||||
categoryRoutes.route('/all').get((req, res) => {
|
||||
Category.find({}, (err, cArr) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
res.status(500).send("Error getting categories");
|
||||
return;
|
||||
}
|
||||
res.status(200).send(cArr);
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
GET - /category/posts
|
||||
Get all posts with specified category
|
||||
Response: 200 - OK
|
||||
*/
|
||||
categoryRoutes.route('/posts').get((req, res) => {
|
||||
Post.find({}, (err, postArr) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
res.status(500).send("Error getting posts");
|
||||
return;
|
||||
}
|
||||
postArr = postArr.filter(post => post.category.includes(req.body._id));
|
||||
res.status(200).send(postArr);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = categoryRoutes;
|
||||
Reference in New Issue
Block a user