summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2025-05-02 15:26:15 +0100
committerdakkar <dakkar@thenautilus.net>2025-05-02 15:57:56 +0100
commit31d93c80525ef450f528287c50ed22270892c432 (patch)
tree60b68311047061999dc2eeba77583b302e1005d8 /packages/backend/src/server/api
parentenforce maxFileSize for remote users (diff)
downloadsharkey-31d93c80525ef450f528287c50ed22270892c432.tar.gz
sharkey-31d93c80525ef450f528287c50ed22270892c432.tar.bz2
sharkey-31d93c80525ef450f528287c50ed22270892c432.zip
nicer SQL checks for blocked hosts
instead of passing a (possibly gigantic) array from JS, we get PostgreSQL to look at the value in the `meta` table directly tested the `federation/instances` endpoint, and the `QueryService` methods; I have not tested the charts
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/endpoints/federation/instances.ts4
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts
index 97384d2498..d644db479c 100644
--- a/packages/backend/src/server/api/endpoints/federation/instances.ts
+++ b/packages/backend/src/server/api/endpoints/federation/instances.ts
@@ -115,9 +115,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (typeof ps.blocked === 'boolean') {
const meta = await this.metaService.fetch(true);
if (ps.blocked) {
- query.andWhere(meta.blockedHosts.length === 0 ? '1=0' : 'instance.host IN (:...blocks)', { blocks: meta.blockedHosts });
+ query.andWhere(meta.blockedHosts.length === 0 ? '1=0' : 'instance.host IN (select unnest("blockedHosts") as x from "meta")');
} else {
- query.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT IN (:...blocks)', { blocks: meta.blockedHosts });
+ query.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT IN (select unnest("blockedHosts") as x from "meta")');
}
}