import type { RowDataPacket } from 'mysql2' import { db, DB } from './db' export interface GameCharacter { name: string online: boolean } /** Personajes de una cuenta de juego (acore_characters). Vacío si no está poblada. */ export async function getGameCharacters(accountId: number): Promise { try { const [rows] = await db(DB.characters).query( 'SELECT name, online FROM characters WHERE account = ?', [accountId], ) return rows.map((r) => ({ name: r.name, online: r.online === 1 })) } catch { return [] } } /** True si el personaje pertenece a la cuenta y está desconectado. */ export async function characterIsOfflineAndOwned(accountId: number, name: string): Promise { const chars = await getGameCharacters(accountId) const c = chars.find((ch) => ch.name === name) return Boolean(c && !c.online) }