diff --git a/api/src/routes/discoverable-guilds.ts b/api/src/routes/discoverable-guilds.ts
index f667eb2a..509abc9e 100644
--- a/api/src/routes/discoverable-guilds.ts
+++ b/api/src/routes/discoverable-guilds.ts
@@ -1,16 +1,19 @@
-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))}) : await Guild.find({ where: `"features" LIKE '%COMMUNITY%'`, take: Math.abs(Number(limit)) });
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,
},
|