2023-09-14 16:59:21 +08:00
|
|
|
import { game } from "../game";
|
2023-09-16 05:42:42 +08:00
|
|
|
import { userData } from "../Classes/userData";
|
2023-09-14 16:59:21 +08:00
|
|
|
import { users } from "./users";
|
|
|
|
|
|
|
|
export function registerAccountCallbacks(socket){
|
|
|
|
function emitLogin(result : userData, registered:boolean = false){
|
|
|
|
if(result != null){
|
2023-09-16 05:42:42 +08:00
|
|
|
socket.emit("account/login", JSON.stringify(userData.makeSafe(result, socket.id)));
|
|
|
|
socket.user = result
|
2023-09-14 16:59:21 +08:00
|
|
|
if(registered){
|
2023-09-16 05:42:42 +08:00
|
|
|
console.log(`User ${(result as userData).login} registerd and logged in`);
|
2023-09-14 16:59:21 +08:00
|
|
|
}
|
|
|
|
else{
|
2023-09-16 05:42:42 +08:00
|
|
|
console.log(`User ${(result as userData).login} logged in`);
|
2023-09-14 16:59:21 +08:00
|
|
|
}
|
|
|
|
}
|
2023-09-15 04:49:31 +08:00
|
|
|
else{
|
2023-09-16 05:42:42 +08:00
|
|
|
socket.emit("account/login", "");
|
2023-09-15 04:49:31 +08:00
|
|
|
console.log("Login Failed");
|
|
|
|
}
|
2023-09-14 16:59:21 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
socket.on('account/register', (data) => {
|
|
|
|
let buff = Buffer.from(data, 'base64');
|
2023-09-16 05:42:42 +08:00
|
|
|
let json : userData = JSON.parse(buff.toString('utf-8'));
|
|
|
|
if (!json.login || !json.password) return
|
|
|
|
let result = users.createUser(json.login, json.password);
|
2023-09-14 16:59:21 +08:00
|
|
|
|
|
|
|
emitLogin(result, true);
|
|
|
|
});
|
|
|
|
|
|
|
|
socket.on('account/login', (data) => {
|
|
|
|
let buff = Buffer.from(data, 'base64');
|
2023-09-16 05:42:42 +08:00
|
|
|
let json : userData = JSON.parse(buff.toString('utf-8'));
|
|
|
|
if (!json.login || !json.password) return
|
|
|
|
let result = users.readUser(json.login, json.password);
|
2023-09-14 16:59:21 +08:00
|
|
|
|
|
|
|
emitLogin(result);
|
|
|
|
});
|
|
|
|
}
|