chore: check for mute / block for renote of note with DB query

This commit is contained in:
anatawa12
2025-05-09 23:35:07 +09:00
parent 7b8923b8a4
commit 5d7a5d5687
17 changed files with 33 additions and 0 deletions
@@ -238,6 +238,8 @@ export class SearchService {
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateMutedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
return query.limit(pagination.limit).getMany(); return query.limit(pagination.limit).getMany();
} }
@@ -116,6 +116,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateVisibilityQuery(query, me); this.queryService.generateVisibilityQuery(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
const notes = await query.getMany(); const notes = await query.getMany();
if (sinceId != null && untilId == null) { if (sinceId != null && untilId == null) {
@@ -126,6 +126,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (me) { if (me) {
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
} }
//#endregion //#endregion
@@ -91,6 +91,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (me) { if (me) {
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
} }
const notes = await query const notes = await query
@@ -75,6 +75,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (me) { if (me) {
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
} }
const notes = await query.limit(ps.limit).getMany(); const notes = await query.limit(ps.limit).getMany();
@@ -81,6 +81,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (me) { if (me) {
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateMutedUserRenotesQueryForNotes(query, me); this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
} }
@@ -247,6 +247,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateMutedUserRenotesQueryForNotes(query, me); this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
if (ps.includeMyRenotes === false) { if (ps.includeMyRenotes === false) {
@@ -160,6 +160,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateMutedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateMutedUserRenotesQueryForNotes(query, me); if (me) this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
if (ps.withFiles) { if (ps.withFiles) {
@@ -77,6 +77,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateMutedNoteThreadQuery(query, me); this.queryService.generateMutedNoteThreadQuery(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (ps.visibility) { if (ps.visibility) {
query.andWhere('note.visibility = :visibility', { visibility: ps.visibility }); query.andWhere('note.visibility = :visibility', { visibility: ps.visibility });
@@ -76,6 +76,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateMutedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
const renotes = await query.limit(ps.limit).getMany(); const renotes = await query.limit(ps.limit).getMany();
@@ -60,6 +60,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateMutedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
const timeline = await query.limit(ps.limit).getMany(); const timeline = await query.limit(ps.limit).getMany();
@@ -85,6 +85,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); if (me) this.queryService.generateMutedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) this.queryService.generateBlockedUserQueryForNotes(query, me);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
try { try {
if (ps.tag) { if (ps.tag) {
@@ -203,6 +203,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateMutedUserRenotesQueryForNotes(query, me); this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
if (ps.includeMyRenotes === false) { if (ps.includeMyRenotes === false) {
@@ -188,6 +188,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateMutedUserRenotesQueryForNotes(query, me); this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
if (ps.includeMyRenotes === false) { if (ps.includeMyRenotes === false) {
@@ -106,6 +106,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query); this.queryService.generateSuspendedUserQueryForNote(query);
this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateMutedUserQueryForNotes(query, me, { noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
const notes = await query.getMany(); const notes = await query.getMany();
notes.sort((a, b) => a.id > b.id ? -1 : 1); notes.sort((a, b) => a.id > b.id ? -1 : 1);
@@ -190,7 +190,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateSuspendedUserQueryForNote(query, true); this.queryService.generateSuspendedUserQueryForNote(query, true);
if (me) { if (me) {
this.queryService.generateMutedUserQueryForNotes(query, me, { excludeUserFromMute: ps.userId }); this.queryService.generateMutedUserQueryForNotes(query, me, { excludeUserFromMute: ps.userId });
this.queryService.generateMutedUserQueryForNotes(query, me, { excludeUserFromMute: ps.userId, noteColumn: 'renote' });
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
} }
if (ps.withFiles) { if (ps.withFiles) {
@@ -64,6 +64,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.queryService.generateMutedUserQueryForUsers(query, me); this.queryService.generateMutedUserQueryForUsers(query, me);
this.queryService.generateBlockQueryForUsers(query, me); this.queryService.generateBlockQueryForUsers(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me); this.queryService.generateBlockedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me, { noteColumn: 'renote' });
const followingQuery = this.followingsRepository.createQueryBuilder('following') const followingQuery = this.followingsRepository.createQueryBuilder('following')
.select('following.followeeId') .select('following.followeeId')