add storeItemId to inventory-items PUT
This commit is contained in:
parent
e90c0c9809
commit
63a92b90da
@ -5,7 +5,7 @@ import Image from "next/image";
|
||||
const InventoryItem = (props: {
|
||||
inventoryItem: IInventoryItem;
|
||||
stakes: IStake[] | null;
|
||||
upgradeInventoryItem: (itemId: number) => void;
|
||||
upgradeInventoryItem: (inventoryItemId: number, storeItemId: string) => void;
|
||||
}) => {
|
||||
const [currentTierIndex, setCurrentTierIndex] = useState(
|
||||
props.inventoryItem.currentTierIndex
|
||||
@ -76,7 +76,10 @@ const InventoryItem = (props: {
|
||||
) : (
|
||||
<button
|
||||
onClick={() =>
|
||||
props.upgradeInventoryItem(props.inventoryItem.id)
|
||||
props.upgradeInventoryItem(
|
||||
props.inventoryItem.id,
|
||||
props.inventoryItem.storeItem.id
|
||||
)
|
||||
}
|
||||
className="bg-slate-100 text-slate-900 px-4 py-2 rounded-lg font-bold text-center"
|
||||
>
|
||||
|
@ -5,7 +5,7 @@ import InventoryItem from "./InventoryItem";
|
||||
const InventoryItemView = (props: {
|
||||
stakes: IStake[] | null;
|
||||
inventoryItems: IInventoryItem[] | null | undefined;
|
||||
upgradeInventoryItem: (itemId: number) => void;
|
||||
upgradeInventoryItem: (inventoryItemId: number, storeItemId: string) => void;
|
||||
}) => {
|
||||
return (
|
||||
<div className="bg-slate-800 text-white p-4 rounded-lg">
|
||||
|
@ -2,7 +2,6 @@
|
||||
import React, { useState } from "react";
|
||||
import { IStoreItem } from "typings";
|
||||
import CommonCardLayout from "../Layouts/CommonCardLayout";
|
||||
import Chart from "./Chart";
|
||||
import Image from "next/image";
|
||||
|
||||
const StoreItem = (props: {
|
||||
|
@ -64,7 +64,8 @@ export default function RootLayout({
|
||||
{walletAddress.length === 0 ? (
|
||||
<button
|
||||
onClick={connectWallet}
|
||||
className="p-2 m-4 bg-slate-800 rounded-lg">
|
||||
className="p-2 m-4 bg-slate-800 rounded-lg"
|
||||
>
|
||||
Connect Wallet
|
||||
</button>
|
||||
) : (
|
||||
|
@ -225,13 +225,17 @@ export default function Home() {
|
||||
}
|
||||
};
|
||||
|
||||
const upgradeInventoryItem = async (itemId: number) => {
|
||||
const upgradeInventoryItem = async (
|
||||
inventoryItemId: number,
|
||||
storeItemId: string
|
||||
) => {
|
||||
try {
|
||||
const response = await fetch(`/api/user/${userId}/inventory-items`, {
|
||||
method: "PUT",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
itemId: itemId,
|
||||
inventoryItemId: inventoryItemId,
|
||||
storeItemId: storeItemId,
|
||||
}),
|
||||
});
|
||||
|
||||
@ -280,7 +284,7 @@ export default function Home() {
|
||||
};
|
||||
|
||||
if (!userId) return <p>Please login</p>;
|
||||
//console.log(stakingSources);
|
||||
|
||||
return (
|
||||
<>
|
||||
{notification && (
|
||||
|
@ -47,11 +47,11 @@ export default async function handler(
|
||||
} else if (req.method === "PUT") {
|
||||
// Upgrade an existing item
|
||||
const { userId } = req.query;
|
||||
const { itemId } = req.body;
|
||||
const { inventoryItemId, storeItemId } = req.body;
|
||||
const db = await dbConnection;
|
||||
|
||||
const invItem = await db.get(`SELECT id,tier,store_item_id FROM inventory_item
|
||||
WHERE id = ? AND user_id = ?`, [itemId, userId]);
|
||||
WHERE id = ? AND user_id = ?`, [inventoryItemId, userId]);
|
||||
|
||||
const storeItem = gameConfig.store.find((item) => item.id == invItem.store_item_id);
|
||||
if (storeItem == undefined) {
|
||||
@ -70,7 +70,7 @@ export default async function handler(
|
||||
await db.run("BEGIN");
|
||||
await db.run(`UPDATE bank_account SET balance = balance - ?
|
||||
WHERE user_id = ?`, [upgradePrice, userId]);
|
||||
await db.run(`UPDATE inventory_item SET tier = tier + 1 WHERE id = ?`, [itemId]);
|
||||
await db.run(`UPDATE inventory_item SET tier = tier + 1 WHERE id = ?`, [inventoryItemId]);
|
||||
await db.run("INSERT INTO upgrade_event(inventory_item_id) VALUES ( ? )", [invItem.store_item_id]);
|
||||
await db.run("COMMIT");
|
||||
} catch (error) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user