| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { Router } from "express";
- import asyncHandler from "express-async-handler";
- import cors from "cors";
- import * as validators from "../handlers/validators";
- import * as helpers from "../handlers/helpers";
- import * as link from "../handlers/links";
- import * as auth from "../handlers/auth";
- const router = Router();
- router.get(
- "/",
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- helpers.query,
- asyncHandler(link.get)
- );
- router.post(
- "/",
- cors(),
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwtLoose),
- asyncHandler(auth.recaptcha),
- validators.createLink,
- asyncHandler(helpers.verify),
- asyncHandler(link.create)
- );
- router.delete(
- "/:id",
- 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)
- );
- export default router;
|