KF-MMO-Server/Account/accountSocket.ts

37 lines
1.2 KiB
TypeScript

import { game } from "../game";
import { publicUserData, userData } from "./userData";
import { users } from "./users";
export function registerAccountCallbacks(socket){
function emitLogin(result : userData, registered:boolean = false){
socket.emit("account/login", JSON.stringify(new publicUserData(result, socket.id)));
if(result != null){
socket.userId = result.Id;
if(registered){
console.log(`User ${(result as userData).Login} registerd and logged in`);
}
else{
console.log(`User ${(result as userData).Login} logged in`);
}
}
else{
console.log("Login Failed");
}
}
socket.on('account/register', (data) => {
let buff = Buffer.from(data, 'base64');
let json = JSON.parse(buff.toString('utf-8'));
let result = users.createUser(json.Login, json.Password);
emitLogin(result, true);
});
socket.on('account/login', (data) => {
let buff = Buffer.from(data, 'base64');
let json = JSON.parse(buff.toString('utf-8'));
let result = users.readUser(json.Login, json.Password);
emitLogin(result);
});
}