From 9108ef756168cfc658c11335046b2864bf51e7b2 Mon Sep 17 00:00:00 2001 From: JayWll Date: Thu, 16 Jul 2020 11:32:56 -0600 Subject: [PATCH] Video 116: Cascade Delete Tasks --- task-manager/src/models/user.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/task-manager/src/models/user.js b/task-manager/src/models/user.js index fd56e6c..c80840a 100644 --- a/task-manager/src/models/user.js +++ b/task-manager/src/models/user.js @@ -2,6 +2,7 @@ const mongoose = require('mongoose') const validator = require('validator') const bcrypt = require('bcryptjs') const jwt = require('jsonwebtoken') +const Task = require('./task') const userSchema = new mongoose.Schema({ name: { @@ -102,6 +103,13 @@ userSchema.pre('save', async function(next) { next() }) +// Delete user tasks when user is removed +userSchema.pre('remove', async function(next) { + const user = this + await Task.deleteMany({ owner: user._id }) + next() +}) + const User = mongoose.model('User', userSchema) module.exports = User