1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

updated function name and return type

This commit is contained in:
Nguyễn Việt Hưng
2019-08-28 11:17:51 +12:00
committed by Junyoung Choi
parent c7d33fbd83
commit 8355e1e006
2 changed files with 32 additions and 36 deletions

View File

@@ -624,7 +624,15 @@ function deleteAttachmentsNotPresentInNote (markdownContent, storageKey, noteKey
}
}
function getAttachments (markdownContent, storageKey, noteKey) {
/**
* @description Get all existing attachments related to a specific note
including their status (in use or not) and their path. Return null if there're no attachment related to note or specified parametters are invalid
* @param storageKey StorageKey of the current note
* @param noteKey NoteKey of the currentNote
* @param linkText Text that was pasted
* @return {Promise<Array<{path: String, isInUse: bool}>>} Promise returning the
list of attachments with their properties */
function getAttachmentsPathAndStatus (markdownContent, storageKey, noteKey) {
if (storageKey == null || noteKey == null || markdownContent == null) {
return
}
@@ -646,23 +654,16 @@ function getAttachments (markdownContent, storageKey, noteKey) {
reject(err)
return
}
const attachmentsNotInNotePaths = []
const attachmentsInNotePaths = []
const allAttachments = []
const attachments = []
for (const file of files) {
const absolutePathOfFile = path.join(targetStorage.path, DESTINATION_FOLDER, noteKey, file)
if (!attachmentsInNoteOnlyFileNames.includes(file)) {
attachmentsNotInNotePaths.push(absolutePathOfFile)
attachments.push({ path: absolutePathOfFile, isInUse: false })
} else {
attachmentsInNotePaths.push(absolutePathOfFile)
attachments.push({ path: absolutePathOfFile, isInUse: true })
}
allAttachments.push(absolutePathOfFile)
}
resolve({
allAttachments,
attachmentsNotInNotePaths,
attachmentsInNotePaths
})
resolve(attachments)
})
})
} else {
@@ -774,7 +775,7 @@ module.exports = {
removeStorageAndNoteReferences,
deleteAttachmentFolder,
deleteAttachmentsNotPresentInNote,
getAttachments,
getAttachmentsPathAndStatus,
moveAttachments,
cloneAttachments,
isAttachmentLink,

View File

@@ -60,7 +60,7 @@ class StoragesTab extends React.Component {
loadAttachmentStorage () {
const promises = []
this.props.data.noteMap.map(note => {
const promise = attachmentManagement.getAttachments(
const promise = attachmentManagement.getAttachmentsPathAndStatus(
note.content,
note.storage,
note.key
@@ -69,7 +69,10 @@ class StoragesTab extends React.Component {
})
Promise.all(promises)
.then(data => this.setState({attachments: data}))
.then(data => {
const result = data.reduce((acc, curr) => acc.concat(curr), [])
this.setState({attachments: result})
})
.catch(console.error)
}
@@ -118,32 +121,24 @@ class StoragesTab extends React.Component {
const { data, boundingBox } = this.props
const { attachments } = this.state
const totalUnusedAttachments = attachments
.reduce((acc, curr) => acc + curr.attachmentsNotInNotePaths.length, 0)
const totalInuseAttachments = attachments
.reduce((acc, curr) => acc + curr.attachmentsInNotePaths.length, 0)
const unusedAttachments = attachments.filter(attachment => !attachment.isInUse)
const inUseAttachments = attachments.filter(attachment => attachment.isInUse)
const totalUnusedAttachments = unusedAttachments.length
const totalInuseAttachments = inUseAttachments.length
const totalAttachments = totalUnusedAttachments + totalInuseAttachments
const unusedAttachments = attachments.reduce((acc, curr) => {
acc.push(curr.attachmentsNotInNotePaths)
return acc
}, [])
const totalUnusedAttachmentsSize = attachments
const totalUnusedAttachmentsSize = unusedAttachments
.reduce((acc, curr) => {
return acc + curr.attachmentsNotInNotePaths.reduce((racc, rcurr) => {
const stats = fs.statSync(rcurr)
const fileSizeInBytes = stats.size
return racc + fileSizeInBytes
}, 0)
const stats = fs.statSync(curr.path)
const fileSizeInBytes = stats.size
return acc + fileSizeInBytes
}, 0)
const totalInuseAttachmentsSize = attachments
const totalInuseAttachmentsSize = inUseAttachments
.reduce((acc, curr) => {
return acc + curr.attachmentsInNotePaths.reduce((racc, rcurr) => {
const stats = fs.statSync(rcurr)
const fileSizeInBytes = stats.size
return racc + fileSizeInBytes
}, 0)
const stats = fs.statSync(curr.path)
const fileSizeInBytes = stats.size
return acc + fileSizeInBytes
}, 0)
const totalAttachmentsSize = totalUnusedAttachmentsSize + totalInuseAttachmentsSize