Feat: Make the js check for health (#1543)

* Feat: Make the js check for health

* chore: Add in the migration types

* feat: type up the migration
This commit is contained in:
J M
2022-06-16 11:58:55 -06:00
committed by GitHub
parent 75a2b2d2ab
commit 27bc493884
3 changed files with 81 additions and 45 deletions

View File

@@ -22,6 +22,7 @@ pub use js_engine::JsError;
enum ErrorValue {
Error(String),
ErrorCode((i32, String)),
Result(serde_json::Value),
}
@@ -81,7 +82,7 @@ impl JsProcedure {
Ok(output)
}
.await
.map_err(|(error, message)| (error as i32, message)))
.map_err(|(error, message)| (error.as_code_num(), message)))
}
#[instrument(skip(ctx, input))]
@@ -115,7 +116,7 @@ impl JsProcedure {
Ok(output)
}
.await
.map_err(|(error, message)| (error as i32, message)))
.map_err(|(error, message)| (error.as_code_num(), message)))
}
}
@@ -124,6 +125,7 @@ fn unwrap_known_error<O: for<'de> Deserialize<'de>>(
) -> Result<O, (JsError, String)> {
match error_value {
ErrorValue::Error(error) => Err((JsError::Javascript, error)),
ErrorValue::ErrorCode((code, message)) => Err((JsError::Code(code), message)),
ErrorValue::Result(ref value) => match serde_json::from_value(value.clone()) {
Ok(a) => Ok(a),
Err(err) => {