summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes')
-rw-r--r--src/server/api/endpoints/notes/conversation.ts10
-rw-r--r--src/server/api/endpoints/notes/create.ts12
-rw-r--r--src/server/api/endpoints/notes/delete.ts11
-rw-r--r--src/server/api/endpoints/notes/favorites/create.ts10
-rw-r--r--src/server/api/endpoints/notes/favorites/delete.ts10
-rw-r--r--src/server/api/endpoints/notes/featured.ts12
-rw-r--r--src/server/api/endpoints/notes/global-timeline.ts16
-rw-r--r--src/server/api/endpoints/notes/hybrid-timeline.ts16
-rw-r--r--src/server/api/endpoints/notes/local-timeline.ts16
-rw-r--r--src/server/api/endpoints/notes/mentions.ts10
-rw-r--r--src/server/api/endpoints/notes/polls/recommendation.ts10
-rw-r--r--src/server/api/endpoints/notes/polls/vote.ts10
-rw-r--r--src/server/api/endpoints/notes/reactions.ts10
-rw-r--r--src/server/api/endpoints/notes/reactions/create.ts10
-rw-r--r--src/server/api/endpoints/notes/reactions/delete.ts10
-rw-r--r--src/server/api/endpoints/notes/renotes.ts10
-rw-r--r--src/server/api/endpoints/notes/replies.ts10
-rw-r--r--src/server/api/endpoints/notes/search.ts10
-rw-r--r--src/server/api/endpoints/notes/search_by_tag.ts10
-rw-r--r--src/server/api/endpoints/notes/show.ts10
-rw-r--r--src/server/api/endpoints/notes/timeline.ts15
-rw-r--r--src/server/api/endpoints/notes/user-list-timeline.ts15
22 files changed, 81 insertions, 172 deletions
diff --git a/src/server/api/endpoints/notes/conversation.ts b/src/server/api/endpoints/notes/conversation.ts
index c7be6d6e3f..7703ef7d2e 100644
--- a/src/server/api/endpoints/notes/conversation.ts
+++ b/src/server/api/endpoints/notes/conversation.ts
@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany, INote } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -29,10 +28,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Lookup note
const note = await Note.findOne({
_id: ps.noteId
@@ -67,4 +63,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
}
res(await packMany(conversation, user));
-});
+}));
diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts
index 9eff8c27bf..8a8813daba 100644
--- a/src/server/api/endpoints/notes/create.ts
+++ b/src/server/api/endpoints/notes/create.ts
@@ -1,11 +1,10 @@
import $ from 'cafy'; import ID, { transform, transformMany } from '../../../../misc/cafy-id';
const ms = require('ms');
import Note, { INote, isValidText, isValidCw, pack } from '../../../../models/note';
-import User, { ILocalUser, IUser } from '../../../../models/user';
+import User, { IUser } from '../../../../models/user';
import DriveFile, { IDriveFile } from '../../../../models/drive-file';
import create from '../../../../services/note/create';
-import { IApp } from '../../../../models/app';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
stability: 'stable',
@@ -139,10 +138,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser, app: IApp) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user, app) => new Promise(async (res, rej) => {
let visibleUsers: IUser[] = [];
if (ps.visibleUserIds) {
visibleUsers = await Promise.all(ps.visibleUserIds.map(id => User.findOne({
@@ -229,4 +225,4 @@ export default (params: any, user: ILocalUser, app: IApp) => new Promise(async (
res({
createdNote: noteObj
});
-});
+}));
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
index 580cb344e1..a8f22ad405 100644
--- a/src/server/api/endpoints/notes/delete.ts
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -1,8 +1,8 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import deleteNote from '../../../../services/note/delete';
-import User, { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import User from '../../../../models/user';
+import define from '../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +28,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Fetch note
const note = await Note.findOne({
_id: ps.noteId
@@ -48,4 +45,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
await deleteNote(await User.findOne({ _id: note.userId }), note);
res();
-});
+}));
diff --git a/src/server/api/endpoints/notes/favorites/create.ts b/src/server/api/endpoints/notes/favorites/create.ts
index e489c77761..a50b5002c2 100644
--- a/src/server/api/endpoints/notes/favorites/create.ts
+++ b/src/server/api/endpoints/notes/favorites/create.ts
@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +27,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Get favoritee
const note = await Note.findOne({
_id: ps.noteId
@@ -60,4 +56,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Send response
res();
-});
+}));
diff --git a/src/server/api/endpoints/notes/favorites/delete.ts b/src/server/api/endpoints/notes/favorites/delete.ts
index ac1b35d194..0aad61fedd 100644
--- a/src/server/api/endpoints/notes/favorites/delete.ts
+++ b/src/server/api/endpoints/notes/favorites/delete.ts
@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +27,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Get favoritee
const note = await Note.findOne({
_id: ps.noteId
@@ -58,4 +54,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Send response
res();
-});
+}));
diff --git a/src/server/api/endpoints/notes/featured.ts b/src/server/api/endpoints/notes/featured.ts
index c031308824..823137ac21 100644
--- a/src/server/api/endpoints/notes/featured.ts
+++ b/src/server/api/endpoints/notes/featured.ts
@@ -1,8 +1,7 @@
import $ from 'cafy';
import Note from '../../../../models/note';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -23,10 +22,7 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const day = 1000 * 60 * 60 * 24;
const notes = await Note
@@ -46,5 +42,5 @@ export default async (params: any, user: ILocalUser) => {
}
});
- return await packMany(notes, user);
-};
+ res(await packMany(notes, user));
+}));
diff --git a/src/server/api/endpoints/notes/global-timeline.ts b/src/server/api/endpoints/notes/global-timeline.ts
index fa7a76f12e..b7f765f27d 100644
--- a/src/server/api/endpoints/notes/global-timeline.ts
+++ b/src/server/api/endpoints/notes/global-timeline.ts
@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -51,13 +50,10 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
- throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
+ return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
// ミュートしているユーザーを取得
@@ -120,13 +116,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
- // Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
- // Serialize
- return await packMany(timeline, user);
-};
+ res(await packMany(timeline, user));
+}));
diff --git a/src/server/api/endpoints/notes/hybrid-timeline.ts b/src/server/api/endpoints/notes/hybrid-timeline.ts
index 0008144823..4af182cb5c 100644
--- a/src/server/api/endpoints/notes/hybrid-timeline.ts
+++ b/src/server/api/endpoints/notes/hybrid-timeline.ts
@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { getFriends } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -91,13 +90,10 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
- throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
+ return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
const [followings, mutedUserIds] = await Promise.all([
@@ -246,13 +242,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
- // Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
- // Serialize
- return await packMany(timeline, user);
-};
+ res(await packMany(timeline, user));
+}));
diff --git a/src/server/api/endpoints/notes/local-timeline.ts b/src/server/api/endpoints/notes/local-timeline.ts
index 78ddf00626..4446f52cdc 100644
--- a/src/server/api/endpoints/notes/local-timeline.ts
+++ b/src/server/api/endpoints/notes/local-timeline.ts
@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -66,13 +65,10 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
- throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
+ return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
// ミュートしているユーザーを取得
@@ -150,13 +146,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
- // Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
- // Serialize
- return await packMany(timeline, user);
-};
+ res(await packMany(timeline, user));
+}));
diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts
index 3fc3977075..718f5e4403 100644
--- a/src/server/api/endpoints/notes/mentions.ts
+++ b/src/server/api/endpoints/notes/mentions.ts
@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import { getFriendIds } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
import read from '../../../../services/note/read';
export const meta = {
@@ -41,10 +40,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -96,4 +92,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await packMany(mentions, user));
mentions.forEach(note => read(user._id, note._id));
-});
+}));
diff --git a/src/server/api/endpoints/notes/polls/recommendation.ts b/src/server/api/endpoints/notes/polls/recommendation.ts
index 34250a32f9..cfcba788ec 100644
--- a/src/server/api/endpoints/notes/polls/recommendation.ts
+++ b/src/server/api/endpoints/notes/polls/recommendation.ts
@@ -1,8 +1,7 @@
import $ from 'cafy';
import Vote from '../../../../../models/poll-vote';
import Note, { pack } from '../../../../../models/note';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -25,10 +24,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Get votes
const votes = await Vote.find({
userId: user._id
@@ -64,4 +60,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await Promise.all(notes.map(note => pack(note, user, {
detail: true
}))));
-});
+}));
diff --git a/src/server/api/endpoints/notes/polls/vote.ts b/src/server/api/endpoints/notes/polls/vote.ts
index 32dcefec7b..f50e84ba13 100644
--- a/src/server/api/endpoints/notes/polls/vote.ts
+++ b/src/server/api/endpoints/notes/polls/vote.ts
@@ -5,8 +5,7 @@ import Watching from '../../../../../models/note-watching';
import watch from '../../../../../services/note/watch';
import { publishNoteStream } from '../../../../../stream';
import notify from '../../../../../notify';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -30,10 +29,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Get votee
const note = await Note.findOne({
_id: ps.noteId
@@ -114,4 +110,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
if (user.settings.autoWatch !== false) {
watch(user._id, note);
}
-});
+}));
diff --git a/src/server/api/endpoints/notes/reactions.ts b/src/server/api/endpoints/notes/reactions.ts
index 1ab5afaba1..a1b249638f 100644
--- a/src/server/api/endpoints/notes/reactions.ts
+++ b/src/server/api/endpoints/notes/reactions.ts
@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Reaction, { pack } from '../../../../models/note-reaction';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -44,10 +43,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -90,4 +86,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Serialize
res(await Promise.all(reactions.map(reaction => pack(reaction, user))));
-});
+}));
diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/src/server/api/endpoints/notes/reactions/create.ts
index f2b06473a5..c9f70d9658 100644
--- a/src/server/api/endpoints/notes/reactions/create.ts
+++ b/src/server/api/endpoints/notes/reactions/create.ts
@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id
import Note from '../../../../../models/note';
import create from '../../../../../services/note/reaction/create';
import { validateReaction } from '../../../../../models/note-reaction';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -35,10 +34,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Fetch reactee
const note = await Note.findOne({
_id: ps.noteId
@@ -59,4 +55,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
}
res();
-});
+}));
diff --git a/src/server/api/endpoints/notes/reactions/delete.ts b/src/server/api/endpoints/notes/reactions/delete.ts
index 2a2577dfe6..60f49fb275 100644
--- a/src/server/api/endpoints/notes/reactions/delete.ts
+++ b/src/server/api/endpoints/notes/reactions/delete.ts
@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Reaction from '../../../../../models/note-reaction';
import Note from '../../../../../models/note';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -22,10 +21,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Fetch unreactee
const note = await Note.findOne({
_id: ps.noteId
@@ -64,4 +60,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
Note.update({ _id: note._id }, {
$inc: dec
});
-});
+}));
diff --git a/src/server/api/endpoints/notes/renotes.ts b/src/server/api/endpoints/notes/renotes.ts
index ff926806eb..85d5820e58 100644
--- a/src/server/api/endpoints/notes/renotes.ts
+++ b/src/server/api/endpoints/notes/renotes.ts
@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -34,10 +33,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -78,4 +74,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
res(await packMany(renotes, user));
-});
+}));
diff --git a/src/server/api/endpoints/notes/replies.ts b/src/server/api/endpoints/notes/replies.ts
index 86a75c1cab..8b5a3593d1 100644
--- a/src/server/api/endpoints/notes/replies.ts
+++ b/src/server/api/endpoints/notes/replies.ts
@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -29,10 +28,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Lookup note
const note = await Note.findOne({
_id: ps.noteId
@@ -45,4 +41,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
const ids = (note._replyIds || []).slice(ps.offset, ps.offset + ps.limit);
res(await packMany(ids, user));
-});
+}));
diff --git a/src/server/api/endpoints/notes/search.ts b/src/server/api/endpoints/notes/search.ts
index 63a87c0f56..e107ca4e15 100644
--- a/src/server/api/endpoints/notes/search.ts
+++ b/src/server/api/endpoints/notes/search.ts
@@ -1,10 +1,9 @@
import $ from 'cafy';
import * as mongo from 'mongodb';
import Note from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
import { packMany } from '../../../../models/note';
import es from '../../../../db/elasticsearch';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -31,10 +30,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (es == null) return rej('searching not available');
es.search({
@@ -79,4 +75,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
res(await packMany(notes, me));
});
-});
+}));
diff --git a/src/server/api/endpoints/notes/search_by_tag.ts b/src/server/api/endpoints/notes/search_by_tag.ts
index 99a6dce834..fcc33d14f3 100644
--- a/src/server/api/endpoints/notes/search_by_tag.ts
+++ b/src/server/api/endpoints/notes/search_by_tag.ts
@@ -1,10 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
import Mute from '../../../../models/mute';
import { getFriendIds } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -103,10 +102,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const q: any = {
$and: [ps.tag ? {
tagsLower: ps.tag.toLowerCase()
@@ -322,4 +318,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await packMany(notes, me));
-});
+}));
diff --git a/src/server/api/endpoints/notes/show.ts b/src/server/api/endpoints/notes/show.ts
index 8b426c0053..53246102d0 100644
--- a/src/server/api/endpoints/notes/show.ts
+++ b/src/server/api/endpoints/notes/show.ts
@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { pack } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
stability: 'stable',
@@ -25,10 +24,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Get note
const note = await Note.findOne({
_id: ps.noteId
@@ -42,4 +38,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await pack(note, user, {
detail: true
}));
-});
+}));
diff --git a/src/server/api/endpoints/notes/timeline.ts b/src/server/api/endpoints/notes/timeline.ts
index 8834645fc8..3c970c03a1 100644
--- a/src/server/api/endpoints/notes/timeline.ts
+++ b/src/server/api/endpoints/notes/timeline.ts
@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { getFriends } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -94,13 +93,11 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
- throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
+ rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
+ return;
}
const [followings, mutedUserIds] = await Promise.all([
@@ -251,5 +248,5 @@ export default async (params: any, user: ILocalUser) => {
});
// Serialize
- return await packMany(timeline, user);
-};
+ res(await packMany(timeline, user));
+}));
diff --git a/src/server/api/endpoints/notes/user-list-timeline.ts b/src/server/api/endpoints/notes/user-list-timeline.ts
index 3bdcc6c121..156ffbbc32 100644
--- a/src/server/api/endpoints/notes/user-list-timeline.ts
+++ b/src/server/api/endpoints/notes/user-list-timeline.ts
@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
import UserList from '../../../../models/user-list';
-import { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -101,10 +100,7 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) throw psErr;
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const [list, mutedUserIds] = await Promise.all([
// リストを取得
// Fetch the list
@@ -120,7 +116,8 @@ export default async (params: any, user: ILocalUser) => {
]);
if (list.userIds.length == 0) {
- return [];
+ res([]);
+ return;
}
//#region Construct query
@@ -258,5 +255,5 @@ export default async (params: any, user: ILocalUser) => {
});
// Serialize
- return await packMany(timeline, user);
-};
+ res(await packMany(timeline, user));
+}));