deepsource-autofix-76c6eb20
Dan Gowans 2023-01-06 13:28:08 -05:00
parent 8b518669f7
commit b64bbd9bf3
3 changed files with 22 additions and 21 deletions

View File

@ -1,5 +1,4 @@
import type { RequestHandler, Response } from "express"; import type { RequestHandler } from "express";
export declare const forbiddenJSON: (response: Response) => Response;
export declare const adminGetHandler: RequestHandler; export declare const adminGetHandler: RequestHandler;
export declare const adminPostHandler: RequestHandler; export declare const adminPostHandler: RequestHandler;
export declare const updateGetHandler: RequestHandler; export declare const updateGetHandler: RequestHandler;

View File

@ -1,35 +1,35 @@
import * as configFunctions from "../helpers/functions.config.js"; import * as configFunctions from "../helpers/functions.config.js";
import * as userFunctions from "../helpers/functions.user.js"; import * as userFunctions from "../helpers/functions.user.js";
const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix"); const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix");
export const forbiddenJSON = (response) => { const forbiddenStatus = 403;
return response.status(403).json({ const forbiddenJSON = {
success: false, success: false,
message: "Forbidden" message: "Forbidden"
});
}; };
const forbiddenRedirectURL = urlPrefix + "/dashboard/?error=accessDenied";
export const adminGetHandler = (request, response, next) => { export const adminGetHandler = (request, response, next) => {
if (userFunctions.userIsAdmin(request)) { if (userFunctions.userIsAdmin(request)) {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard/?error=accessDenied"); return response.redirect(forbiddenRedirectURL);
}; };
export const adminPostHandler = (request, response, next) => { export const adminPostHandler = (request, response, next) => {
if (userFunctions.userIsAdmin(request)) { if (userFunctions.userIsAdmin(request)) {
return next(); return next();
} }
return response.json(forbiddenJSON); return response.status(forbiddenStatus).json(forbiddenJSON);
}; };
export const updateGetHandler = (request, response, next) => { export const updateGetHandler = (request, response, next) => {
if (userFunctions.userCanUpdate(request)) { if (userFunctions.userCanUpdate(request)) {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard/?error=accessDenied"); return response.redirect(forbiddenRedirectURL);
}; };
export const updatePostHandler = (request, response, next) => { export const updatePostHandler = (request, response, next) => {
if (userFunctions.userCanUpdate(request)) { if (userFunctions.userCanUpdate(request)) {
return next(); return next();
} }
return response.json(forbiddenJSON); return response.status(forbiddenStatus).json(forbiddenJSON);
}; };
export const apiGetHandler = async (request, response, next) => { export const apiGetHandler = async (request, response, next) => {
if (await userFunctions.apiKeyIsValid(request)) { if (await userFunctions.apiKeyIsValid(request)) {

View File

@ -1,4 +1,4 @@
import type { RequestHandler, Response } from "express"; import type { RequestHandler } from "express";
import * as configFunctions from "../helpers/functions.config.js"; import * as configFunctions from "../helpers/functions.config.js";
@ -6,19 +6,21 @@ import * as userFunctions from "../helpers/functions.user.js";
const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix"); const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix");
export const forbiddenJSON = (response: Response): Response => { const forbiddenStatus = 403;
return response.status(403).json({
const forbiddenJSON = {
success: false, success: false,
message: "Forbidden" message: "Forbidden"
});
}; };
const forbiddenRedirectURL = urlPrefix + "/dashboard/?error=accessDenied";
export const adminGetHandler: RequestHandler = (request, response, next) => { export const adminGetHandler: RequestHandler = (request, response, next) => {
if (userFunctions.userIsAdmin(request)) { if (userFunctions.userIsAdmin(request)) {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard/?error=accessDenied"); return response.redirect(forbiddenRedirectURL);
}; };
export const adminPostHandler: RequestHandler = (request, response, next) => { export const adminPostHandler: RequestHandler = (request, response, next) => {
@ -26,7 +28,7 @@ export const adminPostHandler: RequestHandler = (request, response, next) => {
return next(); return next();
} }
return response.json(forbiddenJSON); return response.status(forbiddenStatus).json(forbiddenJSON);
}; };
export const updateGetHandler: RequestHandler = (request, response, next) => { export const updateGetHandler: RequestHandler = (request, response, next) => {
@ -34,7 +36,7 @@ export const updateGetHandler: RequestHandler = (request, response, next) => {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard/?error=accessDenied"); return response.redirect(forbiddenRedirectURL);
}; };
export const updatePostHandler: RequestHandler = (request, response, next) => { export const updatePostHandler: RequestHandler = (request, response, next) => {
@ -42,7 +44,7 @@ export const updatePostHandler: RequestHandler = (request, response, next) => {
return next(); return next();
} }
return response.json(forbiddenJSON); return response.status(forbiddenStatus).json(forbiddenJSON);
}; };
export const apiGetHandler: RequestHandler = async (request, response, next) => { export const apiGetHandler: RequestHandler = async (request, response, next) => {