aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/migrations/031.js
blob: 9c8cbeb09b1f6bfce9319026450514fb18af708f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// next version number
const version = 31
const clone = require('clone')

/*
  * The purpose of this migration is to properly set the completedOnboarding flag baesd on the state
  * of the KeyringController.
  */
module.exports = {
  version,

  migrate: async function (originalVersionedData) {
    const versionedData = clone(originalVersionedData)
    versionedData.meta.version = version
    const state = versionedData.data
    const newState = transformState(state)
    versionedData.data = newState
    return versionedData
  },
}

function transformState (state) {
  const { KeyringController, PreferencesController } = state

  if (KeyringController && PreferencesController) {
    const { vault } = KeyringController
    PreferencesController.completedOnboarding = Boolean(vault)
  }

  return state
}