aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/server/LocalApi.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/server/LocalApi.js')
-rw-r--r--src/api/server/LocalApi.js33
1 files changed, 33 insertions, 0 deletions
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 @@
1export default class LocalApi {
2 // App
3 async updateAppSettings(data) {
4 const currentSettings = await this.getAppSettings();
5 const settings = Object.assign(currentSettings, data);
6
7 localStorage.setItem('app', JSON.stringify(settings));
8 console.debug('LocalApi::updateAppSettings resolves', settings);
9
10 return settings;
11 }
12
13 async getAppSettings() {
14 const settingsString = localStorage.getItem('app');
15 try {
16 const settings = JSON.parse(settingsString) || {};
17 console.debug('LocalApi::getAppSettings resolves', settings);
18
19 return settings;
20 } catch (err) {
21 return {};
22 }
23 }
24
25 async removeKey(key) {
26 const settings = await this.getAppSettings();
27
28 if (Object.hasOwnProperty.call(settings, key)) {
29 delete settings[key];
30 localStorage.setItem('app', JSON.stringify(settings));
31 }
32 }
33}