remove stack if quantity = 0

This commit is contained in:
Jill 2023-11-19 20:00:23 +03:00
parent 60a3823b47
commit 249cf02490
Signed by: oat
GPG Key ID: 33489AA58A955108
1 changed files with 13 additions and 1 deletions

View File

@ -316,7 +316,7 @@ export async function getItemQuantity(user: string, itemID: number): Promise<Ite
};
}
export async function giveItem(user: string, item: Item, quantity = 1) {
export async function giveItem(user: string, item: Item, quantity = 1): Promise<ItemInventory> {
const storedItem = await db<ItemInventory>('itemInventories')
.where('user', user)
.where('item', item.id)
@ -324,6 +324,18 @@ export async function giveItem(user: string, item: Item, quantity = 1) {
let inv;
if (storedItem) {
if (storedItem.quantity + quantity === 0) {
await db<ItemInventory>('itemInventories')
.delete()
.where('user', user)
.where('item', item.id);
return {
user: user,
item: item.id,
quantity: 0
};
}
inv = await db<ItemInventory>('itemInventories')
.update({
quantity: db.raw('MIN(quantity + ?, ?)', [quantity, getMaxStack(item)])