summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-28 14:39:46 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-28 14:39:46 +0900
commitceda2ca89661d1bd3889453997fe0868a8c31e9d (patch)
tree94a3a12fc7230abdd9f82d77188fec345dfaf9cd /src/server/api/endpoints
parent:art: (diff)
downloadsharkey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.gz
sharkey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.bz2
sharkey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.zip
Implement delete note
Diffstat (limited to 'src/server/api/endpoints')
-rw-r--r--src/server/api/endpoints/notes/delete.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
new file mode 100644
index 0000000000..9bbb1541d6
--- /dev/null
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -0,0 +1,26 @@
+import $ from 'cafy'; import ID from '../../../../cafy-id';
+import Note from '../../../../models/note';
+import deleteNote from '../../../../services/note/delete';
+
+/**
+ * Delete a note
+ */
+module.exports = (params, user) => new Promise(async (res, rej) => {
+ // Get 'noteId' parameter
+ const [noteId, noteIdErr] = $.type(ID).get(params.noteId);
+ if (noteIdErr) return rej('invalid noteId param');
+
+ // Fetch note
+ const note = await Note.findOne({
+ _id: noteId,
+ userId: user._id
+ });
+
+ if (note === null) {
+ return rej('note not found');
+ }
+
+ await deleteNote(user, note);
+
+ res();
+});