mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-27 14:13:07 +02:00
Refactor: Extract shouldMuteThisNote function
This commit is contained in:
parent
311b4e90ca
commit
44f6fe6f1f
6 changed files with 29 additions and 53 deletions
15
src/misc/should-mute-this-note.ts
Normal file
15
src/misc/should-mute-this-note.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
export default function(note: any, mutedUserIds: string[]): boolean {
|
||||
if (mutedUserIds.indexOf(note.userId) != -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (note.reply != null && mutedUserIds.indexOf(note.reply.userId) != -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (note.renote != null && mutedUserIds.indexOf(note.renote.userId) != -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
|
@ -3,6 +3,7 @@ import Xev from 'xev';
|
|||
|
||||
import { IUser } from '../../../models/user';
|
||||
import Mute from '../../../models/mute';
|
||||
import shouldMuteThisNote from '../../../misc/should-mute-this-note';
|
||||
|
||||
export default async function(
|
||||
request: websocket.request,
|
||||
|
@ -15,17 +16,8 @@ export default async function(
|
|||
|
||||
// Subscribe stream
|
||||
subscriber.on('global-timeline', async note => {
|
||||
//#region 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (mutedUserIds.indexOf(note.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.reply != null && mutedUserIds.indexOf(note.reply.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.renote != null && mutedUserIds.indexOf(note.renote.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
//#endregion
|
||||
// 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (shouldMuteThisNote(note, mutedUserIds)) return;
|
||||
|
||||
connection.send(JSON.stringify({
|
||||
type: 'note',
|
||||
|
|
|
@ -4,6 +4,7 @@ import Xev from 'xev';
|
|||
import { IUser } from '../../../models/user';
|
||||
import Mute from '../../../models/mute';
|
||||
import { pack } from '../../../models/note';
|
||||
import shouldMuteThisNote from '../../../misc/should-mute-this-note';
|
||||
|
||||
export default async function(
|
||||
request: websocket.request,
|
||||
|
@ -28,17 +29,8 @@ export default async function(
|
|||
});
|
||||
}
|
||||
|
||||
//#region 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (mutedUserIds.indexOf(note.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.reply != null && mutedUserIds.indexOf(note.reply.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.renote != null && mutedUserIds.indexOf(note.renote.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
//#endregion
|
||||
// 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (shouldMuteThisNote(note, mutedUserIds)) return;
|
||||
|
||||
connection.send(JSON.stringify({
|
||||
type: 'note',
|
||||
|
|
|
@ -8,6 +8,7 @@ import { pack as packNote, pack } from '../../../models/note';
|
|||
import readNotification from '../common/read-notification';
|
||||
import call from '../call';
|
||||
import { IApp } from '../../../models/app';
|
||||
import shouldMuteThisNote from '../../../misc/should-mute-this-note';
|
||||
|
||||
const log = debug('misskey');
|
||||
|
||||
|
@ -45,15 +46,7 @@ export default async function(
|
|||
|
||||
//#region 流れてきたメッセージがミュートしているユーザーが関わるものだったら無視する
|
||||
if (x.type == 'note') {
|
||||
if (mutedUserIds.includes(x.body.userId)) {
|
||||
return;
|
||||
}
|
||||
if (x.body.reply != null && mutedUserIds.includes(x.body.reply.userId)) {
|
||||
return;
|
||||
}
|
||||
if (x.body.renote != null && mutedUserIds.includes(x.body.renote.userId)) {
|
||||
return;
|
||||
}
|
||||
if (shouldMuteThisNote(x.body, mutedUserIds)) return;
|
||||
} else if (x.type == 'notification') {
|
||||
if (mutedUserIds.includes(x.body.userId)) {
|
||||
return;
|
||||
|
|
|
@ -4,6 +4,7 @@ import Xev from 'xev';
|
|||
import { IUser } from '../../../models/user';
|
||||
import Mute from '../../../models/mute';
|
||||
import { pack } from '../../../models/note';
|
||||
import shouldMuteThisNote from '../../../misc/should-mute-this-note';
|
||||
|
||||
export default async function(
|
||||
request: websocket.request,
|
||||
|
@ -26,17 +27,8 @@ export default async function(
|
|||
});
|
||||
}
|
||||
|
||||
//#region 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (mutedUserIds.indexOf(note.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.reply != null && mutedUserIds.indexOf(note.reply.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.renote != null && mutedUserIds.indexOf(note.renote.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
//#endregion
|
||||
// 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (shouldMuteThisNote(note, mutedUserIds)) return;
|
||||
|
||||
connection.send(JSON.stringify({
|
||||
type: 'note',
|
||||
|
|
|
@ -4,6 +4,7 @@ import Xev from 'xev';
|
|||
import { IUser } from '../../../models/user';
|
||||
import Mute from '../../../models/mute';
|
||||
import { pack } from '../../../models/note';
|
||||
import shouldMuteThisNote from '../../../misc/should-mute-this-note';
|
||||
|
||||
export default async function(
|
||||
request: websocket.request,
|
||||
|
@ -23,17 +24,8 @@ export default async function(
|
|||
});
|
||||
}
|
||||
|
||||
//#region 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (mutedUserIds.indexOf(note.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.reply != null && mutedUserIds.indexOf(note.reply.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
if (note.renote != null && mutedUserIds.indexOf(note.renote.userId) != -1) {
|
||||
return;
|
||||
}
|
||||
//#endregion
|
||||
// 流れてきたNoteがミュートしているユーザーが関わるものだったら無視する
|
||||
if (shouldMuteThisNote(note, mutedUserIds)) return;
|
||||
|
||||
connection.send(JSON.stringify({
|
||||
type: 'note',
|
||||
|
|
Loading…
Reference in a new issue