diff --git a/backend/windmill-api/src/audit.rs b/backend/windmill-api/src/audit.rs index 1efd398fd6..79721f4df7 100644 --- a/backend/windmill-api/src/audit.rs +++ b/backend/windmill-api/src/audit.rs @@ -25,10 +25,10 @@ pub fn workspaced_service() -> Router { async fn get_audit( authed: ApiAuthed, Extension(user_db): Extension, - Path(id): Path, + Path((w_id, id)): Path<(String, i32)>, ) -> JsonResult { let tx = user_db.begin(&authed).await?; - let audit = windmill_audit::get_audit(tx, id).await?; + let audit = windmill_audit::get_audit(tx, id, &w_id).await?; Ok(Json(audit)) } async fn list_audit( diff --git a/backend/windmill-audit/src/lib.rs b/backend/windmill-audit/src/lib.rs index 12b25f2fd9..df15ad1279 100644 --- a/backend/windmill-audit/src/lib.rs +++ b/backend/windmill-audit/src/lib.rs @@ -152,11 +152,17 @@ pub async fn list_audit( Ok(rows) } -pub async fn get_audit(mut tx: Transaction<'_, sqlx::Postgres>, id: i32) -> Result { - let audit_o = sqlx::query_as::<_, AuditLog>("SELECT * FROM audit WHERE id = $1") - .bind(id) - .fetch_optional(&mut *tx) - .await?; +pub async fn get_audit( + mut tx: Transaction<'_, sqlx::Postgres>, + id: i32, + w_id: &str, +) -> Result { + let audit_o = + sqlx::query_as::<_, AuditLog>("SELECT * FROM audit WHERE id = $1 AND workspace_id = $2") + .bind(id) + .bind(w_id) + .fetch_optional(&mut *tx) + .await?; tx.commit().await?; let audit = windmill_common::utils::not_found_if_none(audit_o, "AuditLog", &id.to_string())?; Ok(audit)