From 758c2254ebaf44bd59aa7fe71580b68061b5b6b6 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Mon, 31 Mar 2025 19:09:22 -0700
Subject: [PATCH] submissions-api: create new error variant

---
 validation/api/src/external.rs | 10 +++++-----
 validation/api/src/internal.rs | 10 +++++-----
 validation/api/src/types.rs    |  1 +
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/validation/api/src/external.rs b/validation/api/src/external.rs
index b31ee1b..8aa00d2 100644
--- a/validation/api/src/external.rs
+++ b/validation/api/src/external.rs
@@ -14,7 +14,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_scripts<'a>(&self,config:GetScriptsRequest<'a>)->Result<Vec<ScriptResponse>,Error>{
 		let url_raw=format!("{}/scripts",self.0.base_url);
@@ -44,7 +44,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_from_hash<'a>(&self,config:HashRequest<'a>)->Result<Option<ScriptResponse>,SingleItemError>{
 		let scripts=self.get_scripts(GetScriptsRequest{
@@ -70,7 +70,7 @@ impl Context{
 		response_ok(
 			self.0.post(url,body).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_policies<'a>(&self,config:GetScriptPoliciesRequest<'a>)->Result<Vec<ScriptPolicyResponse>,Error>{
 		let url_raw=format!("{}/script-policy",self.0.base_url);
@@ -94,7 +94,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_policy_from_hash<'a>(&self,config:HashRequest<'a>)->Result<Option<ScriptPolicyResponse>,SingleItemError>{
 		let policies=self.get_script_policies(GetScriptPoliciesRequest{
@@ -118,7 +118,7 @@ impl Context{
 		response_ok(
 			self.0.post(url,body).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn update_script_policy(&self,config:UpdateScriptPolicyRequest)->Result<(),Error>{
 		let url_raw=format!("{}/script-policy/{}",self.0.base_url,config.ID.0);
diff --git a/validation/api/src/internal.rs b/validation/api/src/internal.rs
index 347f70a..990466d 100644
--- a/validation/api/src/internal.rs
+++ b/validation/api/src/internal.rs
@@ -29,7 +29,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_scripts<'a>(&self,config:GetScriptsRequest<'a>)->Result<Vec<ScriptResponse>,Error>{
 		let url_raw=format!("{}/scripts",self.0.base_url);
@@ -59,7 +59,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_from_hash<'a>(&self,config:HashRequest<'a>)->Result<Option<ScriptResponse>,SingleItemError>{
 		let scripts=self.get_scripts(GetScriptsRequest{
@@ -85,7 +85,7 @@ impl Context{
 		response_ok(
 			self.0.post(url,body).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_policies<'a>(&self,config:GetScriptPoliciesRequest<'a>)->Result<Vec<ScriptPolicyResponse>,Error>{
 		let url_raw=format!("{}/script-policy",self.0.base_url);
@@ -109,7 +109,7 @@ impl Context{
 		response_ok(
 			self.0.get(url).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn get_script_policy_from_hash<'a>(&self,config:HashRequest<'a>)->Result<Option<ScriptPolicyResponse>,SingleItemError>{
 		let policies=self.get_script_policies(GetScriptPoliciesRequest{
@@ -133,7 +133,7 @@ impl Context{
 		response_ok(
 			self.0.post(url,body).await.map_err(Error::Reqwest)?
 		).await.map_err(Error::Response)?
-		.json().await.map_err(Error::Reqwest)
+		.json().await.map_err(Error::ReqwestJson)
 	}
 	pub async fn update_submission_validated_model(&self,config:UpdateSubmissionModelRequest)->Result<(),Error>{
 		let url_raw=format!("{}/submissions/{}/validated-model",self.0.base_url,config.SubmissionID);
diff --git a/validation/api/src/types.rs b/validation/api/src/types.rs
index d09d502..60d1f4c 100644
--- a/validation/api/src/types.rs
+++ b/validation/api/src/types.rs
@@ -2,6 +2,7 @@
 pub enum Error{
 	Parse(url::ParseError),
 	Reqwest(reqwest::Error),
+	ReqwestJson(reqwest::Error),
 	Response(ResponseError),
 	JSON(serde_json::Error),
 }