import { game } from "../game"; import { userData } from "../Classes/userData"; export class users{ static createUser(login, password){ if (game.accountsDB.find(u=>u.login == login) != null){ console.log(`User ${login} alread exists`); return null; } var user = new userData(game.accountsDB.length, login, password); game.accountsDB.push(user); return user; } static readUser(login, password){ let user = game.accountsDB.find(u=>u.login == login && u.password == password) if(user != null){ return user; } return null; } static readUserID(id : number){ let user = game.accountsDB.filter(u=>u.id == id)[0]; return user; } static updateUser(userNew : userData){ let user = this.readUserID(userNew.id); let sum = Math.floor(Math.random() * 99999); while(sum == userNew.checksum){ sum = Math.floor(Math.random() * 99999); } userNew.checksum = sum; game.accountsDB[game.accountsDB.indexOf(user)] = userNew; } static saveUsers(fs){ game.accountsDB.forEach(user => {user.save(fs)}); } static loadUsers(fs){ fs.mkdirSync(`Database/Users/`, { recursive: true }) fs.readdir(`Database/Users/`, (err, files) => { files.forEach(file => { fs.readFile(`Database/Users/${file}`, (err, data) => { if (err) throw err; let user : userData = Object.assign(new userData(-1,"",""), JSON.parse(data)); game.accountsDB.push(user); console.log(`Loaded ${user.login}`); }); }); }); } }