import type { getDb } from '@/server/db'
import { pickRowNumber } from '@/server/pgRow'

type AppDb = Awaited<ReturnType<typeof getDb>>

export async function getUserCoinBalance(db: AppDb, userId: string): Promise<number | null> {
    const row = await db.get<Record<string, unknown>>(
        `SELECT COALESCE(coin_balance, 0) AS coin_balance
         FROM users
         WHERE user_id = ?`,
        [userId]
    )
    if (!row) return null
    return pickRowNumber(row, 'coin_balance')
}
