| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import asyncHandler from "express-async-handler";
- import { Router } from "express";
- import cors from "cors";
- import {
- validateUrl,
- ipCooldownCheck
- } from "./controllers/validateBodyController";
- import * as auth from "../handlers/auth";
- import * as link from "./controllers/linkController";
- import env from "../env";
- const router = Router();
- /* URL shortener */
- router.post(
- "/url/submit",
- cors(),
- asyncHandler(auth.apikey),
- asyncHandler(env.DISALLOW_ANONYMOUS_LINKS ? auth.jwt : auth.jwtLoose),
- asyncHandler(auth.recaptcha),
- asyncHandler(validateUrl),
- asyncHandler(ipCooldownCheck),
- asyncHandler(link.shortener)
- );
- router.post(
- "/url/deleteurl",
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- asyncHandler(link.deleteUserLink)
- );
- router.get(
- "/url/geturls",
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- asyncHandler(link.getUserLinks)
- );
- router.post(
- "/url/customdomain",
- asyncHandler(auth.jwt),
- asyncHandler(link.setCustomDomain)
- );
- router.delete(
- "/url/customdomain",
- asyncHandler(auth.jwt),
- asyncHandler(link.deleteCustomDomain)
- );
- router.get(
- "/url/stats",
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- asyncHandler(link.getLinkStats)
- );
- router.post("/url/requesturl", asyncHandler(link.goToLink));
- router.post("/url/report", asyncHandler(link.reportLink));
- router.post(
- "/url/admin/ban",
- asyncHandler(auth.apikey),
- asyncHandler(auth.jwt),
- asyncHandler(auth.admin),
- asyncHandler(link.ban)
- );
- export default router;
|