Commit Graph

397 Commits

Author SHA1 Message Date
Bryan Burgers
e21f2e6316 Allow vars to be missing when def is nullable
Allow variables to be missing when the associated variable definition is
nullable (in which case we use `null` as the default).

This fixes queries like

```graphql
query Test($var: Int) {
    test(var: $var)
}
```

```json
{}
```

which appear to be allowed according to the GraphQL spec.
2020-06-11 10:00:47 -05:00
Sunli
6f7a3ea0e4 Add GQLInterface and GQLUnion 2020-06-11 15:08:51 +08:00
Sunli
a58d2d71ab Merge branch 'master' of github.com:async-graphql/async-graphql 2020-06-11 11:23:34 +08:00
Sunli
82eefd67fd Add GQLEnum, GQLInputObject, GQLSimpleObject macros. #164
use `proc_macro_derive` to solve the problem that Enum, InputObject, and SimpleObject do not support the #cfg attribute.
2020-06-11 11:23:23 +08:00
Coenen Benjamin
a1e5543f9c Update name of scalar DateTime to DateTimeUtc (#166)
* Update name of scalar DateTime to DateTimeUtc
2020-06-09 21:18:23 +08:00
Sunli
7b09aaf70b Fix slice support #165 2020-06-09 18:45:22 +08:00
William Myers
422337fd1e Add docs about into_read being blocking
Addresses #151
2020-06-07 20:44:01 -06:00
sunli
32210eb64a Fix upload seems broken in the new version. #160 2020-06-07 16:32:05 +08:00
iancormac84
9b3c2c9b8a Upgrade bson crate. 2020-06-06 12:38:15 -04:00
Sunli
52996501ad Fix Subscription panics when unsubscribing from exhausted stream #157 2020-06-06 19:58:36 +08:00
Sunli
edec696610 Add tests for feature attribute 2020-06-06 11:49:29 +08:00
Sunli
4a28518e33 Update playground_source.rs 2020-06-06 10:30:14 +08:00
Sunli
1820e1b723 Clippy cleanup 2020-06-06 10:10:10 +08:00
Roman Useinov
3889f219cd Add the ability to specify full config for GraphQLPlayground (#155)
* add the ability to specify full config for GraphQLPlayground
2020-06-06 09:55:53 +08:00
Coenen Benjamin
437a677948 Update FnMut to FnOnce for query closure 2020-06-06 02:00:21 +02:00
Sunli
b31ac79123 add feature attribute to field attribute inside SimpleObject 2020-06-05 21:17:15 +08:00
Coenen Benjamin
1084c44535 add feature attribute to field attribute inside Object (#153)
* add feature support in field attribute
2020-06-05 21:06:53 +08:00
Sunli
13e31ac9b1 Add QueryBuilder::extension function. #87 2020-06-05 15:42:29 +08:00
Sunli
37943fa30a Fix relay @defer requires a label in the second chunk. #146 2020-06-05 12:20:23 +08:00
Sunli
bd75b81d85 Update guard.rs 2020-06-03 14:59:26 +08:00
Sunli
746544412b Add PostGuard. #129 2020-06-03 14:50:06 +08:00
Sunli
ef6ed9aae5 Update connection::query docs 2020-06-02 21:43:08 +08:00
Sunli
54177e0a1a Add Default derive for Json type 2020-06-02 21:00:54 +08:00
Sunli
c41dba50bc Add example for connection::query 2020-06-02 19:12:28 +08:00
Sunli
2452a44484 Add connection::query function 2020-06-02 17:43:13 +08:00
Sunli
b10aa5fde8 Little performance optimization. 2020-06-02 12:02:14 +08:00
Sunli
2b2f193800 Merge pull request #119 from kevinschoonover/master
Add tests for Input Validators
2020-06-02 09:06:59 +08:00
Sunli
775c7be6b1 Update docs 2020-06-02 08:57:45 +08:00
Sunli
ddd35315c9 Add SchemaBuilder::enable_federation #136 2020-06-02 08:49:27 +08:00
Kevin Schoonover
9b114cf616 Add input validator tests + fix clippy errors 2020-06-01 16:42:13 -05:00
Kevin Schoonover
7c35bf1186 Update input validator errors to be standardized 2020-06-01 16:42:06 -05:00
Kevin Schoonover
eeb9d6219d Fix AND input validator operator 2020-06-01 16:42:06 -05:00
Sunli
e841c911f8 Add ability to exclude Subscription from _service.sdl #131 2020-06-01 19:36:19 +08:00
Sunli
89f9a7cbbf Add async_graphql_warp::GQLResponseStream type 2020-06-01 10:40:07 +08:00
Sunli
76035443ac Fix validators bug 2020-06-01 10:19:24 +08:00
Sunli
267620d08e Fix incorrect variable substitution. #126 2020-05-31 11:54:07 +08:00
Sunli
e76dcb94da Remove unsafe code from tests 2020-05-29 17:29:15 +08:00
Sunli
05a4f73490 Remove unsafe code in SubscriptionStream 2020-05-29 14:42:14 +08:00
Sunli
9eff1da4ae Remove premature generic constraints of DataSource type. 2020-05-29 12:42:58 +08:00
Sunli
dba575d4a5 Add Connection::map and Connection::map_node functions 2020-05-29 12:19:08 +08:00
Sunli
6361bc4532 Update connection_type.rs 2020-05-29 11:56:12 +08:00
Sunli
38db0cbec5 Update DataSource example 2020-05-29 11:54:16 +08:00
Sunli
a2239fd51c Rename Connection::new_with_additional_fields to Connection::with_additional_fields and Edge::new_with_additional_fields to Edge::with_additional_fields 2020-05-29 10:28:18 +08:00
Sunli
6cc92458e1 Add Connection::try_append and Connection::try_append_stream 2020-05-29 09:24:31 +08:00
Иван Плесских
a7ee9e777f Added docs for Interface field method argument (#124)
* Added docs for `Interface` field `method` argument
2020-05-28 23:50:01 +08:00
sunli
e98327ae5e Update some docs 2020-05-28 22:18:15 +08:00
Sunli
43c8daa132 Add MaybeUndefined type (#123)
* Add MaybeUndefined type
2020-05-28 15:00:55 +08:00
Sunli
3cdf109bfd Update integers.rs 2020-05-28 11:25:03 +08:00
Sunli
0c15370bcd Fix the problem that async-graphql cannot be compiled and passed in rust nightly-2020-05-25. #122 2020-05-28 10:26:07 +08:00
sunli
0ebf7d4087 Update mod.rs 2020-05-28 08:07:29 +08:00
Sunli
76ff909ccd New data source (#105)
* New data source
2020-05-28 08:02:00 +08:00
sunli
1069461873 Logger extensions filter out introspection. #87 2020-05-27 20:47:22 +08:00
sunli
d53eb1a9ff Fix Service type name error. 2020-05-27 18:07:38 +08:00
Sunli
41cba4d6fb Fixed a bug in fragment query. #114 2020-05-27 15:23:53 +08:00
Sunli
b16fc7b9b9 Add the method parameter to the interface field. #112 2020-05-27 10:25:23 +08:00
Sunli
451f0c27f0 Compilation trouble with StringMinLength validator. #113 2020-05-27 09:42:58 +08:00
Sunli
a9d3ac9cf8 Implement a type-safe default value definition for InputValue. #111 2020-05-26 20:43:53 +08:00
Sunli
69367dc65f Fix potential security issues with subscription connections. 2020-05-26 13:35:13 +08:00
Sunli
4ae76b505f Remove the wrong feature condition. 2020-05-26 11:57:26 +08:00
Sunli
774811350a Merge pull request #107 from mwilliammyers/feat/json
Derive Serialize & Deserialize for Json
2020-05-26 11:53:02 +08:00
William Myers
3bbedd0445 Fix typos in project description 2020-05-25 15:37:46 -06:00
William Myers
3486981284 Derive Serialize & Deserialize for Json 2020-05-25 15:34:43 -06:00
Sunli
c4415f1102 Update doc for Context::data 2020-05-22 14:02:28 +08:00
Sunli
19803ccc61 Fix the problem of compilation failure. 2020-05-22 13:38:46 +08:00
Sunli
1461210df7 Add logger extension 2020-05-22 11:58:49 +08:00
Samuel Hurel
32e04ab635 Merge pull request #100 from IcanDivideBy0/stream_connection
Stream connection
2020-05-21 14:18:32 +02:00
Samuel Hurel
f9249e403f Add proper count for Stream DataSource impl 2020-05-21 14:02:21 +02:00
Samuel Hurel
d58fd6e942 Remove StreamDataSource wrapper 2020-05-21 13:10:36 +02:00
Samuel Hurel
a7a17a43ad Add doc 2020-05-21 11:45:15 +02:00
Samuel Hurel
1f4b732615 Fix tests & impl From<Stream> for StreamDataSource 2020-05-21 10:22:36 +02:00
Sunli
120830b29b Remove Sync for StreamBody 2020-05-21 16:12:18 +08:00
Samuel Hurel
3aac2160e0 Remove StreamDataSource mapping closure 2020-05-21 09:55:49 +02:00
Samuel Hurel
02de780921 Stream connection 2020-05-21 09:40:42 +02:00
Sunli
bcd39f4df8 Remove Clone bound for Deferred and Streamed 2020-05-21 15:38:26 +08:00
Sunli
788360d6b7 Add StreamResponse support to async-graphql-tide 2020-05-21 14:03:05 +08:00
Sunli
24af597f30 Add StreamResponse type 2020-05-21 11:36:44 +08:00
Sunli
326fac2799 Add @stream directive 2020-05-21 10:12:54 +08:00
sunli
7d4150766e Upgrade multer to 1.2.0 2020-05-21 07:43:35 +08:00
sunli
0bed5011b0 Merge branch 'master' of github.com:async-graphql/async-graphql 2020-05-20 20:11:32 +08:00
sunli
374023748d Add @defer support for actix-web 2020-05-20 20:10:40 +08:00
Nicolai Unrein
df75c15f20 add examples and benchmarks to docs introduction 2020-05-20 13:39:00 +02:00
sunli
fe4b98e0a8 Solve problem #99 2020-05-20 15:44:59 +08:00
sunli
6f924efcf4 Add defer tests 2020-05-20 13:42:55 +08:00
Sunli
75bfba057a Add Deferred type and @defer directive. #51 2020-05-19 20:53:29 +08:00
Sunli
d00e3e8c25 The scalar name and description attributes are placed on the process macro attributes. #97 2020-05-19 13:27:01 +08:00
Sunli
bc3dd36a4e Fixed the bug of generating federation sdl. #96 2020-05-19 10:32:08 +08:00
sunli
a811f48952 Update schema.rs 2020-05-19 00:03:15 +08:00
sunli
c5f5e7795c Provide the interface information of the object to the Federation. #95 2020-05-18 19:47:09 +08:00
Sunli
85c54762bf Sort __Schema.types and __Schema.directives by name. #93 2020-05-18 11:37:05 +08:00
Sunli
235d29b954 Fix some bugs in federation integration. 2020-05-18 11:24:27 +08:00
Sunli
c4ef89e00c Upgrade multer to 1.1.1 2020-05-18 09:32:55 +08:00
sunli
2a63fe1b54 Replace multipart parser with multer. 2020-05-17 16:26:36 +08:00
Caio
8c14c6c675 Rustfmt 2020-05-16 13:12:37 -03:00
Caio
27e5c94731 Fix compilation errors 2020-05-16 13:08:03 -03:00
sunli
c16d239b65 Remove some unsafe code 2020-05-16 21:14:26 +08:00
sunli
948005832c Export SchemaBuilder 2020-05-16 18:04:47 +08:00
sunli
10a8b71adb Preserve field order for introspection. #89 2020-05-16 10:05:48 +08:00
Caio
ae85517976 Impl Scalar for NaiveDate and NaiveTime 2020-05-15 08:51:54 -03:00
Sunli
6de85377f7 Rename async_graphql_parser::ast to async_graphql_parser::query 2020-05-15 10:38:48 +08:00
Sunli
f74652e61a Modify some type names (internal types) 2020-05-15 10:08:37 +08:00
sunli
534837e1b9 Add Context::look_ahead 2020-05-14 22:13:28 +08:00
Sunli
7ab8326cbf Add Context::position 2020-05-14 17:35:25 +08:00
Sunli
3cd98918db Add async-graphql-lambda
Update async-graphql-tide api
2020-05-14 14:50:08 +08:00
sunli
8299a54456 Improve GraphQL query parser performance. #76 2020-05-12 16:27:06 +08:00
Nicolai Unrein
1726c64e7a Add From<serde_json::Value> for Json 2020-05-11 17:55:54 +02:00
sunli
8e9aff105e Support Upload Stream #15
I think the previous implementation is not elegant enough, the `QueryBuilder::set_files_holder` function looks disgusting, so I refactored it.
By the way, the performance of parsing InputValue has been optimized, and unnecessary clones have been removed.
2020-05-11 21:47:24 +08:00
Sunli
0e371afb3c It not finished yet. 2020-05-11 17:13:50 +08:00
Blaine Bublitz
b7bc7fea12 Change Unions to enums instead of structs 2020-05-10 21:27:30 -07:00
Blaine Bublitz
6f70924967 Fix tests 2020-05-10 20:25:49 -07:00
Samuel Hurel
05cac5854f impl From<ID> for Cursor 2020-05-10 16:25:16 +02:00
Samuel Hurel
c06f871b41 Prefer TryFrom to TryInto for ID 2020-05-10 16:13:41 +02:00
Samuel Hurel
34f286b2d9 Remove useless as_str on ID 2020-05-10 15:58:56 +02:00
Samuel Hurel
c810764e7e Simplify ID conversion 2020-05-10 15:52:47 +02:00
Samuel Hurel
d3015e9814 Simplify cursor conversion 2020-05-10 14:49:52 +02:00
sunli
ff6f97d7df Add ToGraphQLCursor and ToGraphQLID traits. #54 2020-05-10 18:39:53 +08:00
sunli
728989209f The error reason can be returned when the input value is parsed incorrectly. #70 2020-05-10 18:27:46 +08:00
sunli
2755f4f9a9 Use rustdoc comments as graphql desc. #62 2020-05-10 12:41:05 +08:00
sunli
bc2966bc0d Improve parser performance. 2020-05-10 10:59:51 +08:00
sunli
d343c0c2f6 Update docs 2020-05-10 09:41:13 +08:00
sunli
0d540465a5 Remove the disgusting functions json_value_to_gql_value and gql_value_to_json_value.😂 2020-05-09 22:16:39 +08:00
sunli
7f7e708614 Move the parser to async-graphql-parser crate. 2020-05-09 22:02:55 +08:00
sunli
dc7c8d5280 Merge branch 'parser'
Implement a new GraphQL query parser and remove the dependency on graphql-parser.
2020-05-09 17:55:04 +08:00
Sunli
f63c923521 Update json.rs 2020-05-08 10:40:29 +08:00
sunli
60e94890d0 Clippy cleanup 2020-05-07 20:44:24 +08:00
sunli
e6e1755502 Add Json scalar type. #56 2020-05-07 20:41:00 +08:00
sunli
2ec948fdf5 Update any.rs 2020-05-07 18:50:47 +08:00
sunli
c1e0b8f4a7 Add Any::parse_value method. #56 2020-05-07 18:49:09 +08:00
Samuel Hurel
12ced257a6 Add ObjectId to ID type conversion 2020-05-07 08:42:34 +02:00
sunli
539c75ee89 Add uuid::Uuid, usize to ID type conversion. #54 2020-05-07 11:15:04 +08:00
Blaine Bublitz
c678dde4be Allow datasource to use context 2020-05-06 17:04:26 -07:00
Sunli
96f19e8498 Update base.rs 2020-05-06 10:02:25 +08:00
sunli
64aee618fc Make PageInfo available from outside (#52) 2020-05-06 06:52:04 +08:00
sunli
35531b65f8 Change the first parameter of OutputValueType::resolve to be &self 2020-05-05 21:06:48 +08:00
Blaine Bublitz
e4101db924 Relay pagination algorithm 2020-05-05 00:22:01 -07:00
Samuel Hurel
034306cc10 Export the new Cursor type 2020-05-05 09:05:39 +02:00
sunli
d7ea05ab14 Add tests to limit complexity and depth. 2020-05-05 13:46:56 +08:00
Blaine Bublitz
eaa50a52e0 Add Cursor scalar (#48)
* Add Cursor scalar
2020-05-05 13:21:45 +08:00
sunli
18a9a12664 Fixed a type error 2020-05-03 23:00:20 +08:00
sunli
f3697e6a1a Implement OutputType for FieldResult 2020-05-03 22:32:37 +08:00
sunli
220cd1e775 Report subscription stream errors to the client. 2020-05-03 16:02:46 +08:00
sunli
d7df065528 Fixed a bug that caused the subscription request to fail to receive any messages. #45 2020-05-03 10:06:17 +08:00
sunli
c9fe0e9393 Add some test 2020-05-03 09:12:14 +08:00
sunli
ee50ae9be6 Update lib.rs 2020-05-02 10:46:02 +08:00
sunli
331e65a72b Add field guard 2020-05-02 07:57:34 +08:00
Nicolai Unrein
511be1e84d Allow conversion to Any for all types that can be converted to Value. 2020-04-29 12:49:51 +02:00
sunli
3f49ebce0e Move project to async-graphql 2020-04-28 15:41:31 +08:00
sunli
8faa376776 Add tracing extension 2020-04-28 15:01:19 +08:00
sunli
61583f54a3 Replace the impl_scalar macro with the procedural macro Scalar 2020-04-27 17:58:10 +08:00
sunli
4659da9c30 fix #33 2020-04-27 12:57:52 +08:00
sunli
a4b4e69ea7 Remove the redundant field parameter for OutputType::resolve_field. 2020-04-26 15:12:18 +08:00