added delete function to product table
This commit is contained in:
@@ -35,6 +35,7 @@ CREATE TABLE IF NOT EXISTS products (
|
||||
picture VARCHAR(500) DEFAULT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted BOOLEAN DEFAULT FALSE NOT NULL,
|
||||
FOREIGN KEY (storage_location) REFERENCES storage_locations(uuid) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ export const allProducts = async () => {
|
||||
p.updated_at
|
||||
FROM products p
|
||||
JOIN storage_locations s ON p.storage_location = s.uuid
|
||||
WHERE p.deleted = 0
|
||||
`);
|
||||
|
||||
if (result.length > 0) {
|
||||
@@ -137,3 +138,16 @@ export const updateItem = async (itemUUID, newValues) => {
|
||||
return { code: "ep005" }; // error
|
||||
}
|
||||
};
|
||||
|
||||
export const deleteProduct = async (uuid) => {
|
||||
const [result] = await pool.query(
|
||||
`UPDATE products SET deleted = 1 WHERE uuid = UUID_TO_BIN(?);`,
|
||||
[uuid],
|
||||
);
|
||||
|
||||
if (result.affectedRows > 0) {
|
||||
return { code: "sp006" }; // success
|
||||
} else {
|
||||
return { code: "ep006" }; // error
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@ import dotenv from "dotenv";
|
||||
import { authenticate } from "../../services/tokenService.js";
|
||||
import {
|
||||
allProducts,
|
||||
deleteProduct,
|
||||
newProduct,
|
||||
productDetails,
|
||||
setAmount,
|
||||
@@ -147,4 +148,33 @@ router.post("/mutate/update-item", authenticate, async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/delete-selection", authenticate, async (req, res) => {
|
||||
let isError = false;
|
||||
const uuidArray = req.body;
|
||||
|
||||
for (const uuid of uuidArray) {
|
||||
const response = await deleteProduct(uuid);
|
||||
if (response.code === "ep006" || !response) {
|
||||
isError = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isError === false) {
|
||||
res.status(202).json({
|
||||
success: true,
|
||||
code: "sp006",
|
||||
data: null,
|
||||
message: "",
|
||||
});
|
||||
} else {
|
||||
res.status(500).json({
|
||||
success: false,
|
||||
code: "ep006",
|
||||
data: null,
|
||||
message: "",
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user