diff options
-rw-r--r-- | api/src/routes/discoverable-guilds.ts | 8 | ||||
-rw-r--r-- | util/src/entities/Config.ts | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/api/src/routes/discoverable-guilds.ts b/api/src/routes/discoverable-guilds.ts index f667eb2a..b626b084 100644 --- a/api/src/routes/discoverable-guilds.ts +++ b/api/src/routes/discoverable-guilds.ts @@ -1,16 +1,18 @@ -import { Guild } from "@fosscord/util"; +import { Guild, Config } from "@fosscord/util"; + import { Router, Request, Response } from "express"; import { route } from "@fosscord/api"; + const router = Router(); router.get("/", route({}), async (req: Request, res: Response) => { const { limit } = req.params; - + var showAllGuilds = Config.get().guild.showAllGuildsInDiscovery; // ! this only works using SQL querys // TODO: implement this with default typeorm query // const guilds = await Guild.find({ where: { features: "DISCOVERABLE" } }); //, take: Math.abs(Number(limit)) }); - const guilds = await Guild.find({ where: `"features" LIKE 'COMMUNITY'`, take: Math.abs(Number(limit)) }); + const guilds = showAllGuilds ? await Guild.find({take: Math.abs(Number(limit || 20))}) : await Guild.find({ where: `"features" LIKE '%COMMUNITY%'`, take: Math.abs(Number(limit || 20)) }); res.send({ guilds: guilds }); }); diff --git a/util/src/entities/Config.ts b/util/src/entities/Config.ts index 8efa853c..edce92a9 100644 --- a/util/src/entities/Config.ts +++ b/util/src/entities/Config.ts @@ -144,6 +144,10 @@ export interface ConfigValue { useDefaultAsOptimal: boolean; available: Region[]; }; + + guild: { + showAllGuildsInDiscovery: boolean; + }; rabbitmq: { host: string | null; }; @@ -295,6 +299,10 @@ export const DefaultConfigOptions: ConfigValue = { }, ], }, + + guild: { + showAllGuildsInDiscovery: false, + }, rabbitmq: { host: null, }, |