renders.routes.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  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. "/admin",
  39. asyncHandler(auth.jwtPage),
  40. asyncHandler(auth.admin),
  41. asyncHandler(locals.user),
  42. asyncHandler(renders.admin)
  43. );
  44. router.get(
  45. "/stats",
  46. asyncHandler(auth.jwtPage),
  47. asyncHandler(locals.user),
  48. asyncHandler(renders.stats)
  49. );
  50. router.get(
  51. "/banned",
  52. asyncHandler(auth.jwtLoosePage),
  53. asyncHandler(locals.user),
  54. asyncHandler(renders.banned)
  55. );
  56. router.get(
  57. "/report",
  58. asyncHandler(auth.jwtLoosePage),
  59. asyncHandler(locals.user),
  60. asyncHandler(renders.report)
  61. );
  62. router.get(
  63. "/reset-password",
  64. auth.featureAccessPage([env.MAIL_ENABLED]),
  65. asyncHandler(auth.jwtLoosePage),
  66. asyncHandler(locals.user),
  67. asyncHandler(renders.resetPassword)
  68. );
  69. router.get(
  70. "/reset-password/:resetPasswordToken",
  71. asyncHandler(auth.resetPassword),
  72. asyncHandler(auth.jwtLoosePage),
  73. asyncHandler(locals.user),
  74. asyncHandler(renders.resetPasswordResult)
  75. );
  76. router.get(
  77. "/verify-email/:changeEmailToken",
  78. asyncHandler(auth.changeEmail),
  79. asyncHandler(auth.jwtLoosePage),
  80. asyncHandler(locals.user),
  81. asyncHandler(renders.verifyChangeEmail)
  82. );
  83. router.get(
  84. "/verify/:verificationToken",
  85. asyncHandler(auth.verify),
  86. asyncHandler(auth.jwtLoosePage),
  87. asyncHandler(locals.user),
  88. asyncHandler(renders.verify)
  89. );
  90. router.get(
  91. "/terms",
  92. asyncHandler(auth.jwtLoosePage),
  93. asyncHandler(locals.user),
  94. asyncHandler(renders.terms)
  95. );
  96. // partial renders
  97. router.get(
  98. "/confirm-link-delete",
  99. locals.noLayout,
  100. asyncHandler(auth.jwt),
  101. asyncHandler(renders.confirmLinkDelete)
  102. );
  103. router.get(
  104. "/confirm-link-ban",
  105. locals.noLayout,
  106. locals.viewTemplate("partials/links/dialog/message"),
  107. asyncHandler(auth.jwt),
  108. asyncHandler(auth.admin),
  109. asyncHandler(renders.confirmLinkBan)
  110. );
  111. router.get(
  112. "/confirm-user-delete",
  113. locals.noLayout,
  114. asyncHandler(auth.jwt),
  115. asyncHandler(auth.admin),
  116. asyncHandler(renders.confirmUserDelete)
  117. );
  118. router.get(
  119. "/confirm-user-ban",
  120. locals.noLayout,
  121. asyncHandler(auth.jwt),
  122. asyncHandler(auth.admin),
  123. asyncHandler(renders.confirmUserBan)
  124. );
  125. router.get(
  126. "/create-user",
  127. locals.noLayout,
  128. asyncHandler(auth.jwt),
  129. asyncHandler(auth.admin),
  130. asyncHandler(renders.createUser)
  131. );
  132. router.get(
  133. "/add-domain",
  134. locals.noLayout,
  135. asyncHandler(auth.jwt),
  136. asyncHandler(auth.admin),
  137. asyncHandler(renders.addDomainAdmin)
  138. );
  139. router.get(
  140. "/confirm-domain-ban",
  141. locals.noLayout,
  142. asyncHandler(auth.jwt),
  143. asyncHandler(auth.admin),
  144. asyncHandler(renders.confirmDomainBan)
  145. );
  146. router.get(
  147. "/confirm-domain-delete-admin",
  148. locals.noLayout,
  149. asyncHandler(auth.jwt),
  150. asyncHandler(auth.admin),
  151. asyncHandler(renders.confirmDomainDeleteAdmin)
  152. );
  153. router.get(
  154. "/link/edit/:id",
  155. locals.noLayout,
  156. asyncHandler(auth.jwt),
  157. asyncHandler(renders.linkEdit)
  158. );
  159. router.get(
  160. "/admin/link/edit/:id",
  161. locals.noLayout,
  162. asyncHandler(auth.jwt),
  163. asyncHandler(auth.admin),
  164. asyncHandler(renders.linkEditAdmin)
  165. );
  166. router.get(
  167. "/add-domain-form",
  168. locals.noLayout,
  169. asyncHandler(auth.jwt),
  170. asyncHandler(renders.addDomainForm)
  171. );
  172. router.get(
  173. "/confirm-domain-delete",
  174. locals.noLayout,
  175. locals.viewTemplate("partials/settings/domain/delete"),
  176. asyncHandler(auth.jwt),
  177. asyncHandler(renders.confirmDomainDelete)
  178. );
  179. router.get(
  180. "/get-report-email",
  181. locals.noLayout,
  182. locals.viewTemplate("partials/report/email"),
  183. asyncHandler(renders.getReportEmail)
  184. );
  185. router.get(
  186. "/get-support-email",
  187. locals.noLayout,
  188. locals.viewTemplate("partials/support_email"),
  189. asyncHandler(renders.getSupportEmail)
  190. );
  191. module.exports = router;