move initial admin setup to a middleware function
This commit is contained in:
parent
ab10fe8291
commit
b7cdeba6ca
@ -3,6 +3,7 @@ const { rateLimit: expressRateLimit } = require("express-rate-limit");
|
||||
const { validationResult } = require("express-validator");
|
||||
|
||||
const { CustomError } = require("../utils");
|
||||
const query = require("../queries");
|
||||
const redis = require("../redis");
|
||||
const env = require("../env");
|
||||
|
||||
@ -122,7 +123,19 @@ function rateLimit(params) {
|
||||
});
|
||||
}
|
||||
|
||||
// redirect to create admin page if the kutt instance is ran for the first time
|
||||
async function adminSetup(req, res, next) {
|
||||
const isThereAUser = req.user || (await query.user.findAny());
|
||||
if (isThereAUser) {
|
||||
next();
|
||||
return;
|
||||
}
|
||||
|
||||
res.redirect("/create-admin");
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
adminSetup,
|
||||
error,
|
||||
parseQuery,
|
||||
rateLimit,
|
||||
|
@ -9,14 +9,6 @@ const env = require("../env");
|
||||
**/
|
||||
|
||||
async function homepage(req, res) {
|
||||
// redirect to create admin page if the kutt instance is ran for the first time
|
||||
const isThereAUser = await query.user.findAny();
|
||||
if (!isThereAUser) {
|
||||
res.redirect("/create-admin");
|
||||
return;
|
||||
}
|
||||
|
||||
// render homepage if none above is true
|
||||
res.render("homepage", {
|
||||
title: "Modern open source URL shortener",
|
||||
});
|
||||
@ -27,12 +19,6 @@ async function login(req, res) {
|
||||
res.redirect("/");
|
||||
return;
|
||||
}
|
||||
|
||||
const isThereAUser = await query.user.findAny();
|
||||
if (!isThereAUser) {
|
||||
res.redirect("/create-admin");
|
||||
return;
|
||||
}
|
||||
|
||||
res.render("login", {
|
||||
title: "Log in or sign up"
|
||||
|
@ -13,6 +13,7 @@ const router = Router();
|
||||
router.get(
|
||||
"/",
|
||||
asyncHandler(auth.jwtLoosePage),
|
||||
asyncHandler(helpers.adminSetup),
|
||||
asyncHandler(locals.user),
|
||||
asyncHandler(renders.homepage)
|
||||
);
|
||||
@ -20,6 +21,7 @@ router.get(
|
||||
router.get(
|
||||
"/login",
|
||||
asyncHandler(auth.jwtLoosePage),
|
||||
asyncHandler(helpers.adminSetup),
|
||||
asyncHandler(renders.login)
|
||||
);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user