mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
attempt to recover invalid boostnote.json
This commit is contained in:
@@ -2,7 +2,9 @@ const _ = require('lodash')
|
|||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const resolveStorageNotes = require('./resolveStorageNotes')
|
const resolveStorageNotes = require('./resolveStorageNotes')
|
||||||
|
const consts = require('browser/lib/consts')
|
||||||
|
const path = require('path')
|
||||||
|
const CSON = require('season')
|
||||||
/**
|
/**
|
||||||
* @param {Object}
|
* @param {Object}
|
||||||
* name, path, type
|
* name, path, type
|
||||||
@@ -52,7 +54,26 @@ function addStorage (input) {
|
|||||||
localStorage.setItem('storages', JSON.stringify(rawStorages))
|
localStorage.setItem('storages', JSON.stringify(rawStorages))
|
||||||
return newStorage
|
return newStorage
|
||||||
})
|
})
|
||||||
.then(resolveStorageNotes)
|
.then(function (storage) {
|
||||||
|
return resolveStorageNotes(storage)
|
||||||
|
.then((notes) => {
|
||||||
|
let unknownCount = 0
|
||||||
|
notes.forEach((note) => {
|
||||||
|
if (!storage.folders.some((folder) => note.folder === folder.key)) {
|
||||||
|
unknownCount++
|
||||||
|
storage.folders.push({
|
||||||
|
key: note.folder,
|
||||||
|
color: consts.FOLDER_COLORS[(unknownCount - 1) % 7],
|
||||||
|
name: 'Unknown ' + unknownCount
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (unknownCount > 0) {
|
||||||
|
CSON.writeFileSync(path.join(storage.path, 'boostnote.json'), _.pick(storage, ['folders', 'version']))
|
||||||
|
}
|
||||||
|
return notes
|
||||||
|
})
|
||||||
|
})
|
||||||
.then(function returnValue (notes) {
|
.then(function returnValue (notes) {
|
||||||
return {
|
return {
|
||||||
storage: newStorage,
|
storage: newStorage,
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const resolveStorageNotes = require('./resolveStorageNotes')
|
const resolveStorageNotes = require('./resolveStorageNotes')
|
||||||
|
const consts = require('browser/lib/consts')
|
||||||
|
const path = require('path')
|
||||||
|
const CSON = require('season')
|
||||||
/**
|
/**
|
||||||
* @return {Object} all storages and notes
|
* @return {Object} all storages and notes
|
||||||
* ```
|
* ```
|
||||||
@@ -33,7 +36,26 @@ function init () {
|
|||||||
|
|
||||||
let fetchNotes = function (storages) {
|
let fetchNotes = function (storages) {
|
||||||
let findNotesFromEachStorage = storages
|
let findNotesFromEachStorage = storages
|
||||||
.map(resolveStorageNotes)
|
.map((storage) => {
|
||||||
|
return resolveStorageNotes(storage)
|
||||||
|
.then((notes) => {
|
||||||
|
let unknownCount = 0
|
||||||
|
notes.forEach((note) => {
|
||||||
|
if (!storage.folders.some((folder) => note.folder === folder.key)) {
|
||||||
|
unknownCount++
|
||||||
|
storage.folders.push({
|
||||||
|
key: note.folder,
|
||||||
|
color: consts.FOLDER_COLORS[(unknownCount - 1) % 7],
|
||||||
|
name: 'Unknown ' + unknownCount
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (unknownCount > 0) {
|
||||||
|
CSON.writeFileSync(path.join(storage.path, 'boostnote.json'), _.pick(storage, ['folders', 'version']))
|
||||||
|
}
|
||||||
|
return notes
|
||||||
|
})
|
||||||
|
})
|
||||||
return Promise.all(findNotesFromEachStorage)
|
return Promise.all(findNotesFromEachStorage)
|
||||||
.then(function concatNoteGroup (noteGroups) {
|
.then(function concatNoteGroup (noteGroups) {
|
||||||
return noteGroups.reduce(function (sum, group) {
|
return noteGroups.reduce(function (sum, group) {
|
||||||
|
|||||||
Reference in New Issue
Block a user