kutt/server/routes/renders.routes.js

151 lines
2.9 KiB
JavaScript
Raw Normal View History

2024-08-11 18:41:03 +03:30
const { Router } = require("express");
2024-08-31 12:19:39 +03:30
const helpers = require("../handlers/helpers.handler");
2024-09-08 14:10:02 +03:30
const renders = require("../handlers/renders.handler");
2024-09-09 18:43:12 +03:30
const asyncHandler = require("../utils/asyncHandler");
const locals = require("../handlers/locals.handler");
2024-08-21 21:22:59 +03:30
const auth = require("../handlers/auth.handler");
2024-08-11 18:41:03 +03:30
const router = Router();
2024-08-31 12:19:39 +03:30
// pages
router.get(
"/",
asyncHandler(auth.jwtLoose),
2024-09-12 14:26:39 +03:30
asyncHandler(locals.user),
2024-08-31 12:19:39 +03:30
asyncHandler(renders.homepage)
);
2024-08-11 18:41:03 +03:30
2024-08-31 12:19:39 +03:30
router.get(
"/login",
asyncHandler(auth.jwtLoose),
asyncHandler(renders.login)
);
router.get(
"/logout",
asyncHandler(auth.jwtLoose),
asyncHandler(renders.logout)
);
2024-09-08 14:10:02 +03:30
router.get(
"/404",
asyncHandler(auth.jwtLoose),
2024-09-12 14:26:39 +03:30
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.notFound)
);
2024-08-31 12:19:39 +03:30
router.get(
"/settings",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtPage),
asyncHandler(locals.user),
2024-08-31 12:19:39 +03:30
asyncHandler(renders.settings)
);
2024-09-08 14:10:02 +03:30
router.get(
"/stats",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtPage),
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.stats)
);
router.get(
"/banned",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtLoose),
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.banned)
);
router.get(
"/report",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtLoose),
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.report)
);
router.get(
"/reset-password",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtLoose),
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.resetPassword)
);
router.get(
"/reset-password/:resetPasswordToken",
asyncHandler(auth.resetPassword),
asyncHandler(auth.jwtLoose),
2024-09-12 14:26:39 +03:30
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.resetPasswordResult)
);
router.get(
"/verify-email/:changeEmailToken",
asyncHandler(auth.changeEmail),
asyncHandler(auth.jwtLoose),
2024-09-12 14:26:39 +03:30
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.verifyChangeEmail)
);
router.get(
"/verify/:verificationToken",
asyncHandler(auth.verify),
asyncHandler(auth.jwtLoose),
2024-09-12 14:26:39 +03:30
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.verify)
);
router.get(
"/terms",
2024-09-12 14:26:39 +03:30
asyncHandler(auth.jwtLoose),
asyncHandler(locals.user),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.terms)
);
2024-08-31 12:19:39 +03:30
// partial renders
router.get(
"/confirm-link-delete",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-08-31 12:19:39 +03:30
asyncHandler(auth.jwt),
asyncHandler(renders.confirmLinkDelete)
);
router.get(
"/confirm-link-ban",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-09-09 18:43:12 +03:30
locals.viewTemplate("partials/links/dialog/message"),
2024-08-31 12:19:39 +03:30
asyncHandler(auth.jwt),
asyncHandler(auth.admin),
asyncHandler(renders.confirmLinkBan)
);
router.get(
"/link/edit/:id",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-08-31 12:19:39 +03:30
asyncHandler(auth.jwt),
asyncHandler(renders.linkEdit)
);
router.get(
"/add-domain-form",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-08-31 12:19:39 +03:30
asyncHandler(auth.jwt),
asyncHandler(renders.addDomainForm)
);
router.get(
"/confirm-domain-delete",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-09-09 18:43:12 +03:30
locals.viewTemplate("partials/settings/domain/delete"),
2024-08-31 12:19:39 +03:30
asyncHandler(auth.jwt),
asyncHandler(renders.confirmDomainDelete)
);
2024-08-11 18:41:03 +03:30
2024-09-08 14:10:02 +03:30
router.get(
"/get-report-email",
2024-09-12 14:26:39 +03:30
locals.noLayout,
2024-09-09 18:43:12 +03:30
locals.viewTemplate("partials/report/email"),
2024-09-08 14:10:02 +03:30
asyncHandler(renders.getReportEmail)
);
2024-08-11 18:41:03 +03:30
module.exports = router;