links.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const { Router } = require("express");
  2. const asyncHandler = require("express-async-handler");
  3. const cors = require("cors");
  4. const validators = require("../handlers/validators");
  5. const helpers = require("../handlers/helpers");
  6. const link = require("../handlers/links");
  7. const auth = require("../handlers/auth");
  8. const env = require("../env");
  9. const router = Router();
  10. // router.get(
  11. // "/",
  12. // asyncHandler(auth.apikey),
  13. // asyncHandler(auth.jwt),
  14. // helpers.query,
  15. // asyncHandler(link.get)
  16. // );
  17. router.post(
  18. "/",
  19. cors(),
  20. asyncHandler(auth.apikey),
  21. asyncHandler(env.DISALLOW_ANONYMOUS_LINKS ? auth.jwt : auth.jwtLoose),
  22. asyncHandler(auth.cooldown),
  23. validators.createLink,
  24. asyncHandler(helpers.verify()),
  25. asyncHandler(link.create)
  26. );
  27. // router.patch(
  28. // "/:id",
  29. // asyncHandler(auth.apikey),
  30. // asyncHandler(auth.jwt),
  31. // validators.editLink,
  32. // asyncHandler(helpers.verify),
  33. // asyncHandler(link.edit)
  34. // );
  35. // router.delete(
  36. // "/:id",
  37. // asyncHandler(auth.apikey),
  38. // asyncHandler(auth.jwt),
  39. // validators.deleteLink,
  40. // asyncHandler(helpers.verify),
  41. // asyncHandler(link.remove)
  42. // );
  43. // router.get(
  44. // "/:id/stats",
  45. // asyncHandler(auth.apikey),
  46. // asyncHandler(auth.jwt),
  47. // validators.getStats,
  48. // asyncHandler(link.stats)
  49. // );
  50. // router.post(
  51. // "/:id/protected",
  52. // validators.redirectProtected,
  53. // asyncHandler(helpers.verify),
  54. // asyncHandler(link.redirectProtected)
  55. // );
  56. // router.post(
  57. // "/report",
  58. // validators.reportLink,
  59. // asyncHandler(helpers.verify),
  60. // asyncHandler(link.report)
  61. // );
  62. // router.post(
  63. // "/admin/ban/:id",
  64. // asyncHandler(auth.apikey),
  65. // asyncHandler(auth.jwt),
  66. // asyncHandler(auth.admin),
  67. // validators.banLink,
  68. // asyncHandler(helpers.verify),
  69. // asyncHandler(link.ban)
  70. // );
  71. module.exports = router;