overleaf/services/web/app/src/Features/Subscription/SubscriptionGroupController.js

73 lines
2.1 KiB
JavaScript
Raw Normal View History

/* 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 logger = require('logger-sharelatex')
const SubscriptionLocator = require('./SubscriptionLocator')
const AuthenticationController = require('../Authentication/AuthenticationController')
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) {
logger.warn(
{ err, subscriptionId: subscription._id, userToRemove_id },
'error removing user from group'
)
return next(err)
}
return res.sendStatus(200)
}
)
},
removeSelfFromGroup(req, res, next) {
const subscriptionId = req.query.subscriptionId
const userToRemove_id = AuthenticationController.getLoggedInUserId(req)
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)
}
)
})
}
}