diff options
Diffstat (limited to 'src/server/api/endpoints/notes/trend.ts')
| -rw-r--r-- | src/server/api/endpoints/notes/trend.ts | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/src/server/api/endpoints/notes/trend.ts b/src/server/api/endpoints/notes/trend.ts deleted file mode 100644 index 9f55ed3243..0000000000 --- a/src/server/api/endpoints/notes/trend.ts +++ /dev/null @@ -1,76 +0,0 @@ -const ms = require('ms'); -import $ from 'cafy'; -import Note, { pack } from '../../../../models/note'; -import { ILocalUser } from '../../../../models/user'; - -export const meta = { - desc: { - 'ja-JP': '人気の投稿の一覧を取得します。', - 'en-US': 'Get trend notes.' - }, - - requireCredential: true -}; - -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - // 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'); - - // Get 'reply' parameter - const [reply, replyErr] = $.bool.optional.get(params.reply); - if (replyErr) return rej('invalid reply param'); - - // Get 'renote' parameter - const [renote, renoteErr] = $.bool.optional.get(params.renote); - if (renoteErr) return rej('invalid renote param'); - - // Get 'media' parameter - const [media, mediaErr] = $.bool.optional.get(params.media); - if (mediaErr) return rej('invalid media param'); - - // Get 'poll' parameter - const [poll, pollErr] = $.bool.optional.get(params.poll); - if (pollErr) return rej('invalid poll param'); - - const query = { - _id: { $gte: new Date(Date.now() - ms('1days')) }, - renoteCount: { $gt: 0 }, - '_user.host': null - } as any; - - if (reply != undefined) { - query.replyId = reply ? { $exists: true, $ne: null } : null; - } - - if (renote != undefined) { - query.renoteId = renote ? { $exists: true, $ne: null } : null; - } - - if (media != undefined) { - query.fileIds = media ? { $exists: true, $ne: null } : null; - } - - if (poll != undefined) { - query.poll = poll ? { $exists: true, $ne: null } : null; - } - - // Issue query - const notes = await Note - .find(query, { - limit: limit, - skip: offset, - sort: { - renoteCount: -1, - _id: -1 - } - }); - - // Serialize - res(await Promise.all(notes.map(async note => - await pack(note, user, { detail: true })))); -}); |