summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes/context.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes/context.ts')
-rw-r--r--src/server/api/endpoints/notes/context.ts63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/server/api/endpoints/notes/context.ts b/src/server/api/endpoints/notes/context.ts
deleted file mode 100644
index 1cd27250e2..0000000000
--- a/src/server/api/endpoints/notes/context.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Module dependencies
- */
-import $ from 'cafy'; import ID from '../../../../cafy-id';
-import Note, { pack } from '../../../../models/note';
-
-/**
- * Show a context of a note
- *
- * @param {any} params
- * @param {any} user
- * @return {Promise<any>}
- */
-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');
-
- // Get 'limit' parameter
- const [limit = 10, limitErr] = $.num.optional().range(1, 100).get(params.limit);
- if (limitErr) return rej('invalid limit param');
-
- // Get 'offset' parameter
- const [offset = 0, offsetErr] = $.num.optional().min(0).get(params.offset);
- if (offsetErr) return rej('invalid offset param');
-
- // Lookup note
- const note = await Note.findOne({
- _id: noteId
- });
-
- if (note === null) {
- return rej('note not found');
- }
-
- const context = [];
- let i = 0;
-
- async function get(id) {
- i++;
- const p = await Note.findOne({ _id: id });
-
- if (i > offset) {
- context.push(p);
- }
-
- if (context.length == limit) {
- return;
- }
-
- if (p.replyId) {
- await get(p.replyId);
- }
- }
-
- if (note.replyId) {
- await get(note.replyId);
- }
-
- // Serialize
- res(await Promise.all(context.map(async note =>
- await pack(note, user))));
-});