From f598bbb176b83dded668010902767b3e3a44e5b2 Mon Sep 17 00:00:00 2001
From: Jean-Marie PEDURAND <jm81@hotmail.fr>
Date: Sat, 16 Nov 2019 18:56:16 +0100
Subject: [PATCH] [ref] gva: corrections following review
---
lib/modules/gva/src/lib.rs | 22 ++++++++++++----------
lib/modules/gva/src/schema.rs | 3 +++
lib/modules/gva/src/webserver.rs | 7 ++++---
3 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/lib/modules/gva/src/lib.rs b/lib/modules/gva/src/lib.rs
index f044741b..ce417cdf 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 678769e2..8f2ee9f1 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 3a7a7b89..0f1379fe 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| {
--
GitLab