Check the Rhai syntax before accepting the script

This commit is contained in:
Clément Renault 2024-05-09 21:51:51 +02:00
parent 2d97164d9f
commit 45af18ae9c
No known key found for this signature in database
GPG key ID: F250A4C4E3AE5F5F
3 changed files with 11 additions and 4 deletions

View file

@ -599,6 +599,11 @@ pub async fn edit_documents_by_function(
// analytics.delete_documents(DocumentDeletionKind::PerFilter, &req);
let engine = milli::rhai::Engine::new();
if let Err(e) = engine.compile(&function) {
return Err(ResponseError::from_msg(e.to_string(), Code::BadRequest));
}
if let Some(ref filter) = filter {
// we ensure the filter is well formed before enqueuing it
|| -> Result<_, ResponseError> {