mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-05-08 01:30:01 -05:00
39 lines
808 B
JavaScript
Executable File
39 lines
808 B
JavaScript
Executable File
import { Router } from "express";
|
|
import { verifyJWT } from "../middleware/verifyJWT.js";
|
|
import { isAllowed } from "../middleware/isAllowed.js";
|
|
|
|
class AnnouncementRoutes {
|
|
constructor(controller) {
|
|
this.router = Router();
|
|
this.announcementController = controller;
|
|
this.initRoutes();
|
|
}
|
|
|
|
initRoutes() {
|
|
/**
|
|
* @route POST /
|
|
* @desc Create a new announcement
|
|
* @access Private (Requires JWT verification)
|
|
*/
|
|
this.router.post(
|
|
"/",
|
|
verifyJWT,
|
|
isAllowed(["admin", "superadmin"]),
|
|
this.announcementController.createAnnouncement
|
|
);
|
|
|
|
/**
|
|
* @route GET /
|
|
* @desc Get announcements
|
|
* @access Public
|
|
*/
|
|
this.router.get("/", this.announcementController.getAnnouncement);
|
|
}
|
|
|
|
getRouter() {
|
|
return this.router;
|
|
}
|
|
}
|
|
|
|
export default AnnouncementRoutes;
|