mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	smaller refactorings continued
This commit is contained in:
		| @@ -1,9 +1,9 @@ | ||||
| "use strict"; | ||||
|  | ||||
| const sql = require('../../services/sql'); | ||||
| const notes = require('../../services/notes'); | ||||
| const labels = require('../../services/labels'); | ||||
| const protected_session = require('../../services/protected_session'); | ||||
| const repository = require('../../services/repository'); | ||||
|  | ||||
| async function uploadFile(req) { | ||||
|     const parentNoteId = req.params.parentNoteId; | ||||
| @@ -11,50 +11,46 @@ async function uploadFile(req) { | ||||
|     const originalName = file.originalname; | ||||
|     const size = file.size; | ||||
|  | ||||
|     const note = await sql.getRow("SELECT * FROM notes WHERE noteId = ?", [parentNoteId]); | ||||
|     const parentNote = await repository.getNote(parentNoteId); | ||||
|  | ||||
|     if (!note) { | ||||
|     if (!parentNote) { | ||||
|         return [404, `Note ${parentNoteId} doesn't exist.`]; | ||||
|     } | ||||
|  | ||||
|     const {noteId} = await notes.createNewNote(parentNoteId, { | ||||
|     const {note} = await notes.createNewNote(parentNoteId, { | ||||
|         title: originalName, | ||||
|         content: file.buffer, | ||||
|         target: 'into', | ||||
|         isProtected: false, | ||||
|         type: 'file', | ||||
|         mime: file.mimetype | ||||
|     }, req); | ||||
|     }); | ||||
|  | ||||
|     await labels.createLabel(noteId, "original_file_name", originalName); | ||||
|     await labels.createLabel(noteId, "file_size", size); | ||||
|     await labels.createLabel(note.noteId, "original_file_name", originalName); | ||||
|     await labels.createLabel(note.noteId, "file_size", size); | ||||
|  | ||||
|     return { | ||||
|         noteId: noteId | ||||
|         noteId: note.noteId | ||||
|     }; | ||||
| } | ||||
|  | ||||
| async function downloadFile(req, res) { | ||||
|     const noteId = req.params.noteId; | ||||
|     const note = await sql.getRow("SELECT * FROM notes WHERE noteId = ?", [noteId]); | ||||
|     const note = await repository.getNote(noteId); | ||||
|  | ||||
|     if (!note) { | ||||
|         return res.status(404).send(`Note ${noteId} doesn't exist.`); | ||||
|     } | ||||
|  | ||||
|     if (note.isProtected) { | ||||
|         if (!protected_session.isProtectedSessionAvailable()) { | ||||
|             res.status(401).send("Protected session not available"); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         protected_session.decryptNote(note); | ||||
|     if (note.isProtected && !protected_session.isProtectedSessionAvailable()) { | ||||
|         res.status(401).send("Protected session not available"); | ||||
|         return; | ||||
|     } | ||||
|  | ||||
|     const labelMap = await labels.getNoteLabelMap(noteId); | ||||
|     const labelMap = await note.getLabelMap(); | ||||
|     const fileName = labelMap.original_file_name ? labelMap.original_file_name : note.title; | ||||
|  | ||||
|     res.setHeader('Content-Disposition', 'file; filename=' + fileName); | ||||
|     res.setHeader('Content-Disposition', 'file; filename="' + fileName + '"'); | ||||
|     res.setHeader('Content-Type', note.mime); | ||||
|  | ||||
|     res.send(note.content); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user