summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-09-24 07:13:01 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-09-24 07:13:01 +0900
commit786f1d8be841f19ecefe200a13974c15ab13606d (patch)
tree54a50a7fca7bb18fa7ff6f1ac26ef7af196f1b85 /packages/backend/src/server/api
parentfixes (diff)
downloadsharkey-786f1d8be841f19ecefe200a13974c15ab13606d.tar.gz
sharkey-786f1d8be841f19ecefe200a13974c15ab13606d.tar.bz2
sharkey-786f1d8be841f19ecefe200a13974c15ab13606d.zip
remove unused files
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/common/inject-featured.ts53
-rw-r--r--packages/backend/src/server/api/common/inject-promo.ts33
2 files changed, 0 insertions, 86 deletions
diff --git a/packages/backend/src/server/api/common/inject-featured.ts b/packages/backend/src/server/api/common/inject-featured.ts
deleted file mode 100644
index d59bec33ab..0000000000
--- a/packages/backend/src/server/api/common/inject-featured.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import rndstr from 'rndstr';
-import type { Note } from '@/models/entities/Note.js';
-import type { User } from '@/models/entities/User.js';
-
-// TODO: リアクション、Renote、返信などをしたノートは除外する
-
-export async function injectFeatured(timeline: Note[], user?: User | null) {
- if (timeline.length < 5) return;
-
- if (user) {
- const profile = await UserProfiles.findOneByOrFail({ userId: user.id });
- if (!profile.injectFeaturedNote) return;
- }
-
- 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');
-
- if (user) {
- query.andWhere('note.userId != :userId', { userId: user.id });
-
- generateMutedUserQuery(query, user);
- generateBlockedUserQuery(query, user);
-
- const reactionQuery = NoteReactions.createQueryBuilder('reaction')
- .select('reaction.noteId')
- .where('reaction.userId = :userId', { userId: user.id });
-
- query.andWhere(`note.id NOT IN (${ reactionQuery.getQuery() })`);
- }
-
- const notes = await query
- .orderBy('note.score', 'DESC')
- .take(max)
- .getMany();
-
- if (notes.length === 0) return;
-
- // Pick random one
- const featured = notes[Math.floor(Math.random() * notes.length)];
-
- (featured as any)._featuredId_ = rndstr('a-z0-9', 8);
-
- // Inject featured
- timeline.splice(3, 0, featured);
-}
diff --git a/packages/backend/src/server/api/common/inject-promo.ts b/packages/backend/src/server/api/common/inject-promo.ts
deleted file mode 100644
index fe02897509..0000000000
--- a/packages/backend/src/server/api/common/inject-promo.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import rndstr from 'rndstr';
-import type { Note } from '@/models/entities/Note.js';
-import type { User } from '@/models/entities/User.js';
-
-export async function injectPromo(timeline: Note[], user?: User | null) {
- if (timeline.length < 5) return;
-
- // TODO: readやexpireフィルタはクエリ側でやる
-
- const reads = user ? await PromoReads.findBy({
- userId: user.id,
- }) : [];
-
- let promos = await PromoNotes.find();
-
- promos = promos.filter(n => n.expiresAt.getTime() > Date.now());
- promos = promos.filter(n => !reads.map(r => r.noteId).includes(n.noteId));
-
- if (promos.length === 0) return;
-
- // Pick random promo
- const promo = promos[Math.floor(Math.random() * promos.length)];
-
- const note = await Notes.findOneByOrFail({ id: promo.noteId });
-
- // Join
- note.user = await Users.findOneByOrFail({ id: note.userId });
-
- (note as any)._prId_ = rndstr('a-z0-9', 8);
-
- // Inject promo
- timeline.splice(3, 0, note);
-}