| 123456789101112131415161718192021222324252627282930 |
- User = require("../../models/User").User
- NewsletterManager = require "../Newsletter/NewsletterManager"
- ProjectDeleter = require("../Project/ProjectDeleter")
- logger = require("logger-sharelatex")
- SubscriptionHandler = require("../Subscription/SubscriptionHandler")
- async = require("async")
- module.exports =
- deleteUser: (user_id, callback = ()->)->
- if !user_id?
- logger.err "user_id is null when trying to delete user"
- return callback("no user_id")
- User.findById user_id, (err, user)->
- if err?
- return callback(err)
- logger.log user:user, "deleting user"
- async.series [
- (cb)->
- NewsletterManager.unsubscribe user, cb
- (cb)->
- ProjectDeleter.deleteUsersProjects user._id, cb
- (cb)->
- SubscriptionHandler.cancelSubscription user, cb
- (cb)->
- user.remove cb
- ], (err)->
- if err?
- logger.err err:err, user_id:user_id, "something went wrong deleteing the user"
- callback err
|