Skip to content

Commit 4bb0f39

Browse files
Add endpoint to get enabled/known gif providers
1 parent 7479834 commit 4bb0f39

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/api/Server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ export class SpacebarServer extends Server {
191191
});
192192
});
193193

194+
app.get("/_spacebar/api/v1/integrations/gif", (req, res) => {
195+
res.json({ providers: GifProviderManager.getProviders() });
196+
});
197+
194198
// Pickup non-expired polls
195199
const nonExpiredPolls = await Message.createQueryBuilder("message").where("message.poll->>'expiry' > :now", { now: new Date().toISOString() }).getMany();
196200

src/integrations/gifs/GifProviderManager.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,15 @@ export class GifProviderManager {
4848

4949
throw new Error(`Unknown GIF provider, or it is not enabled: ${id}, known GIF providers: ${this._providers.keys().toArray().join(", ")}`);
5050
}
51+
52+
public static getProviders() {
53+
const providers: { [key: string]: { available: boolean } } = {};
54+
for (const [id, provider] of this._providers) {
55+
providers[id] = {
56+
available: provider.available,
57+
};
58+
}
59+
60+
return providers;
61+
}
5162
}

0 commit comments

Comments
 (0)