1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-14 02:06:29 +00:00

added delete snippet, update snippet, create snippet and save on snippet change

This commit is contained in:
Hung Nguyen
2018-04-20 23:15:17 +07:00
parent d3b3e45800
commit ff2e39901a
10 changed files with 273 additions and 110 deletions

View File

@@ -0,0 +1,23 @@
const { remote } = require('electron')
import fs from 'fs'
import path from 'path'
import crypto from 'crypto'
import consts from 'browser/lib/consts'
function createSnippet(snippets) {
return new Promise((resolve, reject) => {
const newSnippet = {
id: crypto.randomBytes(16).toString('hex'),
name: 'Unnamed snippet',
prefix: [],
content: ''
}
snippets.push(newSnippet)
fs.writeFile(consts.SNIPPET_FILE, JSON.stringify(snippets, null, 4), (err) => {
if (err) reject(err)
resolve(snippets)
})
})
}
module.exports = createSnippet

View File

@@ -0,0 +1,20 @@
const { remote } = require('electron')
import fs from 'fs'
import path from 'path'
import consts from 'browser/lib/consts'
function deleteSnippet (snippets, snippetId) {
return new Promise((resolve, reject) => {
for(let i = 0; i < snippets.length; i++) {
if (snippets[i].id === snippetId) {
snippets.splice(i, 1);
fs.writeFile(consts.SNIPPET_FILE, JSON.stringify(snippets, null, 4), (err) => {
if (err) reject(err)
resolve(snippets)
})
}
}
})
}
module.exports = deleteSnippet

View File

@@ -13,6 +13,9 @@ const dataApi = {
deleteNote: require('./deleteNote'),
moveNote: require('./moveNote'),
migrateFromV5Storage: require('./migrateFromV5Storage'),
createSnippet: require('./createSnippet'),
deleteSnippet: require('./deleteSnippet'),
updateSnippet: require('./updateSnippet'),
_migrateFromV6Storage: require('./migrateFromV6Storage'),
_resolveStorageData: require('./resolveStorageData'),

View File

@@ -0,0 +1,34 @@
import fs from 'fs'
import consts from 'browser/lib/consts'
function updateSnippet (snippet) {
return new Promise((resolve, reject) => {
let snippets = JSON.parse(fs.readFileSync(consts.SNIPPET_FILE, 'utf-8'))
for (let i = 0; i < snippets.length; i++) {
let currentSnippet = snippets[i]
if (currentSnippet.id === snippet.id) {
if (
currentSnippet.name === snippet.name &&
currentSnippet.prefix === snippet.prefix &&
currentSnippet.content === snippet.content
) {
// if everything is the same then don't write to disk
resolve(snippets)
} else {
currentSnippet.name = snippet.name
currentSnippet.prefix = snippet.prefix
currentSnippet.content = snippet.content
fs.writeFile(consts.SNIPPET_FILE, JSON.stringify(snippets, null, 4), (err) => {
if (err) reject(err)
resolve(snippets)
})
}
}
}
})
}
module.exports = updateSnippet