LaunchpadRouter.mjs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import logger from '@overleaf/logger'
  2. import LaunchpadController from './LaunchpadController.mjs'
  3. import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.js'
  4. import AuthorizationMiddleware from '../../../../app/src/Features/Authorization/AuthorizationMiddleware.js'
  5. export default {
  6. apply(webRouter) {
  7. logger.debug({}, 'Init launchpad router')
  8. webRouter.get('/launchpad', LaunchpadController.launchpadPage)
  9. webRouter.post(
  10. '/launchpad/register_admin',
  11. LaunchpadController.registerAdmin
  12. )
  13. webRouter.post(
  14. '/launchpad/register_ldap_admin',
  15. LaunchpadController.registerExternalAuthAdmin('ldap')
  16. )
  17. webRouter.post(
  18. '/launchpad/register_saml_admin',
  19. LaunchpadController.registerExternalAuthAdmin('saml')
  20. )
  21. webRouter.post(
  22. '/launchpad/send_test_email',
  23. AuthorizationMiddleware.ensureUserIsSiteAdmin,
  24. LaunchpadController.sendTestEmail
  25. )
  26. if (AuthenticationController.addEndpointToLoginWhitelist) {
  27. AuthenticationController.addEndpointToLoginWhitelist('/launchpad')
  28. AuthenticationController.addEndpointToLoginWhitelist(
  29. '/launchpad/register_admin'
  30. )
  31. AuthenticationController.addEndpointToLoginWhitelist(
  32. '/launchpad/register_ldap_admin'
  33. )
  34. AuthenticationController.addEndpointToLoginWhitelist(
  35. '/launchpad/register_saml_admin'
  36. )
  37. }
  38. },
  39. }