diff options
| author | dakkar <dakkar@thenautilus.net> | 2025-05-02 15:26:15 +0100 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2025-05-02 15:57:56 +0100 |
| commit | 31d93c80525ef450f528287c50ed22270892c432 (patch) | |
| tree | 60b68311047061999dc2eeba77583b302e1005d8 /packages/backend/src/server/api/endpoints/federation | |
| parent | enforce maxFileSize for remote users (diff) | |
| download | sharkey-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/endpoints/federation')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/federation/instances.ts | 4 |
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")'); } } |