-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontroller.js
More file actions
123 lines (115 loc) · 3.48 KB
/
controller.js
File metadata and controls
123 lines (115 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
const mongoose = require('mongoose');
require('./models/blog_model');
const blogs = mongoose.model('Blogs');
/* blogs->Db Schema
Blog-> an object of blogs
*/
//Create new Blog
exports.create = (req, res) => {
// Request validation
if(!req.body) {
return res.status(400).send({
message: "Blog content can not be empty"
});
}
// Create a Blog
const Blog = new blogs({
title: req.body.title || "No Blog title",
contributor: req.body.contributor,
description: req.body.description
});
// Save Blog in the database
Blog.save()
.then(data => {
res.send(data);
}).catch(err => {
res.status(500).send({
message: err.message || "Something wrong while creating the Blog."
});
});
};
// Retrieve all blogs from the database.
exports.findAll = (req, res) => {
blogs.find()
.then(Blogs => {
res.send(Blogs);
}).catch(err => {
res.status(500).send({
message: err.message || "Something wrong while retrieving Blogs."
});
});
};
// Find a single product with a blogId
exports.findOne = (req, res) => {
blogs.findById(req.params.blogId)
.then(Blog => {
if(!Blog) {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
res.send(Blog);
}).catch(err => {
if(err.kind === 'ObjectId') {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
return res.status(500).send({
message: "Something wrong retrieving Blog with id " + req.params.blogId
});
});
};
// Update a blog
exports.update = (req, res) => {
// Validate Request
if(!req.body) {
return res.status(400).send({
message: "Blog content can not be empty"
});
}
// Find and update Blog with the request body
blogs.findByIdAndUpdate(req.params.blogId, {
title: req.body.title || "No blog title",
contributor: req.body.contributor,
description: req.body.description
}, {new: true})
.then(Blog => {
if(!Blog) {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
res.send(Blog);
}).catch(err => {
if(err.kind === 'ObjectId') {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
return res.status(500).send({
message: "Something wrong updating note with id " + req.params.blogId
});
});
};
// Delete a note with the specified noteId in the request
exports.delete = (req, res) => {
blogs.findByIdAndRemove(req.params.blogId)
.then(Blog => {
if(!Blog) {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
res.send({message: "Blog deleted successfully!"});
}).catch(err => {
if(err.kind === 'ObjectId' || err.name === 'NotFound') {
return res.status(404).send({
message: "Blog not found with id " + req.params.blogId
});
}
return res.status(500).send({
message: "Could not delete Blog with id " + req.params.blogId
});
});
};