From 5c10fcda739e1b5154914339b9c7f2bf8afc10aa Mon Sep 17 00:00:00 2001 From: Alex Petric Date: Fri, 7 Feb 2025 12:57:19 -0500 Subject: [PATCH] simplify some logic --- backend/windmill-api/src/workspaces.rs | 12 ++++-- .../components/ErrorOrRecoveryHandler.svelte | 39 +++++++------------ 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/backend/windmill-api/src/workspaces.rs b/backend/windmill-api/src/workspaces.rs index 088b8d0617..94089ced3c 100644 --- a/backend/windmill-api/src/workspaces.rs +++ b/backend/windmill-api/src/workspaces.rs @@ -1380,9 +1380,15 @@ async fn list_workspaces_as_super_admin( let mut tx = user_db.begin(&authed).await?; let workspaces = sqlx::query_as!( Workspace, - "SELECT workspace.id, workspace.name, workspace.owner, workspace.deleted, workspace.premium, workspace_settings.color - FROM workspace - LEFT JOIN workspace_settings ON workspace.id = workspace_settings.workspace_id + "SELECT + workspace.id AS \"id!\", + workspace.name AS \"name!\", + workspace.owner AS \"owner!\", + workspace.deleted AS \"deleted!\", + workspace.premium AS \"premium!\", + workspace_settings.color AS \"color!\" + FROM workspace + LEFT JOIN workspace_settings ON workspace.id = workspace_settings.workspace_id LIMIT $1 OFFSET $2", per_page as i32, offset as i32 diff --git a/frontend/src/lib/components/ErrorOrRecoveryHandler.svelte b/frontend/src/lib/components/ErrorOrRecoveryHandler.svelte index a41cf8cdf9..6c3b4790ba 100644 --- a/frontend/src/lib/components/ErrorOrRecoveryHandler.svelte +++ b/frontend/src/lib/components/ErrorOrRecoveryHandler.svelte @@ -215,33 +215,24 @@ } let lastHandlerSelected: 'slack' | 'teams' | 'custom' | undefined = undefined - let tmpSlackChannel: string | undefined = undefined - let tmpTeamsChannel: string | undefined = undefined + let channelCache = { + slack: undefined as string | undefined, + teams: undefined as string | undefined + } $: { - if (lastHandlerSelected !== handlerSelected) { - if (lastHandlerSelected === 'teams') { - tmpTeamsChannel = handlerExtraArgs['channel'] - if (handlerSelected === 'slack') { - handlerExtraArgs['channel'] = tmpSlackChannel - } else if (handlerSelected === 'custom') { - handlerExtraArgs['channel'] = '' - } - } else if (lastHandlerSelected === 'slack') { - tmpSlackChannel = handlerExtraArgs['channel'] - if (handlerSelected === 'teams') { - handlerExtraArgs['channel'] = tmpTeamsChannel - } else if (handlerSelected === 'custom') { - handlerExtraArgs['channel'] = '' - } - } else if (lastHandlerSelected === 'custom') { - if (handlerSelected === 'slack') { - handlerExtraArgs['channel'] = tmpSlackChannel - } else if (handlerSelected === 'teams') { - handlerExtraArgs['channel'] = tmpTeamsChannel - } + if (lastHandlerSelected !== handlerSelected && lastHandlerSelected !== undefined) { + if (lastHandlerSelected === 'teams' || lastHandlerSelected === 'slack') { + channelCache[lastHandlerSelected] = handlerExtraArgs['channel'] + } + + if (handlerSelected === 'custom') { + handlerExtraArgs['channel'] = '' + } else { + handlerExtraArgs['channel'] = channelCache[handlerSelected] ?? '' } - lastHandlerSelected = handlerSelected } + + lastHandlerSelected = handlerSelected } $: handlerPath &&