import { characterData } from "../Classes/characterData.js"; import { DatabaseController } from "../Database/dbcontroller.js"; export class characters{ static async createCharacter(db: DatabaseController, userId : number){ await db.run('INSERT INTO characters (user_id) VALUES (?)', [userId]); return await this.readCharacter(db, userId) } static async readCharacter(db: DatabaseController, userId : number): Promise{ let player = await db.select(`SELECT * FROM characters WHERE user_id = ? LIMIT 1`, [userId]) if (player.length > 0){ let row = player[0] return new characterData({ ...row, inventory: row.inventory ? JSON.parse(row.inventory) : undefined, questBook: row.questBook ? JSON.parse(row.questBook) : undefined, }) } else{ return null } } static async savePlayer(db: DatabaseController, data: characterData){ await db.run(`UPDATE characters SET (inventory, questBook) VALUES (?,?) WHERE id = ?`, [JSON.stringify(data.inventory), JSON.stringify(data.questBook), data.id]) } }