From 77d652d6c0585b3f38bf9e6198fd3fdff017c615 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 14 Apr 2019 16:39:44 -0600 Subject: [PATCH] Handle offline integrations better --- src/api/dimension/DimensionIntegrationsService.ts | 11 ----------- src/db/BridgeStore.ts | 5 ----- src/db/NebStore.ts | 4 +++- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/api/dimension/DimensionIntegrationsService.ts b/src/api/dimension/DimensionIntegrationsService.ts index 7ef18b0..1e2431d 100644 --- a/src/api/dimension/DimensionIntegrationsService.ts +++ b/src/api/dimension/DimensionIntegrationsService.ts @@ -11,7 +11,6 @@ import { ComplexBot } from "../../integrations/ComplexBot"; import { Bridge } from "../../integrations/Bridge"; import { BridgeStore } from "../../db/BridgeStore"; import { BotStore } from "../../db/BotStore"; -import { AdminService } from "../admin/AdminService"; export interface IntegrationsResponse { widgets: Widget[], @@ -66,11 +65,6 @@ export class DimensionIntegrationsService { .map(b => SimpleBot.fromCached(b)); const bots = [...nebs, ...custom]; Cache.for(CACHE_INTEGRATIONS).put("simple_bots", bots); - - if (!AdminService.isAdmin(userId)) { - return bots.filter(b => b.isOnline); - } - return bots; } @@ -86,11 +80,6 @@ export class DimensionIntegrationsService { const bots = await NebStore.listComplexBots(userId, roomId); Cache.for(CACHE_INTEGRATIONS).put("complex_bots_" + roomId, bots); - - if (!AdminService.isAdmin(userId)) { - return bots.filter(b => b.isOnline); - } - return bots; } diff --git a/src/db/BridgeStore.ts b/src/db/BridgeStore.ts index 0df38a0..fcbc4e7 100644 --- a/src/db/BridgeStore.ts +++ b/src/db/BridgeStore.ts @@ -12,7 +12,6 @@ import { TelegramBridge } from "../bridges/TelegramBridge"; import { WebhooksBridge } from "../bridges/WebhooksBridge"; import { GitterBridge } from "../bridges/GitterBridge"; import { SlackBridge } from "../bridges/SlackBridge"; -import { AdminService } from "../api/admin/AdminService"; export class BridgeStore { @@ -47,10 +46,6 @@ export class BridgeStore { } } - if (!AdminService.isAdmin(requestingUserId)) { - return enabledBridges.filter(b => b.isOnline); - } - return enabledBridges; } diff --git a/src/db/NebStore.ts b/src/db/NebStore.ts index 83854f2..c2922ad 100644 --- a/src/db/NebStore.ts +++ b/src/db/NebStore.ts @@ -149,7 +149,9 @@ export class NebStore { const notifUserId = await proxy.getNotificationUserId(i.integration, roomId); const botUserId = null; // TODO: For github const botConfig = await proxy.getServiceConfiguration(i.integration, roomId); - return new ComplexBot(i.integration, notifUserId, botUserId, botConfig); + const bot = new ComplexBot(i.integration, notifUserId, botUserId, botConfig); + bot.isOnline = !!bot.botUserId; + return bot; } catch (e) { LogService.error("NebStore", e);