renders.routes.js 4.5 KB

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