UNPKG

rauth

Version:

Authentication and Authorization library via JWT

49 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ConnectionStore_1 = require("../store/ConnectionStore"); const uuid = require("uuid"); class MemoryEngine { constructor(option) { this.memory = new Map(); } async deleteById(sessionId) { return this.memory.delete(sessionId); } async deleteByUserId(userId) { const sessions = [...this.memory.entries()].filter(([, entry]) => { return entry.userId === userId; }); return sessions.every(([sessionId]) => this.memory.delete(sessionId)); } async deleteByIds(sessionIds) { const results = await Promise.all(sessionIds.map(sessionId => this.deleteById(sessionId))); return results.every(result => result); } async update(register, sets) { if (!register.sessionId) return register; const registerValue = this.memory.get(register.sessionId); this.memory.set(register.sessionId, { ...registerValue, ...sets, }); return this.memory.get(register.sessionId); } async findById(sessionId) { return this.memory.get(sessionId); } async findByUserId(userId) { return [...this.memory.values()].filter(register => register.userId === userId); } async create(sessionRegister) { const sessionId = sessionRegister.sessionId || uuid(); this.memory.set(sessionId, { sessionId, ...sessionRegister, }); return this.memory.get(sessionId); } } exports.MemoryEngine = MemoryEngine; ConnectionStore_1.ConnectionStore.add('Memory', MemoryEngine); //# sourceMappingURL=MemoryEngine.js.map