23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
const router = require("express").Router();
|
|
const controller = require("../controllers/lists.controller");
|
|
const auth = require("../middleware/auth");
|
|
const requireRole = require("../middleware/rbac");
|
|
const { ROLES } = require("../models/user.model");
|
|
const User = require("../models/user.model");
|
|
const { upload, processImage } = require("../middleware/image");
|
|
|
|
|
|
|
|
router.get("/", auth, requireRole(...Object.values(ROLES)), controller.getList);
|
|
router.get("/item-by-name", auth, requireRole(...Object.values(ROLES)), controller.getItemByName);
|
|
router.get("/suggest", auth, requireRole(...Object.values(ROLES)), controller.getSuggestions);
|
|
router.get("/recently-bought", auth, requireRole(...Object.values(ROLES)), controller.getRecentlyBought);
|
|
|
|
|
|
router.post("/add", auth, requireRole(ROLES.EDITOR, ROLES.ADMIN), upload.single("image"), processImage, controller.addItem);
|
|
router.post("/update-image", auth, requireRole(ROLES.EDITOR, ROLES.ADMIN), upload.single("image"), processImage, controller.updateItemImage);
|
|
router.post("/mark-bought", auth, requireRole(ROLES.EDITOR, ROLES.ADMIN), controller.markBought);
|
|
|
|
|
|
module.exports = router;
|