UploadsRouter.coffee 1.0 KB

1234567891011121314151617181920212223242526272829
  1. AuthorizationMiddleware = require('../Authorization/AuthorizationMiddleware')
  2. AuthenticationController = require('../Authentication/AuthenticationController')
  3. ProjectUploadController = require "./ProjectUploadController"
  4. RateLimiterMiddleware = require('../Security/RateLimiterMiddleware')
  5. Settings = require('settings-sharelatex')
  6. module.exports =
  7. apply: (webRouter, apiRouter) ->
  8. webRouter.post '/project/new/upload',
  9. AuthenticationController.requireLogin(),
  10. RateLimiterMiddleware.rateLimit({
  11. endpointName: "project-upload"
  12. maxRequests: 20
  13. timeInterval: 60
  14. }),
  15. ProjectUploadController.multerMiddleware,
  16. ProjectUploadController.uploadProject
  17. webRouter.post '/Project/:Project_id/upload',
  18. RateLimiterMiddleware.rateLimit({
  19. endpointName: "file-upload"
  20. params: ["Project_id"]
  21. maxRequests: 200
  22. timeInterval: 60 * 30
  23. }),
  24. AuthenticationController.requireLogin(),
  25. AuthorizationMiddleware.ensureUserCanWriteProjectContent,
  26. ProjectUploadController.multerMiddleware,
  27. ProjectUploadController.uploadFile