client online state

This commit is contained in:
manuel.sowada
2026-05-12 07:57:32 +02:00
parent b34f912857
commit 0a28a3e493
17 changed files with 1210 additions and 788 deletions

View File

@@ -57,6 +57,10 @@ class AuthenticationManager {
return { token: null, levelId: 2, message: 'Falsches Passwort' };
}
if(!user.active) {
return { token: null, levelId: 2, message: 'Benutzer nicht aktiv' };
}
const token = jwt.sign(
{
ObjectGUID: user.ObjectGUID,
@@ -67,12 +71,26 @@ class AuthenticationManager {
);
user.refreshtoken = token;
user.online = true;
await this.setOnline(sAMAccountName);
await user.save();
return { token, levelId: 0, message: 'Erfolgreich angemeldet' };
}
async setOnline(sAMAccountName) {
const user = await this.findUser(sAMAccountName);
user.online = true;
await user.save();
}
async setOffline(sAMAccountName) {
const user = await this.findUser(sAMAccountName);
user.online = false;
await user.save();
}
// =========================================================
// LOGOUT
// =========================================================
@@ -85,8 +103,8 @@ class AuthenticationManager {
}
user.refreshtoken = null;
user.online = false;
await user.save();
await this.setOffline();
return { token: null, levelId: 0, message: 'Erfolgreich abgemeldet' };
}