From 58cda9cc7fb79ca9df6746de7f9662bc08dc156a Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Fri, 13 Oct 2017 12:29:40 +0200 Subject: initial commit --- src/api/server/LocalApi.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/api/server/LocalApi.js (limited to 'src/api/server/LocalApi.js') diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.js new file mode 100644 index 000000000..79ac6e12f --- /dev/null +++ b/src/api/server/LocalApi.js @@ -0,0 +1,33 @@ +export default class LocalApi { + // App + async updateAppSettings(data) { + const currentSettings = await this.getAppSettings(); + const settings = Object.assign(currentSettings, data); + + localStorage.setItem('app', JSON.stringify(settings)); + console.debug('LocalApi::updateAppSettings resolves', settings); + + return settings; + } + + async getAppSettings() { + const settingsString = localStorage.getItem('app'); + try { + const settings = JSON.parse(settingsString) || {}; + console.debug('LocalApi::getAppSettings resolves', settings); + + return settings; + } catch (err) { + return {}; + } + } + + async removeKey(key) { + const settings = await this.getAppSettings(); + + if (Object.hasOwnProperty.call(settings, key)) { + delete settings[key]; + localStorage.setItem('app', JSON.stringify(settings)); + } + } +} -- cgit v1.2.3-70-g09d2