domain.routes.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. const { Router } = require("express");
  2. const validators = require("../handlers/validators.handler");
  3. const helpers = require("../handlers/helpers.handler");
  4. const domains = require("../handlers/domains.handler");
  5. const asyncHandler = require("../utils/asyncHandler");
  6. const locals = require("../handlers/locals.handler");
  7. const auth = require("../handlers/auth.handler");
  8. const router = Router();
  9. router.get(
  10. "/admin",
  11. locals.viewTemplate("partials/admin/domains/table"),
  12. asyncHandler(auth.apikey),
  13. asyncHandler(auth.jwt),
  14. asyncHandler(auth.admin),
  15. helpers.parseQuery,
  16. locals.adminTable,
  17. asyncHandler(domains.getAdmin)
  18. );
  19. router.post(
  20. "/",
  21. locals.viewTemplate("partials/settings/domain/add_form"),
  22. asyncHandler(auth.apikey),
  23. asyncHandler(auth.jwt),
  24. validators.addDomain,
  25. asyncHandler(helpers.verify),
  26. asyncHandler(domains.add)
  27. );
  28. router.post(
  29. "/admin",
  30. locals.viewTemplate("partials/admin/dialog/add_domain"),
  31. asyncHandler(auth.apikey),
  32. asyncHandler(auth.jwt),
  33. asyncHandler(auth.admin),
  34. validators.addDomainAdmin,
  35. asyncHandler(helpers.verify),
  36. asyncHandler(domains.addAdmin)
  37. );
  38. router.delete(
  39. "/:id",
  40. locals.viewTemplate("partials/settings/domain/delete"),
  41. asyncHandler(auth.apikey),
  42. asyncHandler(auth.jwt),
  43. validators.removeDomain,
  44. asyncHandler(helpers.verify),
  45. asyncHandler(domains.remove)
  46. );
  47. router.delete(
  48. "/admin/:id",
  49. locals.viewTemplate("partials/admin/dialog/delete_domain"),
  50. asyncHandler(auth.apikey),
  51. asyncHandler(auth.jwt),
  52. asyncHandler(auth.admin),
  53. validators.removeDomainAdmin,
  54. asyncHandler(helpers.verify),
  55. asyncHandler(domains.removeAdmin)
  56. );
  57. router.post(
  58. "/admin/ban/:id",
  59. locals.viewTemplate("partials/admin/dialog/ban_domain"),
  60. asyncHandler(auth.apikey),
  61. asyncHandler(auth.jwt),
  62. asyncHandler(auth.admin),
  63. validators.banDomain,
  64. asyncHandler(helpers.verify),
  65. asyncHandler(domains.ban)
  66. );
  67. module.exports = router;