Repository navigation
Expand file tree
/
Copy patha real project test.js
More file actions
113 lines (101 loc) · 2.69 KB
/
Copy patha real project test.js
File metadata and controls
113 lines (101 loc) · 2.69 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
var uuid = require("node-uuid");
var _ = require("lodash");
var express = require("express");
//var rooms = require("./../data/rooms.json");
var MongoClient = require("mongodb").MongoClient;
var ObjectID = require("mongodb").ObjectID;
var assert = require("assert");
var url = "mongodb://localhost:27017/myproject";
var router = express.Router();
module.exports = router;
router.get("/", function(req, res) {
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
db
.collection("rooms")
.find()
.toArray(function(error, rooms) {
res.render("rooms/list", {
title: "Admin Rooms",
rooms: rooms
});
db.close();
});
});
});
router
.route("/add")
.get(function(req, res) {
res.render("rooms/add");
})
.post(function(req, res) {
var room = {
name: req.body.name,
id: uuid.v4()
};
// rooms.push(room);
// insert into mongodb
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
db.collection("rooms").insertOne(room, function(error, result) {
res.redirect(req.baseUrl);
db.close();
});
});
});
router
.route("/edit/:id")
.all(function(req, res, next) {
var roomId = req.params.id;
MongoClient.connect(url, function(err, db) {
//assert.equal(null, err);
console.log("Connected correctly to server");
db
.collection("rooms")
.find()
.toArray(function(error, roomsresult) {
//console.log(roomsresult);
let rooms;
rooms = roomsresult;
/// mongo end
var room = _.find(rooms, r => r.id === roomId);
if (!room) {
res.sendStatus(404);
return;
}
res.locals.room = room;
next();
db.close();
});
});
})
.get(function(req, res) {
res.render("rooms/edit");
})
.post(function(req, res) {
var name = req.body.name;
var roomId = req.params.id;
var filter = { id: roomId };
var newRoom = {
name: name,
id: roomId
};
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
db
.collection("rooms")
.updateOne(filter, newRoom, function(error, result) {
res.redirect(req.baseUrl);
db.close();
});
});
// res.locals.room.name = req.body.name;
});
router.get("/delete/:id", function(req, res) {
var roomId = req.params.id;
rooms = rooms.filter(r => r.id !== roomId);
res.redirect(req.baseUrl);
});