use crate::nats_types::ValidateMapfixRequest; #[allow(dead_code)] #[derive(Debug)] pub enum Error{ ApiActionMapfixValidate(submissions_api::Error), } impl std::fmt::Display for Error{ fn fmt(&self,f:&mut std::fmt::Formatter<'_>)->std::fmt::Result{ write!(f,"{self:?}") } } impl std::error::Error for Error{} impl crate::message_handler::MessageHandler{ pub async fn validate_mapfix(&self,validate_info:ValidateMapfixRequest)->Result<(),Error>{ let mapfix_id=validate_info.MapfixID; let validate_result=self.validate_inner(validate_info.into()).await; // update the mapfix depending on the result match &validate_result{ Ok(())=>{ // update the mapfix model status to validated self.api.action_mapfix_validated( submissions_api::types::MapfixID(mapfix_id) ).await.map_err(Error::ApiActionMapfixValidate)?; }, Err(e)=>{ // update the mapfix model status to accepted self.api.action_mapfix_accepted(submissions_api::types::ActionMapfixAcceptedRequest{ MapfixID:mapfix_id, ErrorMessage:e.to_string(), }).await.map_err(Error::ApiActionMapfixValidate)?; }, } Ok(()) } }