Skip to content

Commit 0307343

Browse files
authored
Move task verification out of internal binding (#1368)
1 parent cf60ae3 commit 0307343

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

pgml-extension/src/api.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,10 @@ pub fn transform_json(
647647
inputs: default!(Vec<&str>, "ARRAY[]::TEXT[]"),
648648
cache: default!(bool, false),
649649
) -> JsonB {
650+
if let Err(err) = crate::bindings::transformers::whitelist::verify_task(&task.0) {
651+
error!("{err}");
652+
}
653+
650654
match crate::bindings::transformers::transform(&task.0, &args.0, inputs) {
651655
Ok(output) => JsonB(output),
652656
Err(e) => error!("{e}"),
@@ -663,6 +667,9 @@ pub fn transform_string(
663667
cache: default!(bool, false),
664668
) -> JsonB {
665669
let task_json = json!({ "task": task });
670+
if let Err(err) = crate::bindings::transformers::whitelist::verify_task(&task_json) {
671+
error!("{err}");
672+
}
666673
match crate::bindings::transformers::transform(&task_json, &args.0, inputs) {
667674
Ok(output) => JsonB(output),
668675
Err(e) => error!("{e}"),
@@ -681,6 +688,9 @@ pub fn transform_conversational_json(
681688
if !task.0["task"].as_str().is_some_and(|v| v == "conversational") {
682689
error!("ARRAY[]::JSONB inputs for transform should only be used with a conversational task");
683690
}
691+
if let Err(err) = crate::bindings::transformers::whitelist::verify_task(&task.0) {
692+
error!("{err}");
693+
}
684694
match crate::bindings::transformers::transform(&task.0, &args.0, inputs) {
685695
Ok(output) => JsonB(output),
686696
Err(e) => error!("{e}"),
@@ -700,6 +710,9 @@ pub fn transform_conversational_string(
700710
error!("ARRAY[]::JSONB inputs for transform should only be used with a conversational task");
701711
}
702712
let task_json = json!({ "task": task });
713+
if let Err(err) = crate::bindings::transformers::whitelist::verify_task(&task_json) {
714+
error!("{err}");
715+
}
703716
match crate::bindings::transformers::transform(&task_json, &args.0, inputs) {
704717
Ok(output) => JsonB(output),
705718
Err(e) => error!("{e}"),

pgml-extension/src/bindings/transformers/transform.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ pub fn transform<T: serde::Serialize>(
4646
args: &serde_json::Value,
4747
inputs: T,
4848
) -> Result<serde_json::Value> {
49-
whitelist::verify_task(task)?;
50-
5149
let task = serde_json::to_string(task)?;
5250
let args = serde_json::to_string(args)?;
5351
let inputs = serde_json::to_string(&inputs)?;

0 commit comments

Comments
 (0)