LinkedFilesRouter.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* eslint-disable
  2. max-len,
  3. */
  4. // TODO: This file was created by bulk-decaffeinate.
  5. // Fix any style issues and re-enable lint.
  6. /*
  7. * decaffeinate suggestions:
  8. * DS102: Remove unnecessary code created because of implicit returns
  9. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  10. */
  11. const AuthorizationMiddleware = require('../Authorization/AuthorizationMiddleware')
  12. const AuthenticationController = require('../Authentication/AuthenticationController')
  13. const RateLimiterMiddleware = require('../Security/RateLimiterMiddleware')
  14. const LinkedFilesController = require('./LinkedFilesController')
  15. module.exports = {
  16. apply(webRouter) {
  17. webRouter.post(
  18. '/project/:project_id/linked_file',
  19. AuthenticationController.requireLogin(),
  20. AuthorizationMiddleware.ensureUserCanWriteProjectContent,
  21. RateLimiterMiddleware.rateLimit({
  22. endpointName: 'create-linked-file',
  23. params: ['project_id'],
  24. maxRequests: 100,
  25. timeInterval: 60,
  26. }),
  27. LinkedFilesController.createLinkedFile
  28. )
  29. return webRouter.post(
  30. '/project/:project_id/linked_file/:file_id/refresh',
  31. AuthenticationController.requireLogin(),
  32. AuthorizationMiddleware.ensureUserCanWriteProjectContent,
  33. RateLimiterMiddleware.rateLimit({
  34. endpointName: 'refresh-linked-file',
  35. params: ['project_id'],
  36. maxRequests: 100,
  37. timeInterval: 60,
  38. }),
  39. LinkedFilesController.refreshLinkedFile
  40. )
  41. },
  42. }