renders.routes.js 2.8 KB

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