Skip to content

Commit d210b4e

Browse files
author
Viktor Voronin
committed
DEXW-2351: remove legacy user settings during migration
1 parent 630b399 commit d210b4e

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/modules/app/services/DefaultSettings.js

+4
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@
193193
return Object.prototype.hasOwnProperty.call(this.commonDefaults, start);
194194
}
195195

196+
getDefaultSettings() {
197+
return this.defaults;
198+
}
199+
196200
}
197201

198202
return {

src/modules/app/services/StorageExporter.js

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
(function () {
22
'use strict';
33

4+
const { pickBy, hasIn } = require('ramda');
5+
46
class StorageExporter {
57

68
static $inject = [
79
'$log',
810
'storage',
9-
'multiAccount'
11+
'multiAccount',
12+
'defaultSettings'
1013
];
1114

1215
/**
1316
* @param {ng.ILogService} $log
1417
* @param {app.utils.Storage} storage
1518
* @param {app.MultiAccount} multiAccount
1619
*/
17-
constructor($log, storage, multiAccount) {
20+
constructor($log, storage, multiAccount, defaultSettings) {
1821
this.$log = $log;
1922
this.storage = storage;
2023
this.multiAccount = multiAccount;
24+
this.defaultSettings = defaultSettings;
2125
}
2226

2327
/**
@@ -49,6 +53,13 @@
4953
}
5054
}
5155

56+
const predicate = (value, key) => hasIn(key, this.defaultSettings.create().getDefaultSettings());
57+
58+
for (const user of Object.values(storageData.userList)) {
59+
delete user.settings.encryptionRounds;
60+
user.settings = pickBy(predicate)(user.settings);
61+
}
62+
5263
return this.multiAccount.export(privateKeyFrom, publicKeyTo, storageData);
5364
}
5465

0 commit comments

Comments
 (0)