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