summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/federation/instances.ts
diff options
context:
space:
mode:
authorMarie <Marie@kaifa.ch>2023-12-23 02:09:23 +0100
committerMarie <Marie@kaifa.ch>2023-12-23 02:09:23 +0100
commit5db583a3eb61d50de14d875ebf7ecef20490e313 (patch)
tree783dd43d2ac660c32e745a4485d499e9ddc43324 /packages/backend/src/server/api/endpoints/federation/instances.ts
parentadd: Custom MOTDs (diff)
parentUpdate CHANGELOG.md (diff)
downloadsharkey-5db583a3eb61d50de14d875ebf7ecef20490e313.tar.gz
sharkey-5db583a3eb61d50de14d875ebf7ecef20490e313.tar.bz2
sharkey-5db583a3eb61d50de14d875ebf7ecef20490e313.zip
merge: upstream
Diffstat (limited to 'packages/backend/src/server/api/endpoints/federation/instances.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/federation/instances.ts29
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts
index e143dcfe89..617ca65733 100644
--- a/packages/backend/src/server/api/endpoints/federation/instances.ts
+++ b/packages/backend/src/server/api/endpoints/federation/instances.ts
@@ -36,14 +36,33 @@ export const paramDef = {
blocked: { type: 'boolean', nullable: true },
notResponding: { type: 'boolean', nullable: true },
suspended: { type: 'boolean', nullable: true },
- silenced: { type: "boolean", nullable: true },
+ silenced: { type: 'boolean', nullable: true },
federating: { type: 'boolean', nullable: true },
subscribing: { type: 'boolean', nullable: true },
publishing: { type: 'boolean', nullable: true },
nsfw: { type: 'boolean', nullable: true },
limit: { type: 'integer', minimum: 1, maximum: 100, default: 30 },
offset: { type: 'integer', default: 0 },
- sort: { type: 'string' },
+ sort: {
+ type: 'string',
+ nullable: true,
+ enum: [
+ '+pubSub',
+ '-pubSub',
+ '+notes',
+ '-notes',
+ '+users',
+ '-users',
+ '+following',
+ '-following',
+ '+followers',
+ '-followers',
+ '+firstRetrievedAt',
+ '-firstRetrievedAt',
+ '+latestRequestReceivedAt',
+ '-latestRequestReceivedAt',
+ ],
+ },
},
required: [],
} as const;
@@ -112,18 +131,18 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}
}
- if (typeof ps.silenced === "boolean") {
+ if (typeof ps.silenced === 'boolean') {
const meta = await this.metaService.fetch(true);
if (ps.silenced) {
if (meta.silencedHosts.length === 0) {
return [];
}
- query.andWhere("instance.host IN (:...silences)", {
+ query.andWhere('instance.host IN (:...silences)', {
silences: meta.silencedHosts,
});
} else if (meta.silencedHosts.length > 0) {
- query.andWhere("instance.host NOT IN (:...silences)", {
+ query.andWhere('instance.host NOT IN (:...silences)', {
silences: meta.silencedHosts,
});
}