auth.routes.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. "/change-password",
  28. locals.viewTemplate("partials/settings/change_password"),
  29. asyncHandler(auth.jwt),
  30. validators.changePassword,
  31. asyncHandler(helpers.verify),
  32. asyncHandler(auth.changePassword)
  33. );
  34. router.post(
  35. "/change-email",
  36. locals.viewTemplate("partials/settings/change_email"),
  37. asyncHandler(auth.jwt),
  38. auth.featureAccess([env.MAIL_ENABLED]),
  39. validators.changeEmail,
  40. asyncHandler(helpers.verify),
  41. asyncHandler(auth.changeEmailRequest)
  42. );
  43. router.post(
  44. "/apikey",
  45. locals.viewTemplate("partials/settings/apikey"),
  46. asyncHandler(auth.jwt),
  47. asyncHandler(auth.generateApiKey)
  48. );
  49. router.post(
  50. "/reset-password",
  51. locals.viewTemplate("partials/reset_password/form"),
  52. auth.featureAccess([env.MAIL_ENABLED]),
  53. validators.resetPassword,
  54. asyncHandler(helpers.verify),
  55. asyncHandler(auth.resetPasswordRequest)
  56. );
  57. module.exports = router;