mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-25 08:00:59 +00:00
merge
This commit is contained in:
@@ -980,12 +980,10 @@ async fn create_script_internal<'c>(
|
||||
.fetch_one(&mut *tx)
|
||||
.await?;
|
||||
}
|
||||
let clashing_script = sqlx::query_as::<_, Script<ScriptRunnableSettingsHandle>>(
|
||||
&format!(
|
||||
"SELECT {} FROM script WHERE path = $1 AND archived = false AND workspace_id = $2",
|
||||
windmill_common::scripts::SCRIPT_COLUMNS,
|
||||
),
|
||||
)
|
||||
let clashing_script = sqlx::query_as::<_, Script<ScriptRunnableSettingsHandle>>(&format!(
|
||||
"SELECT {} FROM script WHERE path = $1 AND archived = false AND workspace_id = $2",
|
||||
windmill_common::scripts::SCRIPT_COLUMNS,
|
||||
))
|
||||
.bind(&ns.path)
|
||||
.bind(&w_id)
|
||||
.fetch_optional(&mut *tx)
|
||||
@@ -1218,6 +1216,22 @@ async fn create_script_internal<'c>(
|
||||
}
|
||||
};
|
||||
|
||||
// Failure, Trigger, and Approval scripts are runnable entrypoints by
|
||||
// definition. They must never be marked `auto_kind = 'lib'`, or they
|
||||
// disappear from the flow error-handler / trigger / approval pickers
|
||||
// (which filter out lib scripts). Strip a stray `lib` here so a parser
|
||||
// misclassification — e.g. failing to detect `main` after a deno_ast
|
||||
// bump — cannot orphan these scripts in the UI.
|
||||
let auto_kind = if matches!(
|
||||
ns.kind,
|
||||
Some(ScriptKind::Failure) | Some(ScriptKind::Trigger) | Some(ScriptKind::Approval)
|
||||
) && auto_kind.as_deref() == Some("lib")
|
||||
{
|
||||
None
|
||||
} else {
|
||||
auto_kind
|
||||
};
|
||||
|
||||
let ci_test_refs =
|
||||
windmill_common::schema::parse_ci_test_annotation(&ns.content, &lang.as_comment_lit());
|
||||
// `pipeline` wins over `test` and any client-supplied auto_kind. The
|
||||
@@ -2298,7 +2312,7 @@ async fn exists_script_by_path(
|
||||
let path = path.to_path();
|
||||
|
||||
let exists = sqlx::query_scalar!(
|
||||
"SELECT EXISTS(SELECT 1 FROM script WHERE path = $1 AND workspace_id = $2 ORDER BY created_at DESC LIMIT 1)",
|
||||
"SELECT EXISTS(SELECT 1 FROM script WHERE path = $1 AND workspace_id = $2 AND archived = false ORDER BY created_at DESC LIMIT 1)",
|
||||
path,
|
||||
w_id
|
||||
)
|
||||
@@ -2332,12 +2346,10 @@ async fn get_script_by_hash_internal<'c>(
|
||||
.fetch_optional(&mut **db)
|
||||
.await?
|
||||
} else {
|
||||
sqlx::query_as::<_, ScriptWithStarred<ScriptRunnableSettingsHandle>>(
|
||||
&format!(
|
||||
"SELECT {}, NULL as starred FROM script WHERE hash = $1 AND workspace_id = $2",
|
||||
windmill_common::scripts::SCRIPT_COLUMNS,
|
||||
),
|
||||
)
|
||||
sqlx::query_as::<_, ScriptWithStarred<ScriptRunnableSettingsHandle>>(&format!(
|
||||
"SELECT {}, NULL as starred FROM script WHERE hash = $1 AND workspace_id = $2",
|
||||
windmill_common::scripts::SCRIPT_COLUMNS,
|
||||
))
|
||||
.bind(hash)
|
||||
.bind(workspace_id)
|
||||
.fetch_optional(&mut **db)
|
||||
|
||||
Reference in New Issue
Block a user