summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/core/AbuseReportNotificationService.ts32
1 files changed, 23 insertions, 9 deletions
diff --git a/packages/backend/src/core/AbuseReportNotificationService.ts b/packages/backend/src/core/AbuseReportNotificationService.ts
index 9bca795479..307f22586e 100644
--- a/packages/backend/src/core/AbuseReportNotificationService.ts
+++ b/packages/backend/src/core/AbuseReportNotificationService.ts
@@ -83,6 +83,28 @@ export class AbuseReportNotificationService implements OnApplicationShutdown {
}
/**
+ * Collects all email addresses that a abuse report should be sent to.
+ */
+ @bindThis
+ public async getRecipientEMailAddresses(): Promise<string[]> {
+ const recipientEMailAddresses = await this.fetchEMailRecipients().then(it => it
+ .filter(it => it.isActive && it.userProfile?.emailVerified)
+ .map(it => it.userProfile?.email)
+ .filter(x => x != null),
+ );
+
+ if (this.meta.email) {
+ recipientEMailAddresses.push(this.meta.email);
+ }
+
+ if (this.meta.maintainerEmail) {
+ recipientEMailAddresses.push(this.meta.maintainerEmail);
+ }
+
+ return recipientEMailAddresses;
+ }
+
+ /**
* Mailを用いて{@link abuseReports}の内容を管理者各位に通知する.
* メールアドレスの送信先は以下の通り.
* - モデレータ権限所有者ユーザ(設定画面からメールアドレスの設定を行っているユーザに限る)
@@ -96,15 +118,7 @@ export class AbuseReportNotificationService implements OnApplicationShutdown {
return;
}
- const recipientEMailAddresses = await this.fetchEMailRecipients().then(it => it
- .filter(it => it.isActive && it.userProfile?.emailVerified)
- .map(it => it.userProfile?.email)
- .filter(x => x != null),
- );
-
- recipientEMailAddresses.push(
- ...(this.meta.email ? [this.meta.email] : []),
- );
+ const recipientEMailAddresses = await this.getRecipientEMailAddresses();
if (recipientEMailAddresses.length <= 0) {
return;