From b87fd5438eaaebd9e1f1a116122bcd72efb4d2d8 Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Fri, 20 Feb 2026 00:30:06 +0530 Subject: [PATCH] feat: verifyStatusPage middleware --- .../src/middleware/verifyStatusPageAccess.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 server/src/middleware/verifyStatusPageAccess.ts diff --git a/server/src/middleware/verifyStatusPageAccess.ts b/server/src/middleware/verifyStatusPageAccess.ts new file mode 100644 index 000000000..4b1627b0a --- /dev/null +++ b/server/src/middleware/verifyStatusPageAccess.ts @@ -0,0 +1,18 @@ +import { NextFunction, Request, Response } from "express"; +import { IStatusPagesRepository } from "@/repositories/index.js"; + +export const createVerifyStatusPageAccess = (statusPagesRepository: IStatusPagesRepository) => { + return async (req: Request, res: Response, next: NextFunction) => { + try { + const url = req.params.url; + const statusPage = await statusPagesRepository.findByUrl(url); + if (statusPage.isPublished) { + next(); // Published — proceed to controller (no JWT) + } else { + next("route"); // Unpublished — skip to next route (which has verifyJWT) + } + } catch (error) { + next(error); + } + }; +};