/* eslint-disable camelcase, max-len, no-unused-vars, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const SubscriptionGroupHandler = require('./SubscriptionGroupHandler') const OError = require('@overleaf/o-error') const logger = require('@overleaf/logger') const SubscriptionLocator = require('./SubscriptionLocator') const SessionManager = require('../Authentication/SessionManager') const _ = require('underscore') const async = require('async') module.exports = { removeUserFromGroup(req, res, next) { const subscription = req.entity const userToRemove_id = req.params.user_id logger.log( { subscriptionId: subscription._id, userToRemove_id }, 'removing user from group subscription' ) return SubscriptionGroupHandler.removeUserFromGroup( subscription._id, userToRemove_id, function (err) { if (err != null) { OError.tag(err, 'error removing user from group', { subscriptionId: subscription._id, userToRemove_id, }) return next(err) } return res.sendStatus(200) } ) }, removeSelfFromGroup(req, res, next) { const subscriptionId = req.query.subscriptionId const userToRemove_id = SessionManager.getLoggedInUserId(req.session) return SubscriptionLocator.getSubscription( subscriptionId, function (error, subscription) { if (error != null) { return next(error) } return SubscriptionGroupHandler.removeUserFromGroup( subscription._id, userToRemove_id, function (err) { if (err != null) { logger.err( { err, userToRemove_id, subscriptionId }, 'error removing self from group' ) return res.sendStatus(500) } return res.sendStatus(200) } ) } ) }, }