UploadsRouter.coffee 810 B

12345678910111213141516171819202122
  1. AuthorizationMiddlewear = require('../Authorization/AuthorizationMiddlewear')
  2. AuthenticationController = require('../Authentication/AuthenticationController')
  3. ProjectUploadController = require "./ProjectUploadController"
  4. RateLimiterMiddlewear = require('../Security/RateLimiterMiddlewear')
  5. module.exports =
  6. apply: (webRouter, apiRouter) ->
  7. webRouter.post '/project/new/upload',
  8. AuthenticationController.requireLogin(),
  9. ProjectUploadController.uploadProject
  10. webRouter.post '/Project/:Project_id/upload',
  11. RateLimiterMiddlewear.rateLimit({
  12. endpointName: "file-upload"
  13. params: ["Project_id"]
  14. maxRequests: 200
  15. timeInterval: 60 * 30
  16. }),
  17. AuthenticationController.requireLogin(),
  18. AuthorizationMiddlewear.ensureUserCanWriteProjectContent,
  19. ProjectUploadController.uploadFile