getloot results are now stored in the database, use lootbox triggers getloot

This commit is contained in:
2025-09-15 13:40:05 +02:00
parent f8fb2c0317
commit 8284d79c5f
4 changed files with 31 additions and 0 deletions

View File

@@ -54,6 +54,13 @@ export type anivTimeoutRecord = {
duration: number;
};
export type getLootRecord = {
id?: string;
user: string;
qbucks: number;
items: inventory;
};
interface TypedPocketBase extends PocketBase {
collection(idOrName: 'auth'): RecordService<authRecord>;
collection(idOrName: 'users'): RecordService<userRecord>;
@@ -62,6 +69,7 @@ interface TypedPocketBase extends PocketBase {
collection(idOrName: 'cheerEvents'): RecordService<cheerEventRecord>;
collection(idOrName: 'cheers'): RecordService<cheerRecord>;
collection(idOrName: 'anivTimeouts'): RecordService<anivTimeoutRecord>;
collection(idOrName: 'getLoots'): RecordService<getLootRecord>;
};
export default new PocketBase(pocketbaseurl).autoCancellation(false) as TypedPocketBase;

19
src/db/dbGetLoot.ts Normal file
View File

@@ -0,0 +1,19 @@
import pocketbase from "db/connection";
import type { inventory } from "items";
import logger from "lib/logger";
import type User from "user";
const pb = pocketbase.collection('getLoots');
export async function createGetLootRecord(user: User, qbucks: number, inventory: inventory) {
try {
await pb.create({
user: user.id,
qbucks,
items: inventory
});
} catch (e) {
logger.err(`Failed to create getLoot record for ${user.displayName}: ${inventory}`);
logger.err(e as string);
};
};