1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

Use existing file metadata for created and modified dates

NB: this definintely works on OSX. Other operating systems may have
slightly different interpretations of birthtime.

See: https://nodejs.org/api/fs.html#fs_class_fs_stats
This commit is contained in:
Stefan du Fresne
2017-12-01 16:24:40 +00:00
parent e5a908af68
commit 9032a1debb
2 changed files with 25 additions and 18 deletions

View File

@@ -584,12 +584,18 @@ class NoteList extends React.Component {
filepaths.forEach((filepath) => { filepaths.forEach((filepath) => {
fs.readFile(filepath, (err, data) => { fs.readFile(filepath, (err, data) => {
if (err) throw Error('File reading error: ', err) if (err) throw Error('File reading error: ', err)
fs.stat(filepath, (err, {mtime, birthtime}) => {
if (err) throw Error('File stat reading error: ', err);
const content = data.toString() const content = data.toString()
const newNote = { const newNote = {
content: content, content: content,
folder: folder.key, folder: folder.key,
title: markdown.strip(findNoteTitle(content)), title: markdown.strip(findNoteTitle(content)),
type: 'MARKDOWN_NOTE' type: 'MARKDOWN_NOTE',
createdAt: birthtime,
updatedAt: mtime
} }
dataApi.createNote(storage.key, newNote) dataApi.createNote(storage.key, newNote)
.then((note) => { .then((note) => {
@@ -604,6 +610,7 @@ class NoteList extends React.Component {
}) })
}) })
}) })
})
} }
getTargetIndex () { getTargetIndex () {

View File

@@ -66,12 +66,12 @@ function createNote (storageKey, input) {
} }
} }
} }
const noteData = Object.assign({}, input, { const noteData = Object.assign({}, {
key, key,
createdAt: new Date(), createdAt: new Date(),
updatedAt: new Date(), updatedAt: new Date(),
storage: storageKey storage: storageKey
}) }, input)
CSON.writeFileSync(path.join(storage.path, 'notes', key + '.cson'), _.omit(noteData, ['key', 'storage'])) CSON.writeFileSync(path.join(storage.path, 'notes', key + '.cson'), _.omit(noteData, ['key', 'storage']))