summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/UtilityService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/core/UtilityService.ts')
-rw-r--r--packages/backend/src/core/UtilityService.ts39
1 files changed, 33 insertions, 6 deletions
diff --git a/packages/backend/src/core/UtilityService.ts b/packages/backend/src/core/UtilityService.ts
index 170afc72dc..3098367392 100644
--- a/packages/backend/src/core/UtilityService.ts
+++ b/packages/backend/src/core/UtilityService.ts
@@ -49,22 +49,49 @@ export class UtilityService {
return regexp.test(email);
}
+ public isBlockedHost(host: string | null): boolean;
+ public isBlockedHost(blockedHosts: string[], host: string | null): boolean;
@bindThis
- public isBlockedHost(blockedHosts: string[], host: string | null): boolean {
+ public isBlockedHost(blockedHostsOrHost: string[] | string | null, host?: string | null): boolean {
+ const blockedHosts = Array.isArray(blockedHostsOrHost) ? blockedHostsOrHost : this.meta.blockedHosts;
+ host = Array.isArray(blockedHostsOrHost) ? host : blockedHostsOrHost;
+
if (host == null) return false;
return blockedHosts.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
}
+ public isSilencedHost(host: string | null): boolean;
+ public isSilencedHost(silencedHosts: string[], host: string | null): boolean;
@bindThis
- public isSilencedHost(silencedHosts: string[] | undefined, host: string | null): boolean {
- if (!silencedHosts || host == null) return false;
+ public isSilencedHost(silencedHostsOrHost: string[] | string | null, host?: string | null): boolean {
+ const silencedHosts = Array.isArray(silencedHostsOrHost) ? silencedHostsOrHost : this.meta.silencedHosts;
+ host = Array.isArray(silencedHostsOrHost) ? host : silencedHostsOrHost;
+
+ if (host == null) return false;
return silencedHosts.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
}
+ public isMediaSilencedHost(host: string | null): boolean;
+ public isMediaSilencedHost(silencedHosts: string[], host: string | null): boolean;
@bindThis
- public isMediaSilencedHost(silencedHosts: string[] | undefined, host: string | null): boolean {
- if (!silencedHosts || host == null) return false;
- return silencedHosts.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
+ public isMediaSilencedHost(mediaSilencedHostsOrHost: string[] | string | null, host?: string | null): boolean {
+ const mediaSilencedHosts = Array.isArray(mediaSilencedHostsOrHost) ? mediaSilencedHostsOrHost : this.meta.mediaSilencedHosts;
+ host = Array.isArray(mediaSilencedHostsOrHost) ? host : mediaSilencedHostsOrHost;
+
+ if (host == null) return false;
+ return mediaSilencedHosts.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
+ }
+
+ @bindThis
+ public isAllowListedHost(host: string | null): boolean {
+ if (host == null) return false;
+ return this.meta.federationHosts.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
+ }
+
+ @bindThis
+ public isBubbledHost(host: string | null): boolean {
+ if (host == null) return false;
+ return this.meta.bubbleInstances.some(x => `.${host.toLowerCase()}`.endsWith(`.${x}`));
}
@bindThis