2018-02-11 13:18:59 +08:00
|
|
|
"use strict";
|
|
|
|
|
2019-07-11 05:01:30 +08:00
|
|
|
const imageType = require('image-type');
|
2018-04-02 09:27:46 +08:00
|
|
|
const imageService = require('../../services/image');
|
|
|
|
const dateNoteService = require('../../services/date_notes');
|
|
|
|
const noteService = require('../../services/notes');
|
2018-02-11 13:18:59 +08:00
|
|
|
|
2018-03-31 05:29:13 +08:00
|
|
|
async function uploadImage(req) {
|
2018-02-11 13:18:59 +08:00
|
|
|
const file = req.file;
|
|
|
|
|
|
|
|
if (!["image/png", "image/jpeg", "image/gif"].includes(file.mimetype)) {
|
2018-03-31 05:29:13 +08:00
|
|
|
return [400, "Unknown image type: " + file.mimetype];
|
2018-02-11 13:18:59 +08:00
|
|
|
}
|
|
|
|
|
2019-07-11 05:01:30 +08:00
|
|
|
const originalName = "Sender image." + imageType(file.buffer).ext;
|
|
|
|
|
2018-04-08 01:03:16 +08:00
|
|
|
const parentNote = await dateNoteService.getDateNote(req.headers['x-local-date']);
|
2018-02-11 13:18:59 +08:00
|
|
|
|
2019-11-09 05:34:30 +08:00
|
|
|
const {noteId} = await imageService.saveImage(parentNote.noteId, file.buffer, originalName, true);
|
2018-02-11 13:18:59 +08:00
|
|
|
|
2019-02-20 04:24:35 +08:00
|
|
|
return {
|
|
|
|
noteId: noteId
|
|
|
|
};
|
2018-03-31 05:29:13 +08:00
|
|
|
}
|
2018-02-11 13:18:59 +08:00
|
|
|
|
2018-03-31 05:29:13 +08:00
|
|
|
async function saveNote(req) {
|
2018-04-08 01:03:16 +08:00
|
|
|
const parentNote = await dateNoteService.getDateNote(req.headers['x-local-date']);
|
2018-02-11 23:54:56 +08:00
|
|
|
|
2019-02-20 04:24:35 +08:00
|
|
|
const {note, branch} = await noteService.createNewNote(parentNote.noteId, {
|
2018-02-11 23:54:56 +08:00
|
|
|
title: req.body.title,
|
|
|
|
content: req.body.content,
|
|
|
|
target: 'into',
|
|
|
|
isProtected: false,
|
|
|
|
type: 'text',
|
|
|
|
mime: 'text/html'
|
|
|
|
});
|
2019-02-20 04:24:35 +08:00
|
|
|
|
|
|
|
return {
|
|
|
|
noteId: note.noteId,
|
|
|
|
branchId: branch.branchId
|
|
|
|
};
|
2018-03-31 05:29:13 +08:00
|
|
|
}
|
2018-02-11 23:54:56 +08:00
|
|
|
|
2018-03-31 05:29:13 +08:00
|
|
|
module.exports = {
|
|
|
|
uploadImage,
|
|
|
|
saveNote
|
|
|
|
};
|