CooldownMiddleware.coffee 556 B

1234567891011121314151617
  1. CooldownManager = require('./CooldownManager')
  2. logger = require('logger-sharelatex')
  3. module.exports = CooldownMiddleware =
  4. freezeProject: (req, res, next) ->
  5. projectId = req.params.Project_id
  6. if !projectId?
  7. return next(new Error('[Cooldown] No projectId parameter on route'))
  8. CooldownManager.isProjectOnCooldown projectId, (err, projectIsOnCooldown) ->
  9. if err?
  10. return next(err)
  11. if projectIsOnCooldown
  12. logger.log {projectId}, "[Cooldown] project is on cooldown, denying request"
  13. return res.sendStatus(429)
  14. next()