-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathcrud.js
79 lines (67 loc) · 2.31 KB
/
crud.js
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
import Task from './models/task';
import { publishToQueue } from './mqservice';
var defaultQueue;
if (process.env.NODE_ENV == 'dev')
defaultQueue = "tasksdev";
else
defaultQueue = "tasks";
export default {
create: (req, res) => {
let task = new Task(req.body)
task.save((err, data) => {
if (!err) {
// console.log(msg)
let msg = { html: `<h1>Treko:</h1><p>Tarefa ${task.title} criada com sucesso!</p>`, email: task.owner }
publishToQueue(defaultQueue, JSON.stringify(msg));
return res.status(200).json({ data: data })
}
if (err.name === "ValidationError") {
return res.status(400).json(err)
}
if (err.name === 'MongoError') {
return res.status(409).json(err)
}
return res.status(500).json(err)
})
},
list: (req, res) => {
let query = {}
if (req.query.title) {
query.title = new RegExp(req.query.title, 'i')
}
Task.find(query, {}, { sort: '-date' }, (err, result) => {
return res.status(200).json({ data: result });
})
},
get: (req, res) => {
let id = req.params.id
Task.findById({ _id: id }, {}, { sort: '-date' }, (err, result) => {
if (!result) {
return res.status(404).send(null);
} else {
return res.status(200).json({ data: result });
}
})
},
remove: (req, res) => {
Task.findOneAndDelete({ _id: req.params.id }, (err, result) => {
if (result) {
return res.status(200).send(null);
} else {
return res.status(404).send(null);
}
})
},
update: (req, res) => {
Task.findByIdAndUpdate(req.params.id, { $set: req.body }, (err, result) => {
if (result) {
// console.log(result)
let msg = { html: `<h1>Ninja Tasks:</h1><p>Tarefa ${result.title} concluída com sucesso!</p>`, email: result.owner }
publishToQueue(defaultQueue, JSON.stringify(msg));
return res.status(200).send(null);
} else {
return res.status(404).send(null);
}
})
}
}