mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-05-18 23:48:43 -05:00
feat: API Middleware
This commit is contained in:
@@ -6,18 +6,21 @@ class StatusPageRoutes {
|
||||
private router: Router;
|
||||
private statusPageController: any;
|
||||
|
||||
constructor(statusPageController: any, verifyJWT: RequestHandler) {
|
||||
constructor(statusPageController: any, verifyJWT: RequestHandler, verifyStatusPageAccess: RequestHandler) {
|
||||
this.router = Router();
|
||||
this.statusPageController = statusPageController;
|
||||
this.initRoutes(verifyJWT);
|
||||
this.initRoutes(verifyJWT, verifyStatusPageAccess);
|
||||
}
|
||||
|
||||
initRoutes(verifyJWT: RequestHandler) {
|
||||
initRoutes(verifyJWT: RequestHandler, verifyStatusPageAccess: RequestHandler) {
|
||||
this.router.get("/team", verifyJWT, this.statusPageController.getStatusPagesByTeamId);
|
||||
|
||||
this.router.post("/", upload.single("logo"), verifyJWT, this.statusPageController.createStatusPage);
|
||||
this.router.put("/:id", upload.single("logo"), verifyJWT, this.statusPageController.updateStatusPage);
|
||||
|
||||
// Route 1: published pages — no JWT
|
||||
this.router.get("/:url", verifyStatusPageAccess, this.statusPageController.getStatusPageByUrl);
|
||||
// Route 2: unpublished pages — JWT required (reached via next("route"))
|
||||
this.router.get("/:url", verifyJWT, this.statusPageController.getStatusPageByUrl);
|
||||
this.router.delete("/:id", verifyJWT, this.statusPageController.deleteStatusPage);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user