From 0c247fbb437dd4729d7a7409628fdf72a96e2ac0 Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Tue, 18 Mar 2025 16:12:42 -0700 Subject: [PATCH] submissions-api: add status message to validation failure --- validation/api/src/internal.rs | 16 +++++++++++++++- validation/api/src/types.rs | 6 ++++++ validation/src/validator.rs | 9 +++++---- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/validation/api/src/internal.rs b/validation/api/src/internal.rs index 91ebfa9..0c18e1f 100644 --- a/validation/api/src/internal.rs +++ b/validation/api/src/internal.rs @@ -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"); } diff --git a/validation/api/src/types.rs b/validation/api/src/types.rs index 5d61187..1be3133 100644 --- a/validation/api/src/types.rs +++ b/validation/api/src/types.rs @@ -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); diff --git a/validation/src/validator.rs b/validation/src/validator.rs index 54822c3..7b4e437 100644 --- a/validation/src/validator.rs +++ b/validation/src/validator.rs @@ -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)?; }, }