From ea27ca1e0aab771398b7ad6b609ad7bd514ec84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Thu, 3 Oct 2024 09:33:18 +0200 Subject: [PATCH] fix(dashboard): add organizationId to the webhook url --- apps/api/src/controllers/live.controller.ts | 11 ++++++++++- .../integrations/forms/slack-integration.tsx | 5 +---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/api/src/controllers/live.controller.ts b/apps/api/src/controllers/live.controller.ts index 82ff9cd5..341652fe 100644 --- a/apps/api/src/controllers/live.controller.ts +++ b/apps/api/src/controllers/live.controller.ts @@ -235,12 +235,21 @@ export async function wsIntegrationsSlack( }; }>, ) { + const { organizationId } = req.query; + + if (!organizationId) { + connection.socket.send('No organizationId provided'); + connection.socket.close(); + return; + } + const subscribeToEvent = 'integrations:slack'; + getRedisSub().subscribe(subscribeToEvent); const onMessage = (channel: string, message: string) => { if (channel === subscribeToEvent) { const parsed = getSuperJson<{ organizationId: string }>(message); - if (parsed && parsed.organizationId === req.query.organizationId) { + if (parsed && parsed.organizationId === organizationId) { connection.socket.send(message); } } diff --git a/apps/dashboard/src/components/integrations/forms/slack-integration.tsx b/apps/dashboard/src/components/integrations/forms/slack-integration.tsx index a548d68f..30d3b6d9 100644 --- a/apps/dashboard/src/components/integrations/forms/slack-integration.tsx +++ b/apps/dashboard/src/components/integrations/forms/slack-integration.tsx @@ -2,11 +2,9 @@ import { InputWithLabel } from '@/components/forms/input-with-label'; import { Button } from '@/components/ui/button'; import { useAppParams } from '@/hooks/useAppParams'; import useWS from '@/hooks/useWS'; -import { popModal } from '@/modals'; import { type RouterOutputs, api } from '@/trpc/client'; import { zodResolver } from '@hookform/resolvers/zod'; import { zCreateSlackIntegration } from '@openpanel/validation'; -import { useQueryClient } from '@tanstack/react-query'; import { useRef } from 'react'; import { useForm } from 'react-hook-form'; import { toast } from 'sonner'; @@ -23,8 +21,7 @@ export function SlackIntegrationForm({ }) { const popup = useRef(null); const { organizationId } = useAppParams(); - const client = useQueryClient(); - useWS('/live/integrations/slack', (res) => { + useWS(`/live/integrations/slack?organizationId=${organizationId}`, (res) => { if (popup.current) { popup.current.close(); }