| 
									
										
										
										
											2019-06-22 19:49:48 +02:00
										 |  |  | "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const noteService = require('../../services/notes'); | 
					
						
							|  |  |  | const dateNoteService = require('../../services/date_notes'); | 
					
						
							|  |  |  | const dateUtils = require('../../services/date_utils'); | 
					
						
							|  |  |  | const imageService = require('../../services/image'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function createNote(req) { | 
					
						
							|  |  |  |     console.log(req.body); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-23 09:10:06 +02:00
										 |  |  |     const {title, html, url} = req.body; | 
					
						
							| 
									
										
										
										
											2019-06-22 19:49:48 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     const todayNote = await dateNoteService.getDateNote(dateUtils.localNowDate()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     await noteService.createNote(todayNote.noteId, title, html, { | 
					
						
							|  |  |  |         attributes: [ | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 type: 'label', | 
					
						
							|  |  |  |                 name: 'sourceUrl', | 
					
						
							| 
									
										
										
										
											2019-06-23 09:10:06 +02:00
										 |  |  |                 value: url | 
					
						
							| 
									
										
										
										
											2019-06-22 19:49:48 +02:00
										 |  |  |             } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return {}; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function createScreenshot(req) { | 
					
						
							|  |  |  |     console.log(req.body); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const {imageDataUrl, title, url} = req.body; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const prefix = "data:image/png;base64,"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (imageDataUrl.startsWith(prefix)) { | 
					
						
							|  |  |  |         const buffer = Buffer.from(imageDataUrl.substr(prefix.length), 'base64'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         const todayNote = await dateNoteService.getDateNote(dateUtils.localNowDate()); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-23 09:10:06 +02:00
										 |  |  |         const {note} = await imageService.saveImage(buffer, title + ".png", todayNote.noteId, true); | 
					
						
							| 
									
										
										
										
											2019-06-22 19:49:48 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         await note.setLabel('sourceUrl', url); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         console.log("Unrecognized prefix"); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-06-23 09:10:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     return {}; | 
					
						
							| 
									
										
										
										
											2019-06-22 19:49:48 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function ping(req, res) { | 
					
						
							|  |  |  |     console.log("PING!!!!"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     res.status(200).send("TriliumClipperServer"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = { | 
					
						
							|  |  |  |     createNote, | 
					
						
							|  |  |  |     createScreenshot, | 
					
						
							|  |  |  |     ping | 
					
						
							|  |  |  | }; |