diff --git a/routes/users.js b/routes/users.js index 57bd25d..8d7f7a7 100644 --- a/routes/users.js +++ b/routes/users.js @@ -101,23 +101,41 @@ router.post('/createClass', (req, res, next) => { // Delete User router.post('/deleteUser', (req, res, next) => { - const id = req.body.delete_id; + const { deleteEmail } = req.body; // Deletes User - MongoClient.connect(url, { - useUnifiedTopology: true, - useNewUrlParser: true}, function(err, db) { - if (err) throw err; - let dbo = db.db("XPmockDB"); - dbo.collection("students").deleteOne({ _id: ObjectId(id) }, function(err, obj) { - if (err) throw err; - db.close(); - }); - // Takes to Dahsboard on success - let value = encodeURIComponent('deletedUser'); + User.findOne({ email: deleteEmail }).then(user => { + if (user) { + MongoClient.connect(url, { + useUnifiedTopology: true, + useNewUrlParser: true}, async function(err, db) { + if (err) throw err; + const dbo = db.db("XPmockDB"); + const users = dbo.collection("users"); + const query = { email: deleteEmail }; + const result = await users.deleteOne(query); + if(result.deletedCount === 1) { + console.log('Successfully deleted Document.'); + + // Takes to Dahsboard on success + let value = encodeURIComponent('deletedUser'); + res.redirect('/dashboard?successRate=' + value); + } else { + console.error("No Documents matched the query. Deleted 0 documents.") + + // Takes to Dahsboard on failure + let value = encodeURIComponent('deleteFailed'); + res.redirect('/dashboard?successRate=' + value); + } + } + ); + } else { + console.warn('User not found') + // Takes to Dashboard on failure + let value = encodeURIComponent('notFoundError'); res.redirect('/dashboard?successRate=' + value); } - ); + }) }); // Create Quest diff --git a/views/admin.ejs b/views/admin.ejs index 25001a6..7d5312b 100644 --- a/views/admin.ejs +++ b/views/admin.ejs @@ -178,6 +178,12 @@ if(successRate == 'deletedUser') { createDiv('message', "Successfully Deleted User"); } + if(successRate == 'deleteFailed') { + createDiv('error', "Failed to delete User"); + } + if(successRate == 'notFoundError') { + createDiv('error', "User not found"); + } } @@ -204,7 +210,7 @@ let indexes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12] // Students should't be on this page sooooo... - console.log("Students Also Shouldnt be here"); + console.log("Students also shouldnt be here"); @@ -221,8 +227,8 @@
<%= member.role %>
-<%= member.role %>
-