You've already forked KF-MMO-Server
further refactor
This commit is contained in:
29
Characters/characters.ts
Normal file
29
Characters/characters.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
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<characterData>{
|
||||
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])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user