1
0
forked from noxious/server
noxious_server/src/managers/userManager.ts

39 lines
855 B
TypeScript

import { User } from '@prisma/client'
import { appLogger } from '../utilities/logger'
type TLoggedInUsers = {
users: User[]
}
class UserManager {
private loggedInUsers: TLoggedInUsers[] = []
// Method to initialize user manager
public async boot() {
appLogger.info('User manager loaded')
}
// Function that adds user to logged in users
public loginUser(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()