auth.routes.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. const { Router } = require("express");
  2. const validators = require("../handlers/validators.handler");
  3. const helpers = require("../handlers/helpers.handler");
  4. const asyncHandler = require("../utils/asyncHandler");
  5. const locals = require("../handlers/locals.handler");
  6. const auth = require("../handlers/auth.handler");
  7. const utils = require("../utils");
  8. const env = require("../env");
  9. const router = Router();
  10. router.post(
  11. "/login",
  12. locals.viewTemplate("partials/auth/form"),
  13. validators.login,
  14. asyncHandler(helpers.verify),
  15. asyncHandler(auth.local),
  16. asyncHandler(auth.login)
  17. );
  18. router.post(
  19. "/signup",
  20. locals.viewTemplate("partials/auth/form"),
  21. auth.featureAccess([!env.DISALLOW_REGISTRATION, env.MAIL_ENABLED]),
  22. validators.signup,
  23. asyncHandler(helpers.verify),
  24. asyncHandler(auth.signup)
  25. );
  26. router.post(
  27. "/create-admin",
  28. locals.viewTemplate("partials/auth/form_admin"),
  29. validators.createAdmin,
  30. asyncHandler(helpers.verify),
  31. asyncHandler(auth.createAdminUser)
  32. );
  33. router.post(
  34. "/change-password",
  35. locals.viewTemplate("partials/settings/change_password"),
  36. asyncHandler(auth.jwt),
  37. validators.changePassword,
  38. asyncHandler(helpers.verify),
  39. asyncHandler(auth.changePassword)
  40. );
  41. router.post(
  42. "/change-email",
  43. locals.viewTemplate("partials/settings/change_email"),
  44. asyncHandler(auth.jwt),
  45. auth.featureAccess([env.MAIL_ENABLED]),
  46. validators.changeEmail,
  47. asyncHandler(helpers.verify),
  48. asyncHandler(auth.changeEmailRequest)
  49. );
  50. router.post(
  51. "/apikey",
  52. locals.viewTemplate("partials/settings/apikey"),
  53. asyncHandler(auth.jwt),
  54. asyncHandler(auth.generateApiKey)
  55. );
  56. router.post(
  57. "/reset-password",
  58. locals.viewTemplate("partials/reset_password/form"),
  59. auth.featureAccess([env.MAIL_ENABLED]),
  60. validators.resetPassword,
  61. asyncHandler(helpers.verify),
  62. asyncHandler(auth.resetPasswordRequest)
  63. );
  64. module.exports = router;