summaryrefslogtreecommitdiff
path: root/source/session.js
blob: 584627116b5d6feaf9fc5c03541e0374aca4b020 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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) {return sessions.has(x)}
    Expired() {sessions.forEach((value, key) => {if (Date.now() > value) sessions.delete(key)})}
}

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