diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..73b9c10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +target/ +dist/ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..fe733f2 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1519 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +dependencies = [ + "memchr", +] + +[[package]] +name = "anymap2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" + +[[package]] +name = "ascii" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "boolinator" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" + +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" + +[[package]] +name = "cc" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "combine" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +dependencies = [ + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_logger" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" + +[[package]] +name = "futures-sink" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" + +[[package]] +name = "futures-task" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" + +[[package]] +name = "futures-util" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + +[[package]] +name = "gloo" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23947965eee55e3e97a5cd142dd4c10631cc349b48cecca0ed230fd296f568cd" +dependencies = [ + "gloo-console", + "gloo-dialogs", + "gloo-events", + "gloo-file", + "gloo-render", + "gloo-storage", + "gloo-timers", + "gloo-utils", +] + +[[package]] +name = "gloo" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e691526c3972d1fda35453f6df29925edea014dc75a2dede7661527e9439f0" +dependencies = [ + "gloo-console", + "gloo-dialogs", + "gloo-events", + "gloo-file", + "gloo-history", + "gloo-net", + "gloo-render", + "gloo-storage", + "gloo-timers", + "gloo-utils", + "gloo-worker", +] + +[[package]] +name = "gloo-console" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f" +dependencies = [ + "gloo-utils", + "js-sys", + "serde", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-dialogs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-events" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-file" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" +dependencies = [ + "futures-channel", + "gloo-events", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-history" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81af52c0d31e86242eecefe1ed4d066deb79cfb80f9f7da0847fac417396bfe" +dependencies = [ + "gloo-events", + "gloo-utils", + "serde", + "serde-wasm-bindgen", + "serde_urlencoded", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-net" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec897194fb9ac576c708f63d35604bc58f2a262b8cec0fabfed26f3991255f21" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-render" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-storage" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480" +dependencies = [ + "gloo-utils", + "js-sys", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-timers" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40913a05c8297adca04392f707b1e73b12ba7b8eab7244a4961580b1fd34063c" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-worker" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09110b5555bcafe508cee0fb94308af9aac7a85f980d3c88b270d117c6c6911d" +dependencies = [ + "anymap2", + "bincode", + "gloo-console", + "gloo-utils", + "js-sys", + "serde", + "slab", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "graphql-introspection-query" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" +dependencies = [ + "serde", +] + +[[package]] +name = "graphql-parser" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" +dependencies = [ + "combine", + "thiserror", +] + +[[package]] +name = "graphql_client" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc16d75d169fddb720d8f1c7aed6413e329e1584079b9734ff07266a193f5bc" +dependencies = [ + "graphql_query_derive", + "serde", + "serde_json", +] + +[[package]] +name = "graphql_client_codegen" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f290ecfa3bea3e8a157899dc8a1d96ee7dd6405c18c8ddd213fc58939d18a0e9" +dependencies = [ + "graphql-introspection-query", + "graphql-parser", + "heck", + "lazy_static", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "graphql_query_derive" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a755cc59cda2641ea3037b4f9f7ef40471c329f55c1fa2db6fa0bb7ae6c1f7ce" +dependencies = [ + "graphql_client_codegen", + "proc-macro2", + "syn", +] + +[[package]] +name = "h2" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" +dependencies = [ + "quick-error", +] + +[[package]] +name = "hyper" +version = "0.14.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" + +[[package]] +name = "itoa" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.135" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "mio" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys", +] + +[[package]] +name = "native-tls" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "once_cell" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" + +[[package]] +name = "openssl" +version = "0.10.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "route-recognizer" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys", +] + +[[package]] +name = "scoped-tls-hkt" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e9d7eaddb227e8fbaaa71136ae0e1e913ca159b86c7da82f3e8f0044ad3a63" + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "618365e8e586c22123d692b72a7d791d5ee697817b65a218cdf12a98870af0f7" +dependencies = [ + "fnv", + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde_derive" +version = "1.0.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "slab" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] + +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "syn" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "todo-yew-hasura" +version = "0.1.0" +dependencies = [ + "console_error_panic_hook", + "env_logger", + "gloo 0.7.0", + "gloo-utils", + "graphql_client", + "log", + "reqwest", + "serde", + "serde_json", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "yew", + "yew-router", +] + +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "pin-project-lite", + "socket2", + "winapi", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +dependencies = [ + "void", +] + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if", + "serde", + "serde_json", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "yew" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a1ccb53e57d3f7d847338cf5758befa811cabe207df07f543c06f502f9998cd" +dependencies = [ + "console_error_panic_hook", + "gloo 0.4.2", + "gloo-utils", + "indexmap", + "js-sys", + "scoped-tls-hkt", + "slab", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "yew-macro", +] + +[[package]] +name = "yew-macro" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fab79082b556d768d6e21811869c761893f0450e1d550a67892b9bce303b7bb" +dependencies = [ + "boolinator", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "yew-router" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "155804f6f3aa309f596d5c3fa14486a94e7756f1edd7634569949e401d5099f2" +dependencies = [ + "gloo 0.4.2", + "gloo-utils", + "js-sys", + "route-recognizer", + "serde", + "serde-wasm-bindgen", + "serde_urlencoded", + "thiserror", + "wasm-bindgen", + "web-sys", + "yew", + "yew-router-macro", +] + +[[package]] +name = "yew-router-macro" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39049d193b52eaad4ffc80916bf08806d142c90b5edcebd527644de438a7e19a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..73f9a72 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "todo-yew-hasura" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +graphql_client = { version = "0.11.0" } +serde_json = "1.0.87" +wasm-bindgen = "0.2.83" +wasm-bindgen-futures = "0.4.33" +web-sys = { version = "0.3.60", features = [ + "Request", + "RequestInit", + "RequestMode", + "Response", +] } +yew = "0.19.3" +yew-router = "0.16.0" + +gloo = "0.7" +gloo-utils = "0.1" +serde = { version = "1.0.147", features = ["derive"] } +console_error_panic_hook = "0.1.7" +reqwest = { version = "^0.11", features = ["json"] } +log = "0.4.3" +env_logger = "0.5.10" diff --git a/graphql/all_users_todos.graphql b/graphql/all_users_todos.graphql new file mode 100644 index 0000000..ae09cf4 --- /dev/null +++ b/graphql/all_users_todos.graphql @@ -0,0 +1,10 @@ +query AllUsersTodos { + users { + id + name + todos(order_by: {created_at: asc}, limit: 5) { + title + created_at + } + } +} diff --git a/graphql/schema.json b/graphql/schema.json new file mode 100644 index 0000000..e457a9b --- /dev/null +++ b/graphql/schema.json @@ -0,0 +1,6087 @@ +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": "whether this query should be included", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "include" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": "whether this query should be skipped", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "skip" + }, + { + "args": [ + { + "defaultValue": "60", + "description": "measured in seconds", + "name": "ttl", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "defaultValue": "false", + "description": "refresh the cache entry", + "name": "refresh", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": "whether this query should be cached (Hasura Cloud only)", + "locations": [ + "QUERY" + ], + "name": "cached" + } + ], + "mutationType": { + "name": "mutation_root" + }, + "queryType": { + "name": "query_root" + }, + "subscriptionType": { + "name": "subscription_root" + }, + "types": [ + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Float", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": "Boolean expression to compare columns of type \"Int\". All fields are combined with logical 'AND'.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "_eq", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "_is_null", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_neq", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_nin", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Int_comparison_exp", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null + }, + { + "description": "Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "_eq", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column match the given case-insensitive pattern", + "name": "_ilike", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "does the column match the given POSIX regular expression, case insensitive", + "name": "_iregex", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_is_null", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column match the given pattern", + "name": "_like", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_neq", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column NOT match the given case-insensitive pattern", + "name": "_nilike", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_nin", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "does the column NOT match the given POSIX regular expression, case insensitive", + "name": "_niregex", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column NOT match the given pattern", + "name": "_nlike", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column NOT match the given POSIX regular expression, case sensitive", + "name": "_nregex", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column NOT match the given SQL regular expression", + "name": "_nsimilar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column match the given POSIX regular expression, case sensitive", + "name": "_regex", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "does the column match the given SQL regular expression", + "name": "_similar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "String_comparison_exp", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "args", + "type": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "locations", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "args", + "type": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "directives", + "type": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "types", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ENUM" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "INPUT_OBJECT" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "INTERFACE" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "LIST" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NON_NULL" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "OBJECT" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "SCALAR" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "UNION" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null + }, + { + "description": "ordering argument of a cursor", + "enumValues": [ + { + "deprecationReason": null, + "description": "ascending ordering of the cursor", + "isDeprecated": false, + "name": "ASC" + }, + { + "deprecationReason": null, + "description": "descending ordering of the cursor", + "isDeprecated": false, + "name": "DESC" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "cursor_ordering", + "possibleTypes": null + }, + { + "description": "mutation root", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "filter the rows which have to be deleted", + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "delete data from the table: \"todos\"", + "isDeprecated": false, + "name": "delete_todos", + "type": { + "kind": "OBJECT", + "name": "todos_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "delete single row from the table: \"todos\"", + "isDeprecated": false, + "name": "delete_todos_by_pk", + "type": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "filter the rows which have to be deleted", + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "delete data from the table: \"users\"", + "isDeprecated": false, + "name": "delete_users", + "type": { + "kind": "OBJECT", + "name": "users_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "delete single row from the table: \"users\"", + "isDeprecated": false, + "name": "delete_users_by_pk", + "type": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "the rows to be inserted", + "name": "objects", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_insert_input", + "ofType": null + } + } + } + } + }, + { + "defaultValue": null, + "description": "upsert condition", + "name": "on_conflict", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_on_conflict", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "insert data into the table: \"todos\"", + "isDeprecated": false, + "name": "insert_todos", + "type": { + "kind": "OBJECT", + "name": "todos_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "the row to be inserted", + "name": "object", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_insert_input", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "upsert condition", + "name": "on_conflict", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_on_conflict", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "insert a single row into the table: \"todos\"", + "isDeprecated": false, + "name": "insert_todos_one", + "type": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "the rows to be inserted", + "name": "objects", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_insert_input", + "ofType": null + } + } + } + } + }, + { + "defaultValue": null, + "description": "upsert condition", + "name": "on_conflict", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_on_conflict", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "insert data into the table: \"users\"", + "isDeprecated": false, + "name": "insert_users", + "type": { + "kind": "OBJECT", + "name": "users_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "the row to be inserted", + "name": "object", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_insert_input", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "upsert condition", + "name": "on_conflict", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_on_conflict", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "insert a single row into the table: \"users\"", + "isDeprecated": false, + "name": "insert_users_one", + "type": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "filter the rows which have to be updated", + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "update data of the table: \"todos\"", + "isDeprecated": false, + "name": "update_todos", + "type": { + "kind": "OBJECT", + "name": "todos_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "pk_columns", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_pk_columns_input", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "update single row of the table: \"todos\"", + "isDeprecated": false, + "name": "update_todos_by_pk", + "type": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "updates to execute, in order", + "name": "updates", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_updates", + "ofType": null + } + } + } + } + } + ], + "deprecationReason": null, + "description": "update multiples rows of table: \"todos\"", + "isDeprecated": false, + "name": "update_todos_many", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos_mutation_response", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "filter the rows which have to be updated", + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "update data of the table: \"users\"", + "isDeprecated": false, + "name": "update_users", + "type": { + "kind": "OBJECT", + "name": "users_mutation_response", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "pk_columns", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_pk_columns_input", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "update single row of the table: \"users\"", + "isDeprecated": false, + "name": "update_users_by_pk", + "type": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "updates to execute, in order", + "name": "updates", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_updates", + "ofType": null + } + } + } + } + } + ], + "deprecationReason": null, + "description": "update multiples rows of table: \"users\"", + "isDeprecated": false, + "name": "update_users_many", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users_mutation_response", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "mutation_root", + "possibleTypes": null + }, + { + "description": "column ordering options", + "enumValues": [ + { + "deprecationReason": null, + "description": "in ascending order, nulls last", + "isDeprecated": false, + "name": "asc" + }, + { + "deprecationReason": null, + "description": "in ascending order, nulls first", + "isDeprecated": false, + "name": "asc_nulls_first" + }, + { + "deprecationReason": null, + "description": "in ascending order, nulls last", + "isDeprecated": false, + "name": "asc_nulls_last" + }, + { + "deprecationReason": null, + "description": "in descending order, nulls first", + "isDeprecated": false, + "name": "desc" + }, + { + "deprecationReason": null, + "description": "in descending order, nulls first", + "isDeprecated": false, + "name": "desc_nulls_first" + }, + { + "deprecationReason": null, + "description": "in descending order, nulls last", + "isDeprecated": false, + "name": "desc_nulls_last" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "order_by", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An array relationship", + "isDeprecated": false, + "name": "todos", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An aggregate relationship", + "isDeprecated": false, + "name": "todos_aggregate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos_aggregate", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"todos\" using primary key columns", + "isDeprecated": false, + "name": "todos_by_pk", + "type": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"users\"", + "isDeprecated": false, + "name": "users", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch aggregated fields from the table: \"users\"", + "isDeprecated": false, + "name": "users_aggregate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users_aggregate", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"users\" using primary key columns", + "isDeprecated": false, + "name": "users_by_pk", + "type": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "query_root", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An array relationship", + "isDeprecated": false, + "name": "todos", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An aggregate relationship", + "isDeprecated": false, + "name": "todos_aggregate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos_aggregate", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"todos\" using primary key columns", + "isDeprecated": false, + "name": "todos_by_pk", + "type": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "maximum number of rows returned in a single batch", + "name": "batch_size", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "cursor to stream the results returned by the query", + "name": "cursor", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_stream_cursor_input", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table in a streaming manner : \"todos\"", + "isDeprecated": false, + "name": "todos_stream", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"users\"", + "isDeprecated": false, + "name": "users", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch aggregated fields from the table: \"users\"", + "isDeprecated": false, + "name": "users_aggregate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users_aggregate", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table: \"users\" using primary key columns", + "isDeprecated": false, + "name": "users_by_pk", + "type": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "maximum number of rows returned in a single batch", + "name": "batch_size", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "cursor to stream the results returned by the query", + "name": "cursor", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_stream_cursor_input", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "fetch data from the table in a streaming manner : \"users\"", + "isDeprecated": false, + "name": "users_stream", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "subscription_root", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "timestamptz", + "possibleTypes": null + }, + { + "description": "Boolean expression to compare columns of type \"timestamptz\". All fields are combined with logical 'AND'.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "_eq", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gt", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_gte", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "_is_null", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lt", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_lte", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_neq", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_nin", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "timestamptz_comparison_exp", + "possibleTypes": null + }, + { + "description": "columns and relationships of \"todos\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "created_at", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "title", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos", + "possibleTypes": null + }, + { + "description": "aggregated selection of \"todos\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aggregate", + "type": { + "kind": "OBJECT", + "name": "todos_aggregate_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_aggregate", + "possibleTypes": null + }, + { + "description": "aggregate fields of \"todos\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "avg", + "type": { + "kind": "OBJECT", + "name": "todos_avg_fields", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "columns", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "distinct", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "count", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "max", + "type": { + "kind": "OBJECT", + "name": "todos_max_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "min", + "type": { + "kind": "OBJECT", + "name": "todos_min_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev", + "type": { + "kind": "OBJECT", + "name": "todos_stddev_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev_pop", + "type": { + "kind": "OBJECT", + "name": "todos_stddev_pop_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev_samp", + "type": { + "kind": "OBJECT", + "name": "todos_stddev_samp_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sum", + "type": { + "kind": "OBJECT", + "name": "todos_sum_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "var_pop", + "type": { + "kind": "OBJECT", + "name": "todos_var_pop_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "var_samp", + "type": { + "kind": "OBJECT", + "name": "todos_var_samp_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "variance", + "type": { + "kind": "OBJECT", + "name": "todos_variance_fields", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_aggregate_fields", + "possibleTypes": null + }, + { + "description": "order by aggregate values of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "avg", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_avg_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "count", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "max", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_max_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "min", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_min_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "stddev", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_stddev_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "stddev_pop", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_stddev_pop_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "stddev_samp", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_stddev_samp_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sum", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_sum_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "var_pop", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_var_pop_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "var_samp", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_var_samp_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "variance", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_variance_order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_aggregate_order_by", + "possibleTypes": null + }, + { + "description": "input type for inserting array relation for remote table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "data", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_insert_input", + "ofType": null + } + } + } + } + }, + { + "defaultValue": null, + "description": "upsert condition", + "name": "on_conflict", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_on_conflict", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_arr_rel_insert_input", + "possibleTypes": null + }, + { + "description": "aggregate avg on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_avg_fields", + "possibleTypes": null + }, + { + "description": "order by avg() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_avg_order_by", + "possibleTypes": null + }, + { + "description": "Boolean expression to filter rows from the table \"todos\". All fields are combined with a logical 'AND'.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "_and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "_not", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "INPUT_OBJECT", + "name": "Int_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "INPUT_OBJECT", + "name": "timestamptz_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "INPUT_OBJECT", + "name": "Int_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "INPUT_OBJECT", + "name": "String_comparison_exp", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "possibleTypes": null + }, + { + "description": "unique or primary key constraints on table \"todos\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "unique or primary key constraint on columns \"id\"", + "isDeprecated": false, + "name": "todos_pkey" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "todos_constraint", + "possibleTypes": null + }, + { + "description": "input type for incrementing numeric columns in table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_inc_input", + "possibleTypes": null + }, + { + "description": "input type for inserting data into table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_insert_input", + "possibleTypes": null + }, + { + "description": "aggregate max on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "created_at", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_max_fields", + "possibleTypes": null + }, + { + "description": "order by max() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_max_order_by", + "possibleTypes": null + }, + { + "description": "aggregate min on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "created_at", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_min_fields", + "possibleTypes": null + }, + { + "description": "order by min() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_min_order_by", + "possibleTypes": null + }, + { + "description": "response of any mutation on the table \"todos\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "number of rows affected by the mutation", + "isDeprecated": false, + "name": "affected_rows", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "data from the rows affected by the mutation", + "isDeprecated": false, + "name": "returning", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_mutation_response", + "possibleTypes": null + }, + { + "description": "on_conflict condition type for table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "constraint", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_constraint", + "ofType": null + } + } + }, + { + "defaultValue": "[]", + "description": null, + "name": "update_columns", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_update_column", + "ofType": null + } + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_on_conflict", + "possibleTypes": null + }, + { + "description": "Ordering options when selecting data from \"todos\".", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "possibleTypes": null + }, + { + "description": "primary key columns input for table: todos", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_pk_columns_input", + "possibleTypes": null + }, + { + "description": "select columns of table \"todos\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "assignee" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "created_at" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "title" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "todos_select_column", + "possibleTypes": null + }, + { + "description": "input type for updating data in table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_set_input", + "possibleTypes": null + }, + { + "description": "aggregate stddev on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_stddev_fields", + "possibleTypes": null + }, + { + "description": "order by stddev() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_stddev_order_by", + "possibleTypes": null + }, + { + "description": "aggregate stddev_pop on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_stddev_pop_fields", + "possibleTypes": null + }, + { + "description": "order by stddev_pop() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_stddev_pop_order_by", + "possibleTypes": null + }, + { + "description": "aggregate stddev_samp on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_stddev_samp_fields", + "possibleTypes": null + }, + { + "description": "order by stddev_samp() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_stddev_samp_order_by", + "possibleTypes": null + }, + { + "description": "Streaming cursor of the table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Stream column input with initial value", + "name": "initial_value", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_stream_cursor_value_input", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "cursor ordering", + "name": "ordering", + "type": { + "kind": "ENUM", + "name": "cursor_ordering", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_stream_cursor_input", + "possibleTypes": null + }, + { + "description": "Initial value of the column from where the streaming should start", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "created_at", + "type": { + "kind": "SCALAR", + "name": "timestamptz", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_stream_cursor_value_input", + "possibleTypes": null + }, + { + "description": "aggregate sum on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_sum_fields", + "possibleTypes": null + }, + { + "description": "order by sum() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_sum_order_by", + "possibleTypes": null + }, + { + "description": "update columns of table \"todos\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "assignee" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "created_at" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "title" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "todos_update_column", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_updates", + "possibleTypes": null + }, + { + "description": "aggregate var_pop on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_var_pop_fields", + "possibleTypes": null + }, + { + "description": "order by var_pop() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_var_pop_order_by", + "possibleTypes": null + }, + { + "description": "aggregate var_samp on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_var_samp_fields", + "possibleTypes": null + }, + { + "description": "order by var_samp() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_var_samp_order_by", + "possibleTypes": null + }, + { + "description": "aggregate variance on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "assignee", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "todos_variance_fields", + "possibleTypes": null + }, + { + "description": "order by variance() on columns of table \"todos\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "assignee", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "todos_variance_order_by", + "possibleTypes": null + }, + { + "description": "columns and relationships of \"users\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An array relationship", + "isDeprecated": false, + "name": "todos", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": "distinct select on columns", + "name": "distinct_on", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "todos_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "limit the number of rows returned", + "name": "limit", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "skip the first n rows. Use only with order_by", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sort the rows by one or more columns", + "name": "order_by", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "todos_order_by", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "filter the rows returned", + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "An aggregate relationship", + "isDeprecated": false, + "name": "todos_aggregate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "todos_aggregate", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "username", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users", + "possibleTypes": null + }, + { + "description": "aggregated selection of \"users\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aggregate", + "type": { + "kind": "OBJECT", + "name": "users_aggregate_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_aggregate", + "possibleTypes": null + }, + { + "description": "aggregate fields of \"users\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "avg", + "type": { + "kind": "OBJECT", + "name": "users_avg_fields", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "columns", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_select_column", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "distinct", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "count", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "max", + "type": { + "kind": "OBJECT", + "name": "users_max_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "min", + "type": { + "kind": "OBJECT", + "name": "users_min_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev", + "type": { + "kind": "OBJECT", + "name": "users_stddev_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev_pop", + "type": { + "kind": "OBJECT", + "name": "users_stddev_pop_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stddev_samp", + "type": { + "kind": "OBJECT", + "name": "users_stddev_samp_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sum", + "type": { + "kind": "OBJECT", + "name": "users_sum_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "var_pop", + "type": { + "kind": "OBJECT", + "name": "users_var_pop_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "var_samp", + "type": { + "kind": "OBJECT", + "name": "users_var_samp_fields", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "variance", + "type": { + "kind": "OBJECT", + "name": "users_variance_fields", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_aggregate_fields", + "possibleTypes": null + }, + { + "description": "aggregate avg on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_avg_fields", + "possibleTypes": null + }, + { + "description": "Boolean expression to filter rows from the table \"users\". All fields are combined with a logical 'AND'.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "_and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "_not", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "_or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "avatar", + "type": { + "kind": "INPUT_OBJECT", + "name": "String_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "INPUT_OBJECT", + "name": "Int_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "INPUT_OBJECT", + "name": "String_comparison_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "todos", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_bool_exp", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "username", + "type": { + "kind": "INPUT_OBJECT", + "name": "String_comparison_exp", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "possibleTypes": null + }, + { + "description": "unique or primary key constraints on table \"users\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "unique or primary key constraint on columns \"id\"", + "isDeprecated": false, + "name": "users_pkey" + }, + { + "deprecationReason": null, + "description": "unique or primary key constraint on columns \"username\"", + "isDeprecated": false, + "name": "users_username_key" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "users_constraint", + "possibleTypes": null + }, + { + "description": "input type for incrementing numeric columns in table \"users\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_inc_input", + "possibleTypes": null + }, + { + "description": "input type for inserting data into table \"users\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "todos", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_arr_rel_insert_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "username", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_insert_input", + "possibleTypes": null + }, + { + "description": "aggregate max on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "username", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_max_fields", + "possibleTypes": null + }, + { + "description": "aggregate min on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "username", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_min_fields", + "possibleTypes": null + }, + { + "description": "response of any mutation on the table \"users\"", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "number of rows affected by the mutation", + "isDeprecated": false, + "name": "affected_rows", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "data from the rows affected by the mutation", + "isDeprecated": false, + "name": "returning", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "users", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_mutation_response", + "possibleTypes": null + }, + { + "description": "on_conflict condition type for table \"users\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "constraint", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_constraint", + "ofType": null + } + } + }, + { + "defaultValue": "[]", + "description": null, + "name": "update_columns", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "users_update_column", + "ofType": null + } + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_on_conflict", + "possibleTypes": null + }, + { + "description": "Ordering options when selecting data from \"users\".", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "avatar", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "todos_aggregate", + "type": { + "kind": "INPUT_OBJECT", + "name": "todos_aggregate_order_by", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "username", + "type": { + "kind": "ENUM", + "name": "order_by", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_order_by", + "possibleTypes": null + }, + { + "description": "primary key columns input for table: users", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_pk_columns_input", + "possibleTypes": null + }, + { + "description": "select columns of table \"users\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "avatar" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "name" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "username" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "users_select_column", + "possibleTypes": null + }, + { + "description": "input type for updating data in table \"users\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "username", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_set_input", + "possibleTypes": null + }, + { + "description": "aggregate stddev on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_stddev_fields", + "possibleTypes": null + }, + { + "description": "aggregate stddev_pop on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_stddev_pop_fields", + "possibleTypes": null + }, + { + "description": "aggregate stddev_samp on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_stddev_samp_fields", + "possibleTypes": null + }, + { + "description": "Streaming cursor of the table \"users\"", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Stream column input with initial value", + "name": "initial_value", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_stream_cursor_value_input", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "cursor ordering", + "name": "ordering", + "type": { + "kind": "ENUM", + "name": "cursor_ordering", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_stream_cursor_input", + "possibleTypes": null + }, + { + "description": "Initial value of the column from where the streaming should start", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "avatar", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "username", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_stream_cursor_value_input", + "possibleTypes": null + }, + { + "description": "aggregate sum on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_sum_fields", + "possibleTypes": null + }, + { + "description": "update columns of table \"users\"", + "enumValues": [ + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "avatar" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "name" + }, + { + "deprecationReason": null, + "description": "column name", + "isDeprecated": false, + "name": "username" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "users_update_column", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "increments the numeric columns with given value of the filtered values", + "name": "_inc", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_inc_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "sets the columns of the filtered rows to the given values", + "name": "_set", + "type": { + "kind": "INPUT_OBJECT", + "name": "users_set_input", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "users_bool_exp", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "users_updates", + "possibleTypes": null + }, + { + "description": "aggregate var_pop on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_var_pop_fields", + "possibleTypes": null + }, + { + "description": "aggregate var_samp on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_var_samp_fields", + "possibleTypes": null + }, + { + "description": "aggregate variance on columns", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "users_variance_fields", + "possibleTypes": null + } + ] + } + } +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..8028fa4 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + Todo app with hasura and yew frontend + + + diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..b71d11f --- /dev/null +++ b/src/main.rs @@ -0,0 +1,216 @@ +use std::{ + error::Error, + fmt::{self, Debug, Display, Formatter}, +}; + +use graphql_client::GraphQLQuery; +use wasm_bindgen::{prelude::*, JsCast}; +use wasm_bindgen_futures::JsFuture; +use web_sys::{Request, RequestInit, RequestMode, Response}; +use serde_json::{Value, from_str, json, from_value}; +use serde::Deserialize; +use yew::prelude::*; +use yew_router::prelude::*; + +type Timestamptz = String; +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "graphql/schema.json", + query_path = "graphql/all_users_todos.graphql", + response_derives = "Debug", + normalization = "rust" +)] +struct AllUsersTodos; + +#[derive(Debug, Clone, PartialEq)] +pub struct FetchError { + err: JsValue, +} + +impl Display for FetchError { + fn fmt(&self, f: &mut Formatter) -> fmt::Result { + Debug::fmt(&self.err, f) + } +} + +impl Error for FetchError {} + +impl From for FetchError { + fn from(value: JsValue) -> Self { + Self { err: value } + } +} + +pub enum FetchState { + NotFetching, + Fetching, + Success(T), + Failed(FetchError), +} + +pub enum Msg { + SetState(FetchState), + GetData, +} + +pub async fn fetch_gql_data Deserialize<'a>>(query: &str) -> Result { + let mut req_opts = RequestInit::new(); + req_opts.method("POST"); + req_opts.body(Some(&JsValue::from_str(query))); + req_opts.mode(RequestMode::Cors); + + let request = Request::new_with_str_and_init("http://localhost:8080/v1/graphql", &req_opts)?; + + let window = gloo_utils::window(); + let resp_value = + JsFuture::from(window.fetch_with_request(&request)).await?; + let resp: Response = resp_value.dyn_into().unwrap(); + let resp_text = JsFuture::from(resp.text()?).await?; + + let data_str = resp_text.as_string().unwrap(); + let data_value: Value = from_str(&data_str).unwrap(); + from_value(data_value["data"].clone()) + .map_err(|e| FetchError { err: JsValue::from(format!("{}", e)) }) +} + +#[derive(Routable, PartialEq, Clone, Debug)] +pub enum Routes { + #[at("/users")] + Users, + #[at("/todos")] + Todos, + #[at("/")] + Index, +} + +struct App; + +#[function_component(NavGlobal)] +fn nav_global() -> Html { + html! { +
+ to={ Routes::Index }> { "Index" }> + to={ Routes::Users }> { "Users" }> + to={ Routes::Todos }> { "Todos" }> +
+ } +} + +struct AllUsersTodosComponent { + data: FetchState, +} + +fn view_all_users_todos(all_users: &all_users_todos::ResponseData) -> Html { + html! { + <> +

{ "All users and their todos" }

+ { + all_users.users.iter().map(|user| { + html! { + <> +

{ user.name.to_owned() }

+
    + { + user.todos.iter().map(|todo| { + html! { +
  • + { todo.title.to_owned() } + { todo.created_at.to_owned() } +
  • + } + }).collect::() + } +
+ + } + }).collect::() + } + + } +} + +impl Component for AllUsersTodosComponent { + type Message = Msg; + type Properties = (); + + fn create(_ctx: &Context) -> Self { + Self { data: FetchState::NotFetching } + } + + fn view(&self, _ctx: &Context) -> Html { + match &self.data { + FetchState::NotFetching => html! { "NotFetching" }, + FetchState::Fetching => html! { "Fetching" }, + FetchState::Success(all_users_todos_data) => view_all_users_todos(all_users_todos_data), + FetchState::Failed(err) => html! { err }, + } + } + + fn rendered(&mut self, ctx: &Context, first_render: bool) { + if first_render { + ctx.link().send_message(Msg::GetData); + } + } + + fn update(&mut self, ctx: &Context, msg: Self::Message) -> bool { + match msg { + Msg::SetState(fetch_state) => { + self.data = fetch_state; + + true + } + Msg::GetData => { + ctx.link().send_future(async { + match fetch_gql_data(&users_todos_query().await).await + { + Ok(data) => Msg::SetState(FetchState::Success(data)), + Err(err) => Msg::SetState(FetchState::Failed(err)), + } + }); + + ctx.link().send_message(Msg::SetState(FetchState::Fetching)); + + false + } + } + } +} + +async fn users_todos_query() -> String { + let build_query = AllUsersTodos::build_query(all_users_todos::Variables {}); + json!(build_query).to_string() +} + +fn navigate_to_view(target: &Routes) -> Html { + match target { + Routes::Users => html!{ "TODO: All Users" }, + // Routes::Todos => html!{ }, + // Routes::Index => html!{ }, + Routes::Todos => html!{
{ "TODO: All Todos" }
}, + Routes::Index => html!{ }, + } +} + +impl Component for App { + type Message = (); + type Properties = (); + + fn create(_ctx: &Context) -> Self { + Self + } + + fn view(&self, _ctx: &Context) -> Html { + html! { + + +
+ render={ Switch::render(navigate_to_view) } /> +
+
+ } + } +} + +fn main() { + yew::start_app::(); +}