summaryrefslogtreecommitdiff
path: root/src/session.js
blob: 7fec352629671dfb71aebaa125a664047dd21eae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const sessions = new Map()

class Session {
    constructor() {}
    
    Create() {
        const object = {
            result: '',
            characters: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
        }

        for (let i = 0; i < object.characters.length; i++) object.result += object.characters.charAt(Math.floor(Math.random() * object.characters.length))
        sessions.set(object.result, Date.now() + (1000 * 60 * 60))
        return object.result
    }
    Exists(x) {
        if (sessions.has(x)) {
            sessions.set(x, Date.now() + (1000 * 60 * 60))
            return true
        } else {
            return false
        }
    }
    Expired() {sessions.forEach((value, key) => {if (Date.now() > value) sessions.delete(key)})}
    GetSessions() {
        return sessions
    }
}

module.exports = () => {return new Session()}