UNPKG

matterbridge-roborock-vacuum-plugin

Version:
41 lines 1.63 kB
/** Repository for persisting and retrieving user data. */ export class UserDataRepository { persist; configManager; logger; constructor(persist, configManager, logger) { this.persist = persist; this.configManager = configManager; this.logger = logger; } /** Load saved user data for the given username. */ async loadUserData(username) { const savedUserData = (await this.persist.getItem('userData')); if (!savedUserData) { this.logger.debug('No saved userData found'); return undefined; } if (savedUserData.username === undefined || savedUserData.username === '' || savedUserData.username !== username) { this.logger.debug('Saved userData username does not match, ignoring saved data'); await this.clearUserData(); return undefined; } if (savedUserData.region.toUpperCase() !== this.configManager.region.toUpperCase()) { this.logger.debug('Saved userData region does not match current config, ignoring saved data'); await this.clearUserData(); return undefined; } this.logger.debug('Loading saved userData'); return savedUserData; } /** Save user data for future use. */ async saveUserData(userData) { await this.persist.setItem('userData', userData); this.logger.debug('User data saved successfully'); } /** Clear saved user data. */ async clearUserData() { await this.persist.removeItem('userData'); } } //# sourceMappingURL=UserDataRepository.js.map