UNPKG

@di-zed/yandex-smart-home

Version:

The Yandex Smart Home skills for the different device types.

52 lines (51 loc) 1.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** * @author DiZed Team * @copyright Copyright (c) DiZed Team (https://github.com/di-zed/) */ const registry_1 = __importDefault(require("./registry")); /** * Topic Anonymous User Registry. */ class TopicAnonUserRegistry extends registry_1.default { constructor() { super(...arguments); /** * @inheritDoc */ this.data = {}; } /** * Mark User as Anonymous. * * @param userName * @returns boolean */ markUserAsAnonymous(userName) { return this.set(userName, new Date()); } /** * Check if the user is anonymous. * * @param userName * @returns boolean */ isUserAnonymous(userName) { const requestedAt = this.get(userName); if (requestedAt !== undefined) { const now = new Date(); now.setSeconds(now.getSeconds() - 300); // 5 minutes if (new Date(requestedAt) < now) { this.delete(userName); return false; } return true; } return false; } } exports.default = new TopicAnonUserRegistry();