fix(app): required auth was in wrong spot caused entire app to want you logged in

This commit is contained in:
2026-05-12 12:02:59 -05:00
parent a9c69250bd
commit d2a9e1d110
12 changed files with 31 additions and 48 deletions

View File

@@ -3,16 +3,14 @@ import { requireAuth } from "../middleware/auth.middleware.js";
import build from "./admin.build.js"; import build from "./admin.build.js";
import update from "./admin.updateServer.js"; import update from "./admin.updateServer.js";
import users from "./admin.users.js";
export const setupAdminRoutes = (baseUrl: string, app: Express) => { export const setupAdminRoutes = (baseUrl: string, app: Express) => {
//stats will be like this as we dont need to change this //stats will be like this as we dont need to change this
app.use(`${baseUrl}/api/admin/build`, requireAuth, build);
app.use(
`${baseUrl}/api/admin/build`,
requireAuth,
update, app.use(`${baseUrl}/api/admin/build`, requireAuth, build);
); app.use(`${baseUrl}/api/admin/build`, requireAuth, update);
app.use(`${baseUrl}/api/admin/user`, requireAuth, users);
// all other system should be under /api/system/* // all other system should be under /api/system/*
}; };

View File

@@ -34,7 +34,6 @@ const createApp = async () => {
app.use(routeHitMiddleware); app.use(routeHitMiddleware);
app.all(`${baseUrl}/api/auth/*splat`, toNodeHandler(auth)); app.all(`${baseUrl}/api/auth/*splat`, toNodeHandler(auth));
app.use(express.json()); app.use(express.json());
setupRoutes(baseUrl, app);
app.get(`${baseUrl}/api/lst-config.js`, (_, res) => { app.get(`${baseUrl}/api/lst-config.js`, (_, res) => {
res.type("application/javascript"); res.type("application/javascript");
@@ -52,6 +51,8 @@ const createApp = async () => {
`); `);
}); });
setupRoutes(baseUrl, app);
app.use( app.use(
`${baseUrl}/app`, `${baseUrl}/app`,
express.static(join(__dirname, "../frontend/dist")), express.static(join(__dirname, "../frontend/dist")),

View File

@@ -8,11 +8,10 @@ export const setupGPSqlRoutes = (baseUrl: string, app: Express) => {
//setup all the routes //setup all the routes
// Apply auth to entire router // Apply auth to entire router
const router = Router(); const router = Router();
router.use(requireAuth);
router.use(start); router.use(start);
router.use(stop); router.use(stop);
router.use(restart); router.use(restart);
app.use(`${baseUrl}/api/system/gpSql`, router); app.use(`${baseUrl}/api/system/gpSql`, requireAuth, router);
}; };

View File

@@ -43,7 +43,7 @@ const parseZebraAlert = (body: any): PrinterEvent => {
}; };
}; };
r.post("/printer/listener/:printer", upload.any(), async (req, res) => { r.post("/:printer", upload.any(), async (req, res) => {
const { printer: printerName } = req.params; const { printer: printerName } = req.params;
const event: PrinterEvent = parseZebraAlert(req.body); const event: PrinterEvent = parseZebraAlert(req.body);

View File

@@ -21,7 +21,7 @@ import { printerSync } from "./ocp.printer.manage.js";
const r = Router(); const r = Router();
r.post("/printer/update", async (_, res) => { r.post("/update", async (_, res) => {
printerSync(); printerSync();
return apiReturn(res, { return apiReturn(res, {
success: true, success: true,

View File

@@ -1,4 +1,4 @@
import { type Express, Router } from "express"; import type { Express } from "express";
import { requireAuth } from "../middleware/auth.middleware.js"; import { requireAuth } from "../middleware/auth.middleware.js";
import { featureCheck } from "../middleware/featureActive.middleware.js"; import { featureCheck } from "../middleware/featureActive.middleware.js";
@@ -6,20 +6,11 @@ import listener from "./ocp.printer.listener.js";
import update from "./ocp.printer.update.js"; import update from "./ocp.printer.update.js";
export const setupOCPRoutes = (baseUrl: string, app: Express) => { export const setupOCPRoutes = (baseUrl: string, app: Express) => {
//setup all the routes app.use(`${baseUrl}/api/ocp/printer/listener`, featureCheck("ocp"), listener);
const router = Router(); app.use(
`${baseUrl}/api/ocp/printer`,
// is the feature even on? featureCheck("ocp"),
router.use(featureCheck("ocp")); requireAuth,
update,
// non auth routes up here );
router.use(listener);
// auth routes below here
router.use(requireAuth);
router.use(update);
//router.use("");
app.use(`${baseUrl}/api/ocp`, router);
}; };

View File

@@ -1,4 +1,4 @@
import { type Express, Router } from "express"; import type { Express } from "express";
import { requireAuth } from "../middleware/auth.middleware.js"; import { requireAuth } from "../middleware/auth.middleware.js";
import { featureCheck } from "../middleware/featureActive.middleware.js"; import { featureCheck } from "../middleware/featureActive.middleware.js";
@@ -6,15 +6,11 @@ import getApt from "./opendockGetRelease.route.js";
export const setupOpendockRoutes = (baseUrl: string, app: Express) => { export const setupOpendockRoutes = (baseUrl: string, app: Express) => {
//setup all the routes //setup all the routes
// Apply auth to entire router
const router = Router();
// is the feature even on? app.use(
router.use(featureCheck("opendock_sync")); `${baseUrl}/api/opendock`,
featureCheck("opendock_sync"),
// we need to make sure we are authenticated to see the releases requireAuth,
router.use(requireAuth); getApt,
);
router.use(getApt);
app.use(`${baseUrl}/api/opendock`, router);
}; };

View File

@@ -10,9 +10,7 @@ export const setupProdSqlRoutes = (baseUrl: string, app: Express) => {
const router = Router(); const router = Router();
router.use(requireAuth); router.use(requireAuth);
router.use(start); app.use(`${baseUrl}/api/system/prodSql/start`, requireAuth, start);
router.use(stop); app.use(`${baseUrl}/api/system/prodSql/stop`, requireAuth, stop);
router.use(restart); app.use(`${baseUrl}/api/system/prodSql/restart`, requireAuth, restart);
app.use(`${baseUrl}/api/system/prodSql`, router);
}; };

View File

@@ -4,7 +4,7 @@ import { closePool, connectProdSql } from "./prodSqlConnection.controller.js";
const r = Router(); const r = Router();
r.post("/restart", async (_, res) => { r.post("/", async (_, res) => {
await closePool(); await closePool();
await new Promise((r) => setTimeout(r, 2000)); await new Promise((r) => setTimeout(r, 2000));

View File

@@ -4,7 +4,7 @@ import { connectProdSql } from "./prodSqlConnection.controller.js";
const r = Router(); const r = Router();
r.post("/start", async (_, res) => { r.post("/", async (_, res) => {
const connect = await connectProdSql(); const connect = await connectProdSql();
apiReturn(res, { apiReturn(res, {
success: connect.success, success: connect.success,

View File

@@ -4,7 +4,7 @@ import { closePool } from "./prodSqlConnection.controller.js";
const r = Router(); const r = Router();
r.post("/stop", async (_, res) => { r.post("/", async (_, res) => {
const connect = await closePool(); const connect = await closePool();
apiReturn(res, { apiReturn(res, {
success: connect.success, success: connect.success,

View File

@@ -16,6 +16,7 @@ import { setupUtilsRoutes } from "./utils/utils.routes.js";
export const setupRoutes = (baseUrl: string, app: Express) => { export const setupRoutes = (baseUrl: string, app: Express) => {
//routes that are on by default //routes that are on by default
setupMobileRoutes(baseUrl, app);
setupSystemRoutes(baseUrl, app); setupSystemRoutes(baseUrl, app);
setupAdminRoutes(baseUrl, app); setupAdminRoutes(baseUrl, app);
setupApiDocsRoutes(baseUrl, app); setupApiDocsRoutes(baseUrl, app);
@@ -28,5 +29,4 @@ export const setupRoutes = (baseUrl: string, app: Express) => {
setupNotificationRoutes(baseUrl, app); setupNotificationRoutes(baseUrl, app);
setupOCPRoutes(baseUrl, app); setupOCPRoutes(baseUrl, app);
setupTCPRoutes(baseUrl, app); setupTCPRoutes(baseUrl, app);
setupMobileRoutes(baseUrl, app);
}; };