import type { AccessToken } from "@twurple/auth"; import PocketBase, { RecordService } from "pocketbase"; import type { inventory } from "../items"; import { logger } from ".."; const pocketbaseurl = process.env.POCKETBASE_URL ?? "localhost:8090"; if (pocketbaseurl === "") { logger.enverr("POCKETBASE_URL"); process.exit(1); }; export type authRecord = { id: string; accesstoken: AccessToken; }; export type userRecord = { id: string; username: string; // Don't use this, Use User.username or User.displayName. This is just to make the pocketbase data easier to read. balance: number; inventory: inventory; lastlootbox: string; }; export type usedItemRecord = { id?: string; user: string; item: string; created: string; }; export type timeoutRecord = { id?: string; user: string; target: string; item: string; created: string; }; interface TypedPocketBase extends PocketBase { collection(idOrName: 'auth'): RecordService; collection(idOrName: 'users'): RecordService; collection(idOrName: 'usedItems'): RecordService; collection(idOrName: 'timeouts'): RecordService; }; export default new PocketBase(pocketbaseurl).autoCancellation(false) as TypedPocketBase;