diff options
Diffstat (limited to 'src/session.js')
| -rw-r--r-- | src/session.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/session.js b/src/session.js new file mode 100644 index 0000000..7fec352 --- /dev/null +++ b/src/session.js @@ -0,0 +1,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()} + |
