renders.routes.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. const asyncHandler = require("express-async-handler");
  2. const { Router } = require("express");
  3. const helpers = require("../handlers/helpers.handler");
  4. const renders = require("../handlers/renders.handler");
  5. const auth = require("../handlers/auth.handler");
  6. const router = Router();
  7. // pages
  8. router.get(
  9. "/",
  10. asyncHandler(auth.jwtLoose),
  11. asyncHandler(helpers.addUserLocals),
  12. asyncHandler(renders.homepage)
  13. );
  14. router.get(
  15. "/login",
  16. asyncHandler(auth.jwtLoose),
  17. asyncHandler(renders.login)
  18. );
  19. router.get(
  20. "/logout",
  21. asyncHandler(auth.jwtLoose),
  22. asyncHandler(renders.logout)
  23. );
  24. router.get(
  25. "/404",
  26. asyncHandler(auth.jwtLoose),
  27. asyncHandler(renders.notFound)
  28. );
  29. router.get(
  30. "/settings",
  31. asyncHandler(auth.jwtLoose),
  32. asyncHandler(helpers.addUserLocals),
  33. asyncHandler(renders.settings)
  34. );
  35. router.get(
  36. "/stats",
  37. asyncHandler(auth.jwtLoose),
  38. asyncHandler(helpers.addUserLocals),
  39. asyncHandler(renders.stats)
  40. );
  41. router.get(
  42. "/banned",
  43. asyncHandler(renders.banned)
  44. );
  45. router.get(
  46. "/report",
  47. asyncHandler(renders.report)
  48. );
  49. router.get(
  50. "/reset-password",
  51. asyncHandler(renders.resetPassword)
  52. );
  53. router.get(
  54. "/reset-password/:resetPasswordToken",
  55. asyncHandler(auth.resetPassword),
  56. asyncHandler(auth.jwtLoose),
  57. asyncHandler(helpers.addUserLocals),
  58. asyncHandler(renders.resetPasswordResult)
  59. );
  60. router.get(
  61. "/verify-email/:changeEmailToken",
  62. asyncHandler(auth.changeEmail),
  63. asyncHandler(auth.jwtLoose),
  64. asyncHandler(helpers.addUserLocals),
  65. asyncHandler(renders.verifyChangeEmail)
  66. );
  67. router.get(
  68. "/verify/:verificationToken",
  69. asyncHandler(auth.verify),
  70. asyncHandler(auth.jwtLoose),
  71. asyncHandler(helpers.addUserLocals),
  72. asyncHandler(renders.verify)
  73. );
  74. router.get(
  75. "/terms",
  76. asyncHandler(renders.terms)
  77. );
  78. // partial renders
  79. router.get(
  80. "/confirm-link-delete",
  81. helpers.addNoLayoutLocals,
  82. asyncHandler(auth.jwt),
  83. asyncHandler(renders.confirmLinkDelete)
  84. );
  85. router.get(
  86. "/confirm-link-ban",
  87. helpers.addNoLayoutLocals,
  88. helpers.viewTemplate("partials/links/dialog/message"),
  89. asyncHandler(auth.jwt),
  90. asyncHandler(auth.admin),
  91. asyncHandler(renders.confirmLinkBan)
  92. );
  93. router.get(
  94. "/link/edit/:id",
  95. helpers.addNoLayoutLocals,
  96. asyncHandler(auth.jwt),
  97. asyncHandler(renders.linkEdit)
  98. );
  99. router.get(
  100. "/add-domain-form",
  101. helpers.addNoLayoutLocals,
  102. asyncHandler(auth.jwt),
  103. asyncHandler(renders.addDomainForm)
  104. );
  105. router.get(
  106. "/confirm-domain-delete",
  107. helpers.addNoLayoutLocals,
  108. helpers.viewTemplate("partials/settings/domain/delete"),
  109. asyncHandler(auth.jwt),
  110. asyncHandler(renders.confirmDomainDelete)
  111. );
  112. router.get(
  113. "/get-report-email",
  114. helpers.addNoLayoutLocals,
  115. helpers.viewTemplate("partials/report/email"),
  116. asyncHandler(renders.getReportEmail)
  117. );
  118. module.exports = router;