* Runtime assets
* Nits
* Revert "Nits"
This reverts commit 3031a2ddd1.
* detection_kinds
* don't delete runtime assets
* Show latest executions
* conditional unique idx
* nit status
* refactor
* nit refactor
* prepare sql
* Detect assets in complex JSON input objects
* false positive prevent
* nit
* redundant idx
* Update frontend/src/lib/components/assets/AssetsUsageDrawer.svelte
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update backend/migrations/20260122134517_runtime_assets.up.sql
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* runtime assets are inserted in a loop
* nit
* nit fix
* Don't use lazy static
* fix compilation
* nits
* missing on conflict do nothing
* add index
* Fix max n logic
* created at
* nits
* remove pagination
* sqlx prepare
* Only detect resource assets in input
* get_runtime_asset_sender()
* use global get_runtime_asset_sender to avoid prop drilling
* nit refactor : register_runtime_asset
* get job_id from token
* job as a usage kind
* fixes
* ee
* nit refactor
* merge access types when same job uses same asset multiple times
* Refactor to support wmill s3 API
* nit
* parse_wmill_sdk_sql_assets refactor
* Detect datatable and ducklake usage
* nit order by
* Join with v2_job
* better UI
* add sequential id for cursor pagination
* useInfiniteQuery
* useScrollToBottom
* sql index
* claude code stash
* migration fixes
* Infinite scroll UI
* nit
* style nit
* runtime asset created at
* Asset filters
* fix usage kind filter
* also check runnable_path for jobs when filtering
* better filters
* avoid flickering
* debounced filters
* nit
* tooltips
* fix: update AssetUsage type to match new ListAssetsResponse structure
The ListAssetsResponse changed from an array to an object with an 'assets' property.
Updated the type extraction accordingly.
Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>
* sqlx prepare
* Delete .claude/hooks/.symlink-manifest
* unnecessary dep
* nit refactor
* nit comment
* nit naming
* CI fix attempt 1
* ee ref
* nit remove alerts
* nit
* chore: update ee-repo-ref to 138a4f5f868f3bded5bb7cb77b222b532c07e4af
This commit updates the EE repository reference after PR #395 was merged in windmill-ee-private.
Previous ee-repo-ref: 7d3a21d53066726e97dfea9f117373299bc9318c
New ee-repo-ref: 138a4f5f868f3bded5bb7cb77b222b532c07e4af
Automated by sync-ee-ref workflow.
---------
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
38 lines
1.3 KiB
Rust
38 lines
1.3 KiB
Rust
use windmill_parser::asset_parser::{AssetKind, ParseAssetsResult};
|
|
|
|
// Parse assets from sql snippets inside e.g sql`SELECT * FROM my_table`
|
|
pub fn parse_wmill_sdk_sql_assets(
|
|
kind: AssetKind,
|
|
asset_name: &str,
|
|
schema: Option<&str>,
|
|
sql: &str,
|
|
) -> anyhow::Result<Option<Vec<ParseAssetsResult>>> {
|
|
let duckdb_conn_prefix = match kind {
|
|
AssetKind::DataTable => "datatable",
|
|
AssetKind::Ducklake => "ducklake",
|
|
_ => return Err(anyhow::anyhow!("Unsupported asset kind for SQL parsing")),
|
|
};
|
|
let sql_with_attach =
|
|
format!("ATTACH '{duckdb_conn_prefix}://{asset_name}' AS dt; USE dt; {sql}");
|
|
|
|
// We use the SQL parser to detect if it's a read or write query
|
|
match crate::parse_assets(&sql_with_attach) {
|
|
Ok(mut sql_assets) => {
|
|
if let Some(schema) = schema {
|
|
for asset in &mut sql_assets.assets {
|
|
if asset.kind == kind && asset.path.starts_with(asset_name) {
|
|
asset.path = format!(
|
|
"{}/{}.{}",
|
|
asset_name,
|
|
schema,
|
|
&asset.path[asset_name.len() + 1..]
|
|
);
|
|
}
|
|
}
|
|
}
|
|
return Ok(Some(sql_assets.assets));
|
|
}
|
|
_ => Ok(None),
|
|
}
|
|
}
|