summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes/featured.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes/featured.ts')
-rw-r--r--src/server/api/endpoints/notes/featured.ts64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/server/api/endpoints/notes/featured.ts b/src/server/api/endpoints/notes/featured.ts
deleted file mode 100644
index 8d33c0e73d..0000000000
--- a/src/server/api/endpoints/notes/featured.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import $ from 'cafy';
-import define from '../../define';
-import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
-import { Notes } from '@/models/index';
-import { generateBlockedUserQuery } from '../../common/generate-block-query';
-
-export const meta = {
- tags: ['notes'],
-
- requireCredential: false as const,
-
- params: {
- limit: {
- validator: $.optional.num.range(1, 100),
- default: 10,
- },
-
- offset: {
- validator: $.optional.num.min(0),
- default: 0
- },
- },
-
- res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
- items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- ref: 'Note',
- }
- },
-};
-
-export default define(meta, async (ps, user) => {
- const max = 30;
- const day = 1000 * 60 * 60 * 24 * 3; // 3日前まで
-
- const query = Notes.createQueryBuilder('note')
- .addSelect('note.score')
- .where('note.userHost IS NULL')
- .andWhere(`note.score > 0`)
- .andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) })
- .andWhere(`note.visibility = 'public'`)
- .innerJoinAndSelect('note.user', 'user')
- .leftJoinAndSelect('note.reply', 'reply')
- .leftJoinAndSelect('note.renote', 'renote')
- .leftJoinAndSelect('reply.user', 'replyUser')
- .leftJoinAndSelect('renote.user', 'renoteUser');
-
- if (user) generateMutedUserQuery(query, user);
- if (user) generateBlockedUserQuery(query, user);
-
- let notes = await query
- .orderBy('note.score', 'DESC')
- .take(max)
- .getMany();
-
- notes.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
-
- notes = notes.slice(ps.offset, ps.offset + ps.limit);
-
- return await Notes.packMany(notes, user);
-});