You've already forked KF-MMO-Server
further refactor
This commit is contained in:
@@ -1,21 +1,33 @@
|
||||
import { userData } from "../Classes/userData.js";
|
||||
import { players } from "../Player/players.js";
|
||||
import { emitLogin } from "./_emitLogin.js";
|
||||
import { characters } from "../Characters/characters.js";
|
||||
import { users } from "./users.js";
|
||||
import { db } from "../index.js"
|
||||
import { Socket } from "socket.io";
|
||||
import { loginResponse } from "../Classes/Outgoing/accountResponses.js";
|
||||
import { Endpoints } from "../endpoints.js";
|
||||
|
||||
export function login(socket, data){
|
||||
export async function login(socket : Socket, data){
|
||||
let buff = Buffer.from(data, 'base64');
|
||||
let json : userData = JSON.parse(buff.toString('utf-8'));
|
||||
if (!json.login || !json.password) return
|
||||
let json : userData = JSON.parse(buff.toString('utf-8'));
|
||||
if (!json.login || !json.password){
|
||||
console.log("login or password is missing")
|
||||
return
|
||||
}
|
||||
|
||||
let result = users.readUser(json.login, json.password);
|
||||
let player = null
|
||||
if(result != null){
|
||||
player = players.readPlayer(result.id)
|
||||
if(player == null){
|
||||
player = players.createPlayer(result.id)
|
||||
}
|
||||
}
|
||||
const user = await users.readUser(db, json.login, json.password);
|
||||
|
||||
emitLogin(socket, result, player);
|
||||
if(user){
|
||||
console.log(`User ${user.login} logged in`);
|
||||
const character = await characters.readCharacter(db, user.id);
|
||||
const result = new loginResponse(user, character)
|
||||
|
||||
socket.user = user
|
||||
socket.character = character
|
||||
socket.emit(Endpoints.Login, JSON.stringify(result));
|
||||
}
|
||||
else{
|
||||
console.log(`User ${json.login} did not log in`);
|
||||
const result = new loginResponse(null, null)
|
||||
socket.emit(Endpoints.Login, JSON.stringify(result));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user