express-inventory-application/controllers/category.js

49 lines
1.3 KiB
JavaScript

const Category = require("../models/category.js");
const Item = require("../models/item.js");
const asyncHandler = require("express-async-handler");
exports.index = asyncHandler(async (req, res, next) => {
// get array of relevant variables for displaying category and its items
// get current category from URL
const category = await Category.findOne({
simpleName: req.params.category,
})
.lean()
.exec();
// check
if (category === null) {
const error = new Error("Category not found");
return next(error);
}
// get all items from category
const items = await Item.find({ category: category._id }).lean().exec();
// render with all relevant vars
res.render("category", {
category: category,
items: items,
});
});
exports.category_create_get = asyncHandler(async (req, res, next) => {
res.send("ligma");
});
exports.category_create_post = asyncHandler(async (req, res, next) => {
res.send("ligma");
});
exports.category_delete_get = asyncHandler(async (req, res, next) => {
res.send("ligma");
});
exports.category_delete_post = asyncHandler(async (req, res, next) => {
res.send("ligma");
});
exports.category_update_get = asyncHandler(async (req, res, next) => {
res.send("ligma");
});
exports.category_update_post = asyncHandler(async (req, res, next) => {
res.send("ligma");
});