import { Router } from "express";
import { notesUpload } from "../middleware/multerConfig.ts";
import { permit, protect } from "../middleware/auth.middleware.ts";
import { createNotesLink, getAllNotesLinks, getNotesLinkById, updateVerificationStatus, updateNotesLink, deleteNotesLink, reportNotesLink } from "../controllers/notesLinks.controller.ts";

const router = Router();

router.post( "/", protect, permit("Admin", "Institution", "Staff"), notesUpload.array("files", 10), createNotesLink);

router.get("/", protect, getAllNotesLinks);

router.get("/:id", protect, getNotesLinkById);

router.patch( "/:id/verify", protect, permit("Admin"), updateVerificationStatus);

router.put( "/:id", protect, permit("Admin", "Institution", "Staff"), notesUpload.array("files", 10), updateNotesLink);

router.delete( "/:id", protect, permit("Admin", "Institution", "Staff"), deleteNotesLink);

router.post( "/:id/report", protect, permit("Student"), reportNotesLink);

export default router;