summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/NoteCreateService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-01-28 01:47:03 -0500
committerHazelnoot <acomputerdog@gmail.com>2025-02-16 19:20:37 -0500
commitea89348b62706c4f6fbeaf603fc73d1b9874e7d0 (patch)
tree3e0e3264b7612183adc568ce6104dc2cbe55ed1c /packages/backend/src/core/NoteCreateService.ts
parentrefresh cache when marking a user as NSFW (diff)
downloadsharkey-ea89348b62706c4f6fbeaf603fc73d1b9874e7d0.tar.gz
sharkey-ea89348b62706c4f6fbeaf603fc73d1b9874e7d0.tar.bz2
sharkey-ea89348b62706c4f6fbeaf603fc73d1b9874e7d0.zip
add user-level "force content warning" moderation feature
Diffstat (limited to 'packages/backend/src/core/NoteCreateService.ts')
-rw-r--r--packages/backend/src/core/NoteCreateService.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts
index f24c665659..ecf711e011 100644
--- a/packages/backend/src/core/NoteCreateService.ts
+++ b/packages/backend/src/core/NoteCreateService.ts
@@ -234,6 +234,7 @@ export class NoteCreateService implements OnApplicationShutdown {
host: MiUser['host'];
isBot: MiUser['isBot'];
noindex: MiUser['noindex'];
+ mandatoryCW: MiUser['mandatoryCW'];
}, data: Option, silent = false): Promise<MiNote> {
// チャンネル外にリプライしたら対象のスコープに合わせる
// (クライアントサイドでやっても良い処理だと思うけどとりあえずサーバーサイドで)
@@ -368,6 +369,15 @@ export class NoteCreateService implements OnApplicationShutdown {
data.cw = null;
}
+ // Apply mandatory CW, if applicable
+ if (user.mandatoryCW) {
+ if (data.cw) {
+ data.cw += `, ${user.mandatoryCW}`;
+ } else {
+ data.cw = user.mandatoryCW;
+ }
+ }
+
let tags = data.apHashtags;
let emojis = data.apEmojis;
let mentionedUsers = data.apMentions;
@@ -441,6 +451,7 @@ export class NoteCreateService implements OnApplicationShutdown {
host: MiUser['host'];
isBot: MiUser['isBot'];
noindex: MiUser['noindex'];
+ mandatoryCW: MiUser['mandatoryCW'];
}, data: Option): Promise<MiNote> {
return this.create(user, data, true);
}