Skip to content

Commit 39ee2ae

Browse files
committed
next: Fixed slack integration
1 parent 13435a2 commit 39ee2ae

File tree

4 files changed

+11
-15
lines changed

4 files changed

+11
-15
lines changed

src/Exceptionless.Web/ClientApp/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
"dependencies": {
7070
"@exceptionless/browser": "^3.1.0",
7171
"@exceptionless/fetchclient": "^0.40.0",
72+
"@lucide/svelte": "^0.503.0",
7273
"@tanstack/svelte-query": "https://pkg.pr.new/@tanstack/svelte-query@8c9ce9",
7374
"@tanstack/svelte-query-devtools": "https://pkg.pr.new/@tanstack/svelte-query-devtools@8c9ce9",
7475
"@tanstack/svelte-table": "^9.0.0-alpha.10",
@@ -79,7 +80,6 @@
7980
"dompurify": "^3.2.5",
8081
"formsnap": "^2.0.1",
8182
"kit-query-params": "^0.0.26",
82-
"@lucide/svelte": "^0.503.0",
8383
"mode-watcher": "^1.0.2",
8484
"oidc-client-ts": "^3.2.0",
8585
"pretty-ms": "^9.2.0",

src/Exceptionless.Web/ClientApp/src/lib/features/projects/api.svelte.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,6 @@ export interface PostPromotedTabRequest {
130130
};
131131
}
132132

133-
export interface PostSlackParams {
134-
code: string;
135-
}
136-
137133
export interface PostSlackRequest {
138134
route: {
139135
id: string | undefined;
@@ -388,17 +384,17 @@ export function postPromotedTab(request: PostPromotedTabRequest) {
388384
export function postSlack(request: PostSlackRequest) {
389385
const queryClient = useQueryClient();
390386

391-
return createMutation<boolean, ProblemDetails, PostSlackParams>(() => ({
387+
return createMutation<boolean, ProblemDetails, string>(() => ({
392388
enabled: () => !!accessToken.current && !!request.route.id,
393-
mutationFn: async (params: PostSlackParams) => {
389+
mutationFn: async (code: string) => {
394390
const client = useFetchClient();
395-
const response = await client.post(`projects/${request.route.id}/slack`, { code: params.code });
391+
const response = await client.post(`projects/${request.route.id}/slack`, undefined, { params: { code } });
396392

397393
return response.ok;
398394
},
399395
mutationKey: queryKeys.postSlack(request.route.id),
400396
onSuccess: () => {
401-
queryClient.invalidateQueries({ queryKey: queryKeys.id(request.route.id) });
397+
queryClient.invalidateQueries({ queryKey: queryKeys.integrationNotificationSettings(request.route.id, 'slack') });
402398
}
403399
}));
404400
}
@@ -414,8 +410,8 @@ export function putProjectIntegrationNotificationSettings(request: PutProjectInt
414410
return response.ok;
415411
},
416412
mutationKey: queryKeys.putIntegrationNotificationSettings(request.route.id, request.route.integration),
417-
onSuccess: () => {
418-
queryClient.invalidateQueries({ queryKey: queryKeys.integrationNotificationSettings(request.route.id, request.route.integration) });
413+
onSuccess: (_: boolean, variables: NotificationSettings) => {
414+
queryClient.setQueryData(queryKeys.integrationNotificationSettings(request.route.id, request.route.integration), variables);
419415
}
420416
}));
421417
}

src/Exceptionless.Web/ClientApp/src/lib/features/projects/components/notification-settings-form.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
</script>
5959

6060
{#if settings}
61-
<form method="POST" use:enhance>
61+
<form method="POST" use:enhance class="space-y-2">
6262
<ErrorMessage message={$message} />
6363

6464
<div class="flex items-center space-x-2">

src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/integrations/+page.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
9898
try {
9999
const code = await slackOAuthLogin();
100-
await addSlackMutation.mutateAsync({ code });
100+
await addSlackMutation.mutateAsync(code);
101101
toastId = toast.success('Successfully connected Slack integration.');
102102
} catch {
103103
toastId = toast.error('Error connecting Slack integration. Please try again.');
@@ -191,9 +191,9 @@
191191
team's Slack channels. Keep your team informed and respond faster to issues without constantly checking the dashboard.</Muted
192192
>
193193

194-
<NotificationSettingsForm settings={slackNotificationSettingsQuery.data} save={updateSlackNotificationSettings} />
195-
196194
{#if hasSlackIntegration}
195+
<NotificationSettingsForm settings={slackNotificationSettingsQuery.data} save={updateSlackNotificationSettings} />
196+
197197
<Button onclick={() => (showRemoveSlackDialog = true)}><img class="text- mr-2 size-4" alt="Slack" src={Slack} /> Remove Slack</Button>
198198
{:else}
199199
<Button onclick={addSlack}><img class="text- mr-2 size-4" alt="Slack" src={Slack} /> Connect Slack</Button>

0 commit comments

Comments
 (0)