diff --git a/backend/windmill-api/src/favorite.rs b/backend/windmill-api/src/favorite.rs index 7591ee5baf..937401f361 100644 --- a/backend/windmill-api/src/favorite.rs +++ b/backend/windmill-api/src/favorite.rs @@ -71,5 +71,5 @@ async fn unstar( .execute(&db) .await?; - Ok(format!("Starred {}", path)) + Ok(format!("Unstarred {}", path)) } diff --git a/backend/windmill-api/src/flows.rs b/backend/windmill-api/src/flows.rs index 1c1f7b8d0f..80f58c533e 100644 --- a/backend/windmill-api/src/flows.rs +++ b/backend/windmill-api/src/flows.rs @@ -72,7 +72,7 @@ async fn list_flows( .left() .join("favorite") .on( - "favorite.favorite_kind = 'flow' AND favorite.path = o.path AND favorite.usr = ?" + "favorite.favorite_kind = 'flow' AND favorite.workspace_id = o.workspace_id AND favorite.path = o.path AND favorite.usr = ?" .bind(&authed.username), ) .order_desc("favorite.path IS NOT NULL") @@ -94,8 +94,8 @@ async fn list_flows( if let Some(cb) = &lq.edited_by { sqlb.and_where_eq("edited_by", "?".bind(cb)); } - if let Some(so) = &lq.starred_only { - sqlb.and_where_eq("starred", "?".bind(so)); + if lq.starred_only.unwrap_or(false) { + sqlb.and_where_is_not_null("favorite.path"); } let sql = sqlb.sql().map_err(|e| Error::InternalErr(e.to_string()))?; diff --git a/backend/windmill-api/src/scripts.rs b/backend/windmill-api/src/scripts.rs index 60f9d86aa9..ec8db07e89 100644 --- a/backend/windmill-api/src/scripts.rs +++ b/backend/windmill-api/src/scripts.rs @@ -102,7 +102,7 @@ async fn list_scripts( .left() .join("favorite") .on( - "favorite.favorite_kind = 'script' AND favorite.path = o.path AND favorite.usr = ?" + "favorite.favorite_kind = 'script' AND favorite.workspace_id = o.workspace_id AND favorite.path = o.path AND favorite.usr = ?" .bind(&authed.username), ) .order_desc("favorite.path IS NOT NULL") @@ -146,8 +146,8 @@ async fn list_scripts( if let Some(k) = &lq.kind { sqlb.and_where_eq("kind", "?".bind(&k.to_lowercase())); } - if let Some(so) = &lq.starred_only { - sqlb.and_where_eq("starred", "?".bind(so)); + if lq.starred_only.unwrap_or(false) { + sqlb.and_where_is_not_null("favorite.path"); } let sql = sqlb.sql().map_err(|e| Error::InternalErr(e.to_string()))?; diff --git a/frontend/src/lib/components/Star.svelte b/frontend/src/lib/components/Star.svelte index 4c4a9b41ba..5976f7a62d 100644 --- a/frontend/src/lib/components/Star.svelte +++ b/frontend/src/lib/components/Star.svelte @@ -1,6 +1,6 @@ @@ -116,7 +140,7 @@ /> - + @@ -155,7 +179,7 @@ {isCollapsed} /> - +