diff --git a/lib/modules/gva/src/lib.rs b/lib/modules/gva/src/lib.rs index f044741b3ba3fdac3bb1598b6918f4f7da127bb7..ce417cdf7dd9d63d0b5d709b4d42b70ad3bf6c4d 100644 --- a/lib/modules/gva/src/lib.rs +++ b/lib/modules/gva/src/lib.rs @@ -51,9 +51,14 @@ use dubp_currency_params::CurrencyName; use durs_common_tools::fatal_error; use durs_common_tools::traits::merge::Merge; use durs_conf::DuRsConf; -use durs_message::events::*; -use durs_message::*; -use durs_module::*; +use durs_message::events::{BlockchainEvent, DursEvent}; +use durs_message::DursMsg; +use durs_module::{ + DursConfTrait, DursModule, ModuleConfError, ModuleEvent, ModulePriority, ModuleRole, + ModuleStaticName, RequiredKeys, RequiredKeysContent, RouterThreadMessage, SoftwareMetaDatas, +}; + +//use durs_module::*; use durs_network::events::NetworkEvent; use std::ops::Deref; @@ -257,13 +262,10 @@ impl DursModule<DuRsConf, DursMsg> for GvaModule { let smd: SoftwareMetaDatas<DuRsConf> = soft_meta_datas.clone(); let router_sender_clone = router_sender.clone(); thread::spawn(move || { - match webserver::start_web_server(&smd) { - Ok(_) => { - info!("GVA http web server stop."); - } - Err(e) => { - error!("GVA http web server error : {} ", e); - } + if let Err(e) = webserver::start_web_server(&smd) { + error!("GVA http web server error : {} ", e); + } else { + info!("GVA http web server stop.") } let _result = router_sender_clone.send(RouterThreadMessage::ModuleMessage(DursMsg::Stop)); diff --git a/lib/modules/gva/src/schema.rs b/lib/modules/gva/src/schema.rs index 678769e2bfca9ab6b8a248e64afa80168f727269..8f2ee9f1332169a3a2c04b619a0c7ac40ae3c7e5 100644 --- a/lib/modules/gva/src/schema.rs +++ b/lib/modules/gva/src/schema.rs @@ -12,6 +12,8 @@ // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +// +// model and resolvers implementation use crate::context::Context; use dubp_block_doc::block::BlockDocumentTrait; @@ -21,6 +23,7 @@ use juniper::Executor; use juniper::FieldResult; use juniper_from_schema::graphql_schema_from_file; +// generate schema from schema file graphql_schema_from_file!("resources/schema.gql"); pub struct Query; diff --git a/lib/modules/gva/src/webserver.rs b/lib/modules/gva/src/webserver.rs index 3a7a7b89961733566afe6b45c225d0bb709d99a8..0f1379fe1dc1d9422124cdef0eeeac3ac57715b0 100644 --- a/lib/modules/gva/src/webserver.rs +++ b/lib/modules/gva/src/webserver.rs @@ -12,13 +12,14 @@ // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +// web server implementaion based on actix-web use crate::context; -use crate::schema::*; +use crate::schema::{create_schema, Schema}; use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer}; use durs_common_tools::fatal_error; use durs_conf::DuRsConf; -use durs_module::*; +use durs_module::SoftwareMetaDatas; use futures::future::Future; use juniper::http::graphiql::graphiql_source; use juniper::http::GraphQLRequest; @@ -39,7 +40,7 @@ fn graphql( let context = crate::context::get_context(); web::block(move || { let result = data.execute(&schema, context); - Ok::<_, serde_json::error::Error>(serde_json::to_string(&result)?) + serde_json::to_string(&result) }) .map_err(Error::from) .and_then(|user| {