Add endpoint to get enabled/known gif providers

This commit is contained in:
Rory&
2026-07-07 20:18:21 +02:00
parent 74798344ea
commit 4bb0f39a43
2 changed files with 15 additions and 0 deletions
+4
View File
@@ -191,6 +191,10 @@ export class SpacebarServer extends Server {
});
});
app.get("/_spacebar/api/v1/integrations/gif", (req, res) => {
res.json({ providers: GifProviderManager.getProviders() });
});
// Pickup non-expired polls
const nonExpiredPolls = await Message.createQueryBuilder("message").where("message.poll->>'expiry' > :now", { now: new Date().toISOString() }).getMany();
@@ -48,4 +48,15 @@ export class GifProviderManager {
throw new Error(`Unknown GIF provider, or it is not enabled: ${id}, known GIF providers: ${this._providers.keys().toArray().join(", ")}`);
}
public static getProviders() {
const providers: { [key: string]: { available: boolean } } = {};
for (const [id, provider] of this._providers) {
providers[id] = {
available: provider.available,
};
}
return providers;
}
}