no more any types, forgot to actually call env in migration

This commit is contained in:
2025-04-04 20:18:39 +02:00
parent a7430c3b67
commit 416ae34317
4 changed files with 40 additions and 8 deletions

View File

@@ -9,8 +9,8 @@ migrate(app => {
const password = process.env.PASSWORD ?? '1234567890'
// This should be communicated to the user, or be set by the user.
record.set("email", "test@example.com")
record.set("password", "1234567890")
record.set("email", email)
record.set("password", password)
app.save(record)
const data = [

View File

@@ -1,5 +1,5 @@
import { HelixUser } from "@twurple/api"
import pb from "./pocketbase"
import pb, { User } from "./pocketbase"
// const COOLDOWN = 1000 * 60 * 60 * 24 * 30 // 1000 milliseconds * 60 seconds * 60 minutes * 24 hours * 30 days
export const COOLDOWN = 1000 * 60 * 15
@@ -7,7 +7,7 @@ export const COOLDOWN = 1000 * 60 * 15
interface lootboxReadyResult {
result: boolean,
lastlootbox: number,
DBuser: any // TODO: proper types for db user (again). check RecordModel
DBuser: User
}
export async function lootboxReady(user: HelixUser | null): Promise<lootboxReadyResult> {

View File

@@ -1,4 +1,36 @@
import PocketBase from 'pocketbase'
import PocketBase, { BaseModel, RecordService } from 'pocketbase'
import { inventory } from "./userHelper"
export interface User extends BaseModel {
twitchid: string,
firstname: string,
inventory: inventory,
itemuses: inventory,
balance: number,
lastlootbox: string
}
export interface TTVAuth extends BaseModel {
auth: JSON,
main: boolean
}
export interface Timeout extends BaseModel {
source: 'silverbullet' | 'grenade' | 'blaster' | 'tnt',
attacker: string,
target: string,
attackername: string,
targetname: string
}
interface TypedPocketBase extends PocketBase {
collection(idOrName: string): RecordService,
collection(idOrName: 'users'): RecordService<User>,
collection(idOrName: 'ttvauth'): RecordService<TTVAuth>
collection(idOrName: 'timeouts'): RecordService<Timeout>
}
const PBURL = process.env.PBURL ?? 'http://pocketbase:8090'
const pb = new PocketBase(PBURL)
const pb = new PocketBase(PBURL) as TypedPocketBase
export default pb

View File

@@ -1,4 +1,4 @@
import pb from './pocketbase'
import pb, { User } from './pocketbase'
import { HelixUser } from '@twurple/api'
export const EMPTYINV: inventory = {
@@ -26,7 +26,7 @@ export async function getDBID(user: HelixUser) {
type balanceGetResult = {
balance: number,
data: any // TODO: propet type for data returned from database
data: User
}
export async function getBalance(user: HelixUser): Promise<balanceGetResult> {