| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- const { Router } = require("express");
- const asyncHandler = require("express-async-handler");
- const cors = require("cors");
- const validators = require("../handlers/validators.handler");
- const helpers = require("../handlers/helpers.handler");
- const locals = require("../handlers/locals.handler");
- const link = require("../handlers/links.handler");
- const auth = require("../handlers/auth.handler");
- const env = require("../env");
- const router = Router();
- router.get(
- "/",
- helpers.viewTemplate("partials/links/table"),
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- helpers.query,
- asyncHandler(link.get)
- );
- router.post(
- "/",
- cors(),
- helpers.viewTemplate("partials/shortener"),
- asyncHandler(auth.apikey),
- asyncHandler(env.DISALLOW_ANONYMOUS_LINKS ? auth.jwt : auth.jwtLoose),
- asyncHandler(auth.cooldown),
- locals.createLink,
- validators.createLink,
- asyncHandler(helpers.verify),
- asyncHandler(link.create)
- );
- router.patch(
- "/:id",
- helpers.viewTemplate("partials/links/edit"),
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- locals.editLink,
- validators.editLink,
- asyncHandler(helpers.verify),
- asyncHandler(link.edit)
- );
- router.delete(
- "/:id",
- helpers.viewTemplate("partials/links/dialog_delete"),
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- validators.deleteLink,
- asyncHandler(helpers.verify),
- asyncHandler(link.remove)
- );
- // router.get(
- // "/:id/stats",
- // asyncHandler(auth.apikey),
- // asyncHandler(auth.jwt),
- // validators.getStats,
- // asyncHandler(link.stats)
- // );
- // router.post(
- // "/:id/protected",
- // validators.redirectProtected,
- // asyncHandler(helpers.verify),
- // asyncHandler(link.redirectProtected)
- // );
- // router.post(
- // "/report",
- // validators.reportLink,
- // asyncHandler(helpers.verify),
- // asyncHandler(link.report)
- // );
- // router.post(
- // "/admin/ban/:id",
- // asyncHandler(auth.apikey),
- // asyncHandler(auth.jwt),
- // asyncHandler(auth.admin),
- // validators.banLink,
- // asyncHandler(helpers.verify),
- // asyncHandler(link.ban)
- // );
- module.exports = router;
|