server/src/app/UserManager.ts
2024-05-28 21:54:34 +02:00

38 lines
890 B
TypeScript

import {User} from "@prisma/client";
type TLoggedInUsers = {
users: User[];
}
class UserManager {
private loggedInUsers: TLoggedInUsers[] = [];
// Method to initialize user manager
public async boot() {
console.log('[✅] User manager loaded');
}
// Function that adds user to logged in users
public addUser(user: User) {
this.loggedInUsers.push({
users: [user]
});
}
// Function that checks if a user is already logged in
public findUser(user: User) {
return this.loggedInUsers.find((loggedInUser) => {
return loggedInUser.users.includes(user);
});
}
// Function that lists all logged in users
public listUsers() {
return this.loggedInUsers.map((loggedInUser) => {
return loggedInUser.users;
});
}
}
export default new UserManager();