1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00
Files
Boostnote/browser/main/lib/dataApi/resolveStorageData.js
Sam Herrington ca69bd69f2 Remove unnecessary conditional logic
In reference to PR feedback.
2018-09-30 17:46:38 -05:00

42 lines
1.2 KiB
JavaScript

const _ = require('lodash')
const path = require('path')
const CSON = require('@rokt33r/season')
const migrateFromV6Storage = require('./migrateFromV6Storage')
function resolveStorageData (storageCache) {
const storage = {
key: storageCache.key,
name: storageCache.name,
type: storageCache.type,
path: storageCache.path,
isOpen: storageCache.isOpen
}
const boostnoteJSONPath = path.join(storageCache.path, 'boostnote.json')
try {
const jsonData = CSON.readFileSync(boostnoteJSONPath)
if (!_.isArray(jsonData.folders)) throw new Error('folders should be an array.')
storage.folders = jsonData.folders
storage.version = jsonData.version
} catch (err) {
if (err.code === 'ENOENT') {
console.warn('boostnote.json file doesn\'t exist the given path')
CSON.writeFileSync(boostnoteJSONPath, {folders: [], version: '1.0'})
} else {
console.error(err)
}
storage.folders = []
storage.version = '1.0'
}
const version = parseInt(storage.version, 10)
if (version >= 1) {
return Promise.resolve(storage)
}
return migrateFromV6Storage(storage.path)
.then(() => storage)
}
module.exports = resolveStorageData