From b2d1ef40d298d1a558d77359b3d7ac519e563bef Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sat, 6 Apr 2024 15:43:37 +0200 Subject: [PATCH] fix: add args filter to schedule list --- backend/windmill-api/openapi.yaml | 1 + backend/windmill-api/src/schedule.rs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index f37b35459f..c9a5d87f05 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -6190,6 +6190,7 @@ paths: - $ref: "#/components/parameters/WorkspaceId" - $ref: "#/components/parameters/Page" - $ref: "#/components/parameters/PerPage" + - $ref: "#/components/parameters/ArgsFilter" - name: path description: filter by path in: query diff --git a/backend/windmill-api/src/schedule.rs b/backend/windmill-api/src/schedule.rs index 17e0ad5f84..d31382bdc9 100644 --- a/backend/windmill-api/src/schedule.rs +++ b/backend/windmill-api/src/schedule.rs @@ -316,6 +316,7 @@ pub struct ListScheduleQuery { pub per_page: Option, pub path: Option, pub is_flow: Option, + pub args: Option, } async fn list_schedule( @@ -339,6 +340,9 @@ async fn list_schedule( if let Some(is_flow) = lsq.is_flow { sqlb.and_where_eq("is_flow", "?".bind(&is_flow)); } + if let Some(args) = &lsq.args { + sqlb.and_where("args @> ?".bind(&args.replace("'", "''"))); + } let sql = sqlb.sql().map_err(|e| Error::InternalErr(e.to_string()))?; let rows = sqlx::query_as::<_, Schedule>(&sql) .fetch_all(&mut *tx)