MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / restoreDeletedAsset

Function restoreDeletedAsset

apps/desktop/src/main/vault.ts:3335–3349  ·  view source on GitHub ↗
(root: string, deleted: DeletedAsset)

Source from the content-addressed store, hash-verified

3333}
3334
3335export async function restoreDeletedAsset(root: string, deleted: DeletedAsset): Promise<AssetMeta> {
3336 const targetRel = cleanDeletedAssetPath(deleted.path)
3337 const name = cleanAssetFilename(deleted.name)
3338 const undoToken = cleanDeletedAssetToken(deleted.undoToken)
3339 const trashDir = resolveSafe(root, `${INTERNAL_VAULT_DIR}/${DELETED_ASSETS_DIR}/${undoToken}`)
3340 const sourceAbs = path.join(trashDir, name)
3341 const targetAbs = resolveSafe(root, targetRel)
3342 const targetDir = path.dirname(targetAbs)
3343 await fs.mkdir(targetDir, { recursive: true })
3344 const finalName = await uniqueFilename(targetDir, path.basename(targetAbs))
3345 const finalAbs = path.join(targetDir, finalName)
3346 await fs.rename(sourceAbs, finalAbs)
3347 await fs.rm(trashDir, { recursive: true, force: true })
3348 return await assetMetaForPath(root, finalAbs)
3349}
3350
3351/* ---------- Folder operations ---------------------------------------- */
3352

Callers 2

vault.test.tsFile · 0.90
registerIpcFunction · 0.90

Calls 6

cleanDeletedAssetPathFunction · 0.85
cleanAssetFilenameFunction · 0.85
cleanDeletedAssetTokenFunction · 0.85
uniqueFilenameFunction · 0.85
assetMetaForPathFunction · 0.85
resolveSafeFunction · 0.70

Tested by

no test coverage detected