renders.routes.js 3.2 KB

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