submissions-api: add status message to validation failure

This commit is contained in:
Quaternions 2025-03-18 16:12:42 -07:00
parent 483ffd1d66
commit 0c247fbb43
3 changed files with 26 additions and 5 deletions

@ -120,6 +120,20 @@ impl Context{
Ok(())
}
pub async fn action_submission_accepted(&self,config:ActionSubmissionAcceptedRequest)->Result<(),Error>{
let url_raw=format!("{}/submissions/{}/status/validator-failed",self.0.base_url,config.SubmissionID);
let mut url=reqwest::Url::parse(url_raw.as_str()).map_err(Error::Parse)?;
{
url.query_pairs_mut()
.append_pair("StatusMessage",config.StatusMessage.as_str());
}
response_ok(
self.0.post_empty_body(url).await.map_err(Error::Reqwest)?
).await.map_err(Error::Response)?;
Ok(())
}
action!(action_submission_validated,"validator-validated");
action!(action_submission_accepted,"validator-failed");
}

@ -177,4 +177,10 @@ pub struct ActionSubmissionUploadedRequest{
pub TargetAssetID:Option<u64>,
}
#[allow(nonstandard_style)]
pub struct ActionSubmissionAcceptedRequest{
pub SubmissionID:i64,
pub StatusMessage:String,
}
pub struct SubmissionID(pub i64);

@ -73,11 +73,12 @@ impl Validator{
submissions_api::types::SubmissionID(submission_id)
).await.map_err(ValidateError::ApiActionSubmissionValidate)?;
},
Err(_)=>{
Err(e)=>{
// update the submission model status to accepted
self.api.action_submission_accepted(
submissions_api::types::SubmissionID(submission_id)
).await.map_err(ValidateError::ApiActionSubmissionValidate)?;
self.api.action_submission_accepted(submissions_api::types::ActionSubmissionAcceptedRequest{
SubmissionID:submission_id,
StatusMessage:format!("{e}"),
}).await.map_err(ValidateError::ApiActionSubmissionValidate)?;
},
}