Skip to content

Commit f74d062

Browse files
authored
revert(dashboard): revert "clean up dangling integration links on provider switch" fixes NV-7408 (#10858)
1 parent 65263ae commit f74d062

1 file changed

Lines changed: 7 additions & 37 deletions

File tree

apps/dashboard/src/components/agents/agent-setup-guide.tsx

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,7 @@ import { ChatProviderIdEnum, EmailProviderIdEnum } from '@novu/shared';
22
import { useQuery, useQueryClient } from '@tanstack/react-query';
33
import { useCallback, useEffect, useMemo, useState } from 'react';
44
import { RiExpandUpDownLine } from 'react-icons/ri';
5-
import {
6-
type AgentResponse,
7-
getAgentDetailQueryKey,
8-
getAgentIntegrationsQueryKey,
9-
listAgentIntegrations,
10-
removeAgentIntegration,
11-
} from '@/api/agents';
5+
import { type AgentResponse, getAgentIntegrationsQueryKey, listAgentIntegrations } from '@/api/agents';
126
import { requireEnvironment, useEnvironment } from '@/context/environment/hooks';
137
import { useFetchIntegrations } from '@/hooks/use-fetch-integrations';
148
import { cn } from '@/utils/ui';
@@ -108,35 +102,6 @@ export function AgentSetupGuide({ agent }: AgentSetupGuideProps) {
108102
});
109103
}, [queryClient, currentEnvironment?._id, agent.identifier]);
110104

111-
const handleProviderSelect = useCallback(
112-
(_providerId: string, integration: { _id: string } | undefined) => {
113-
if (!integration?._id || !currentEnvironment) return;
114-
115-
setSelectedIntegrationId(integration._id);
116-
sessionStorage.setItem(SESSION_KEY(agent.identifier), integration._id);
117-
118-
const staleLinks = (agentIntegrationsQuery.data?.data ?? []).filter(
119-
(link) => !link.connectedAt && link.integration._id !== integration._id
120-
);
121-
122-
if (!staleLinks.length) return;
123-
124-
void Promise.all(
125-
staleLinks.map((link) =>
126-
removeAgentIntegration(currentEnvironment, agent.identifier, link._id).catch(() => {})
127-
)
128-
).then(() => {
129-
queryClient.invalidateQueries({
130-
queryKey: getAgentIntegrationsQueryKey(currentEnvironment._id, agent.identifier),
131-
});
132-
queryClient.invalidateQueries({
133-
queryKey: getAgentDetailQueryKey(currentEnvironment._id, agent.identifier),
134-
});
135-
});
136-
},
137-
[agent.identifier, agentIntegrationsQuery.data?.data, currentEnvironment, queryClient]
138-
);
139-
140105
return (
141106
<div className="bg-bg-weak flex min-w-0 flex-1 flex-col rounded-[10px] p-1">
142107
<button
@@ -169,7 +134,12 @@ export function AgentSetupGuide({ agent }: AgentSetupGuideProps) {
169134
agentIdentifier={agent.identifier}
170135
selectedIntegrationId={selectedIntegrationId ?? defaultFromAgent?.integrationId}
171136
linkedIntegrationIds={linkedIntegrationIds}
172-
onSelect={handleProviderSelect}
137+
onSelect={(_providerId, integration) => {
138+
if (integration?._id) {
139+
setSelectedIntegrationId(integration._id);
140+
sessionStorage.setItem(SESSION_KEY(agent.identifier), integration._id);
141+
}
142+
}}
173143
/>
174144
}
175145
/>

0 commit comments

Comments
 (0)