58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
|
|
import Post from '../models/postModel.js';
|
||
|
|
|
||
|
|
export const getAllPosts = async (req, res, next) => {
|
||
|
|
const allPosts = await Post.find({}).exec();
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: allPosts
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
export const getPost = async (req, res, next) => {
|
||
|
|
const post = await Post.findById(req.params.id).exec();
|
||
|
|
if (!post) {
|
||
|
|
return next('No document found with that id', 404);
|
||
|
|
}
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: post
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export const getAllPostsByUser = async (req, res, next) => {
|
||
|
|
const post = await Post.find({email: req.params.user}).exec();
|
||
|
|
if (!post) {
|
||
|
|
return next('No document found with that id', 404);
|
||
|
|
}
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: post
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export const createPost = async (req, res, next) => {
|
||
|
|
Post.create(req.body).then(result => {
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: result
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export const updatePost = async (req, res, next) => {
|
||
|
|
Post.updateOne({_id: req.params.id},{$set: req.body}).then(result => {
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: result
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export const deletePost = async (req, res, next) => {
|
||
|
|
Post.deleteOne({_id: req.params.id}).then(result => {
|
||
|
|
res.status(200).json({
|
||
|
|
status: 'success',
|
||
|
|
data: result
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|