rest-server: use hashmap for parameter errors
our ui expects a map here with 'field: "error"'. This way it can mark the relevant field as invalid and correctly shows the complete error message Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						 Dietmar Maurer
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						parent
						
							d6473f5359
						
					
				
				
					commit
					1d4448998a
				
			| @ -1,4 +1,5 @@ | ||||
| //! Helpers to format response data | ||||
| use std::collections::HashMap; | ||||
|  | ||||
| use anyhow::{Error}; | ||||
| use serde_json::{json, Value}; | ||||
| @ -144,15 +145,14 @@ impl  OutputFormatter for ExtJsFormatter { | ||||
|     fn format_error(&self, err: Error) -> Response<Body> { | ||||
|  | ||||
|         let message: String; | ||||
|         let errors; | ||||
|         let mut errors = HashMap::new(); | ||||
|  | ||||
|         if let Some(param_err) = err.downcast_ref::<ParameterError>() { | ||||
|             errors = param_err.errors().iter() | ||||
|                 .map(|(name, err)| format!("parameter '{}': {}", name, err)) | ||||
|                 .collect(); | ||||
|             for (name, err) in param_err.errors().iter() { | ||||
|                 errors.insert(name, err.to_string()); | ||||
|             } | ||||
|             message = String::from("parameter verification errors"); | ||||
|         } else { | ||||
|             errors = vec![]; | ||||
|             message = err.to_string(); | ||||
|         } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user