From d9418a3224dc2a87da43cfb125f9e7f90dd1925b Mon Sep 17 00:00:00 2001 From: qwerinope Date: Sat, 12 Apr 2025 15:24:52 +0200 Subject: [PATCH] add automatic inventory version upgrades --- src/lib/userHelper.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/userHelper.ts b/src/lib/userHelper.ts index 5c33503..a1e65cb 100644 --- a/src/lib/userHelper.ts +++ b/src/lib/userHelper.ts @@ -1,10 +1,10 @@ import pb, { User } from './pocketbase' import { HelixUser } from '@twurple/api' -import itemData from '../items' +import itemData, { ITEMS } from '../items' const EMPTYINV = itemData.reduce((acc, item) => { - acc[item.name] = 0 - return acc + acc[item.name] = 0 + return acc }, {} as Record) export type inventory = { @@ -113,7 +113,12 @@ export async function addUsedItem(user: HelixUser, item: string) { export async function DBValidation(user: HelixUser) { try { - await pb.collection('users').getFirstListItem(`id="${user.id}"`) + let { inventory } = await pb.collection('users').getFirstListItem(`id="${user.id}"`) + if (Object.keys(inventory).sort().toString() === ITEMS.sort().toString()) return + ITEMS.forEach(key => { + if (!(key in inventory)) inventory[key] = 0 + }) + await pb.collection('users').update(user.id, { inventory }) } catch (error) { await createUser(user!) }