summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlowercasename <raphaelkabo@gmail.com>2019-07-26 00:47:54 +0100
committerlowercasename <raphaelkabo@gmail.com>2019-07-26 00:47:54 +0100
commit057696b4f7934571815b5ca92d96ecf79d827c34 (patch)
tree37493774239bd7e3e85b62c55f2381efdb587e6a
parentad2841526aee14b59dfcb23c81ac2fee7622052d (diff)
Automatically delete images connected to old events
-rwxr-xr-xroutes.js58
1 files changed, 37 insertions, 21 deletions
diff --git a/routes.js b/routes.js
index bb63072..fe30e9f 100755
--- a/routes.js
+++ b/routes.js
@@ -50,14 +50,30 @@ const deleteOldEvents = schedule.scheduleJob('59 23 * * *', function(fireDate){
const too_old = moment().subtract(7, 'days').toDate();
console.log(too_old);
- Event.findOne({ end: { $lte: too_old } }).remove().exec().then((RemoveStatus) => {
- console.log("Documents removed successfully");
- addToLog("deleteOldEvents", "success", "Old events deleted");
+ Event.find({ end: { $lte: too_old } }).then((oldEvents) => {
+ oldEvents.forEach(event => {
+ if (event.image){
+ fs.unlink(global.appRoot + '/public/events/' + event.image, (err) => {
+ if (err) {
+ addToLog("deleteOldEvents", "error", "Attempt to delete event image for old event "+event.id+" failed with error: " + err);
+ }
+ // Image removed
+ addToLog("deleteOldEvents", "error", "Image deleted for old event "+event.id);
+ })
+ }
+ Event.remove({"_id": event._id})
+ .then(response => {
+ addToLog("deleteOldEvents", "success", "Old event "+event.id+" deleted");
+ }).catch((err) => {
+ addToLog("deleteOldEvents", "error", "Attempt to delete old event "+event.id+" failed with error: " + err);
+ });
+ })
}).catch((err) => {
- addToLog("deleteOldEvents", "error", "Attempt to delete old events failed with error: " + err);
+ addToLog("deleteOldEvents", "error", "Attempt to delete old event "+event.id+" failed with error: " + err);
});
});
+
// FRONTEND ROUTES
router.get('/', (req, res) => {
@@ -369,7 +385,6 @@ router.post('/editevent/:eventID/:editToken', (req, res) => {
.then(() => {
addToLog("editEvent", "success", "Event " + req.params.eventID + " edited");
Event.findOne({id: req.params.eventID}).distinct('attendees.email', function(error, ids) {
- console.log(ids)
attendeeEmails = ids;
if (!error && attendeeEmails != ""){
console.log("Sending emails to: " + attendeeEmails);
@@ -415,11 +430,12 @@ router.post('/deleteevent/:eventID/:editToken', (req, res) => {
id: req.params.eventID,
}))
.then((event) => {
- console.log(submittedEditToken);
if (event.editToken === submittedEditToken) {
// Token matches
- eventImage = event.image;
+ if (event.image){
+ eventImage = event.image;
+ }
// Send emails here otherwise they don't exist lol
@@ -456,19 +472,20 @@ router.post('/deleteevent/:eventID/:editToken', (req, res) => {
})
.then(() => {
// Delete image
- fs.unlink(global.appRoot + '/public/events/' + eventImage, (err) => {
- if (err) {
- res.send(err);
- addToLog("deleteEvent", "error", "Attempt to delete event image for event " + req.params.eventID + " failed with error: " + err);
- }
- // Image removed
- addToLog("deleteEvent", "success", "Event " + req.params.eventID + " deleted");
- res.writeHead(302, {
- 'Location': '/'
- });
- res.end();
- })
-
+ if (eventImage){
+ fs.unlink(global.appRoot + '/public/events/' + eventImage, (err) => {
+ if (err) {
+ res.send(err);
+ addToLog("deleteEvent", "error", "Attempt to delete event image for event " + req.params.eventID + " failed with error: " + err);
+ }
+ // Image removed
+ addToLog("deleteEvent", "success", "Event " + req.params.eventID + " deleted");
+ })
+ }
+ res.writeHead(302, {
+ 'Location': '/'
+ });
+ res.end();
})
.catch((err) => { res.send('Sorry! Something went wrong (error deleting): ' + err); addToLog("deleteEvent", "error", "Attempt to delete event " + req.params.eventID + " failed with error: " + err);});
}
@@ -508,7 +525,6 @@ router.post('/attendevent/:eventID', (req, res) => {
eventID: req.params.eventID
},
};
- console.log(msg);
sgMail.send(msg);
}