Compare commits
2 Commits
755ebfd06b
...
5159877d8d
Author | SHA1 | Date | |
---|---|---|---|
5159877d8d | |||
b3ddfd9aa5 |
@@ -24,7 +24,11 @@ import {
|
||||
} from "lucide-react";
|
||||
import Cookies from "js-cookie";
|
||||
import { useState, useEffect } from "react";
|
||||
import { deleteItem, handleEditItems } from "@/utils/userActions";
|
||||
import {
|
||||
deleteItem,
|
||||
handleEditItems,
|
||||
changeSafeState,
|
||||
} from "@/utils/userActions";
|
||||
import AddItemForm from "./AddItemForm";
|
||||
import { formatDateTime } from "@/utils/userFuncs";
|
||||
|
||||
@@ -211,6 +215,12 @@ const ItemTable: React.FC = () => {
|
||||
/>
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
onClick={() =>
|
||||
changeSafeState(item.id).then(() => setReload(!reload))
|
||||
}
|
||||
size="sm"
|
||||
>
|
||||
{item.inSafe ? (
|
||||
<Tag.Root
|
||||
size="md"
|
||||
@@ -260,6 +270,7 @@ const ItemTable: React.FC = () => {
|
||||
</Text>
|
||||
</Tag.Root>
|
||||
)}
|
||||
</Button>
|
||||
</Table.Cell>
|
||||
<Table.Cell>{formatDateTime(item.entry_created_at)}</Table.Cell>
|
||||
<Table.Cell>
|
||||
@@ -273,8 +284,13 @@ const ItemTable: React.FC = () => {
|
||||
if (response.success) {
|
||||
setError(
|
||||
"success",
|
||||
"User edited",
|
||||
"The user has been successfully edited."
|
||||
"Gegenstand erfolgreich bearbeitet!",
|
||||
"Gegenstand " +
|
||||
'"' +
|
||||
item.item_name +
|
||||
'" mit ID ' +
|
||||
item.id +
|
||||
" bearbeitet."
|
||||
);
|
||||
}
|
||||
})
|
||||
|
@@ -163,9 +163,41 @@ export const handleEditItems = async (
|
||||
can_borrow_role: string
|
||||
) => {
|
||||
try {
|
||||
// write the logic for editing an item
|
||||
const response = await fetch("http://localhost:8002/api/updateItemByID", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${Cookies.get("token")}`,
|
||||
},
|
||||
body: JSON.stringify({ itemId, item_name, can_borrow_role }),
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Failed to edit item");
|
||||
}
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
console.error("Error editing item:", error);
|
||||
return { success: false };
|
||||
}
|
||||
};
|
||||
|
||||
export const changeSafeState = async (itemId: number) => {
|
||||
try {
|
||||
const response = await fetch(
|
||||
`http://localhost:8002/api/changeSafeState/${itemId}`,
|
||||
{
|
||||
method: "PUT",
|
||||
headers: {
|
||||
Authorization: `Bearer ${Cookies.get("token")}`,
|
||||
},
|
||||
}
|
||||
);
|
||||
if (!response.ok) {
|
||||
throw new Error("Failed to change safe state");
|
||||
}
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
console.error("Error changing safe state:", error);
|
||||
return { success: false };
|
||||
}
|
||||
};
|
||||
|
@@ -309,18 +309,19 @@ router.post("/changePWadmin", authenticate, async (req, res) => {
|
||||
});
|
||||
|
||||
router.post("/updateItemByID", authenticate, async (req, res) => {
|
||||
const itemId = req.body.id;
|
||||
const { item_name, can_borrow_role } = req.body || {};
|
||||
const result = await updateItemByID(itemId, item_name, can_borrow_role);
|
||||
const role = req.body.can_borrow_role;
|
||||
const itemId = req.body.itemId;
|
||||
const item_name = req.body.item_name;
|
||||
const result = await updateItemByID(itemId, item_name, role);
|
||||
if (result.success) {
|
||||
return res.status(200).json({ message: "Item updated successfully" });
|
||||
}
|
||||
return res.status(500).json({ message: "Failed to update item" });
|
||||
});
|
||||
|
||||
router.post("/setSafeState", authenticate, async (req, res) => {
|
||||
const { itemId, state } = req.body || {};
|
||||
const result = await changeInSafeStateV2(itemId, state);
|
||||
router.put("/changeSafeState/:itemId", authenticate, async (req, res) => {
|
||||
const itemId = req.params.itemId;
|
||||
const result = await changeInSafeStateV2(itemId);
|
||||
if (result.success) {
|
||||
return res
|
||||
.status(200)
|
||||
|
@@ -39,10 +39,10 @@ export const getLoanByCodeV2 = async (loan_code) => {
|
||||
return { success: false };
|
||||
};
|
||||
|
||||
export const changeInSafeStateV2 = async (itemId, state) => {
|
||||
export const changeInSafeStateV2 = async (itemId) => {
|
||||
const [result] = await pool.query(
|
||||
"UPDATE items SET inSafe = ? WHERE id = ?",
|
||||
[state, itemId]
|
||||
"UPDATE items SET inSafe = NOT inSafe WHERE id = ?",
|
||||
[itemId]
|
||||
);
|
||||
if (result.affectedRows > 0) {
|
||||
return { success: true };
|
||||
|
Reference in New Issue
Block a user