diff --git a/Cargo.lock b/Cargo.lock index 906d6e6e054b43770f1aff5df8a845b09b7e4a5d..06a8dd7529a0bee3de4787c18cc276334bf7b3d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -228,7 +228,7 @@ name = "actix-web-codegen" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1015,8 +1015,9 @@ dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "juniper-from-schema 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "juniper-from-schema 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1583,16 +1584,24 @@ dependencies = [ [[package]] name = "juniper-from-schema" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" +version = "0.5.0" +source = "git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema#ed6694f928fe9aacb10e0c9ac3305724bf61b848" dependencies = [ + "juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", + "juniper-from-schema-code-gen 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)", +] + +[[package]] +name = "juniper-from-schema-code-gen" +version = "0.5.0" +source = "git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema#ed6694f928fe9aacb10e0c9ac3305724bf61b848" +dependencies = [ + "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "graphql-parser 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1600,7 +1609,7 @@ name = "juniper_codegen" version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2064,7 +2073,7 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.1" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2096,7 +2105,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2491,7 +2500,7 @@ name = "serde_derive" version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2667,7 +2676,7 @@ name = "syn" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3071,7 +3080,7 @@ dependencies = [ "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen-shared 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3091,7 +3100,7 @@ name = "wasm-bindgen-macro-support" version = "0.2.50" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3111,7 +3120,7 @@ dependencies = [ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3340,7 +3349,8 @@ dependencies = [ "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" "checksum js-sys 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "1efc4f2a556c58e79c5500912e221dd826bec64ff4aabd8ce71ccef6da02d7d4" "checksum juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5ede4b742c5d558ebb098706d1933b83fc5595e8fbf9ee7641d77f6d76ccc7" -"checksum juniper-from-schema 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "521c87eba45b61374cd54af99847116f5c98ae345b78a3ddeab7fe7b88e07253" +"checksum juniper-from-schema 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)" = "<none>" +"checksum juniper-from-schema-code-gen 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)" = "<none>" "checksum juniper_codegen 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80936abdd4fbe3f9c5357512b507786858df917d0c3fa25bed13dc0c14f5cdd4" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" @@ -3395,7 +3405,7 @@ dependencies = [ "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427" "checksum proc-macro2 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5c2380ae88876faae57698be9e9775e3544decad214599c3a6266cca6ac802" +"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" "checksum quote 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408" "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" diff --git a/lib/modules/gva/Cargo.toml b/lib/modules/gva/Cargo.toml index c31c809ca8ee5ad1ed35bce1b3174f551e6eb35b..06d95fb37bcba467b9f5078470eb9fbd2bc382bb 100644 --- a/lib/modules/gva/Cargo.toml +++ b/lib/modules/gva/Cargo.toml @@ -10,7 +10,8 @@ edition = "2018" path = "src/lib.rs" [dependencies] -actix-web = "1.0.0-alpha.4" +proc-macro2 = "1.0.6" +actix-web = "1.0.8" dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" } durs-bc-db-reader = { path = "../../modules-lib/bc-db-reader" } durs-conf = { path = "../../core/conf" } @@ -25,7 +26,8 @@ futures = "0.1" futures-cpupool = "0.1" juniper = "0.14.0" -juniper-from-schema = "0.0.4" +juniper-from-schema = { git = "https://github.com/davidpdrsn/juniper-from-schema.git", branch = "support-keywords-in-schema" } +#juniper-from-schema = "0.5.0" log = "0.4.*" serde = "1.0.*" serde_derive = "1.0.*" diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql index 36ba4470cd147169d08d7f641be9b4bc23d8df2e..94daa88de66d5741349e92fc9dbb788cdffa2143 100644 --- a/lib/modules/gva/resources/schema.gql +++ b/lib/modules/gva/resources/schema.gql @@ -6,10 +6,8 @@ schema { } type Query { - "#[ownership(owned)]" - currentBlock: String! - "#[ownership(owned)]" - current: Block + currentBlock: String! @juniper(ownership: "owned") + current: Block @juniper(ownership: "owned") } type Mutation { @@ -18,6 +16,7 @@ type Mutation { type Block { version: Int! + type: String! currency: String! number: Int! } diff --git a/lib/modules/gva/src/schema.rs b/lib/modules/gva/src/schema.rs index 22165dcfe47dcd91a57c3f7cc6fe54337a3bca6a..298da9201b6a6822827ac3c48125417c58681b54 100644 --- a/lib/modules/gva/src/schema.rs +++ b/lib/modules/gva/src/schema.rs @@ -21,12 +21,13 @@ use juniper::Executor; use juniper::FieldResult; use juniper_from_schema::graphql_schema_from_file; -graphql_schema_from_file!("lib/modules/gva/resources/schema.gql"); +graphql_schema_from_file!("resources/schema.gql"); pub struct Query; pub struct Block { version: i32, + r#type: String, currency: String, number: i32, } @@ -60,6 +61,7 @@ impl QueryFields for Query { Ok(current_block_option) => match current_block_option { Some(block) => Ok(Some(Block { version: block.block.version() as i32, + r#type: "Block".to_string(), currency: block.block.currency().to_string(), number: block.block.number().0 as i32, })), @@ -80,6 +82,10 @@ impl BlockFields for Block { Ok(&self.version) } + fn field_type(&self, _executor: &Executor<'_, Context>) -> FieldResult<&String> { + Ok(&self.r#type) + } + fn field_currency(&self, _executor: &Executor<'_, Context>) -> FieldResult<&String> { Ok(&self.currency) }