| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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";
- const router = Router();
- /* URL shortener */
- router.post(
- "/url/submit",
- cors(),
- asyncHandler(auth.apikey),
- asyncHandler(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;
|