diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 13:47:44 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 13:47:44 +0900 |
| commit | 174f8022eb5828db3e9af01afcf72fe7526c4c57 (patch) | |
| tree | 3fab406b94f4244cf5330cf985a8eb518a1e027f /src/server/api/endpoints/notes | |
| parent | Better index (diff) | |
| download | sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.tar.gz sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.tar.bz2 sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.zip | |
Refactor
Diffstat (limited to 'src/server/api/endpoints/notes')
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)); +})); |