Commit Graph

319 Commits

Author SHA1 Message Date
Sunli
5549c85f55 Update error_ext.rs 2021-11-16 11:56:44 +08:00
Sunli
60245769f5 Rework guards 2021-11-16 10:22:39 +08:00
Sunli
71cbb9d20c Rework validators 3 2021-11-15 18:37:33 +08:00
Sunli
613bbc5b91 Custom validator 2021-11-15 11:08:56 +08:00
Sunli
dd55421ede Rework validators 2 2021-11-15 09:12:13 +08:00
Sunli
eb022a0cca Rework validators 2021-11-14 21:09:14 +08:00
Sunli
85d389cb79 Merge branch 'master' into async-graphql-v3 2021-11-13 21:53:50 +08:00
Sunli
789cf57d32 Change the signature of the connection::query function to allow the callback to use any type that implements Into<Error>. #671 2021-11-13 21:41:58 +08:00
Sunli
eeb1f73773 Merge branch 'master' into async-graphql-v3 2021-11-13 09:16:24 +08:00
Sunli
0f55fe7f7d Fix Federation entity union is empty during schema introspection. #700 2021-11-13 09:08:55 +08:00
Sunli
93502dfffa Add test_entity_union 2021-11-13 09:05:29 +08:00
Sunli
acb44bdd05 Hide types that are not referenced by visible fields. #698 2021-11-12 07:24:04 +08:00
Sunli
0118a5dd7c Update async-graphql-poem 2021-11-12 07:23:05 +08:00
Sunli
0e9e087691 Move the methods of the Type trait to InputType and OutputType. 2021-11-12 07:23:05 +08:00
Sunli
b85815d84a Rework websocket 2021-11-12 07:23:04 +08:00
Sunli
b359b62976 If a GraphQL name conflict is detected when creating schema, it will cause panic. #499 2021-11-08 10:25:31 +08:00
Sunli
ff994dc1ec Fix the problem that EmptyMutation may cause when used in MergedObject. #694 2021-11-08 08:45:14 +08:00
Sunli
dbc0862894 Rework Failure 3 #671 2021-11-07 19:11:43 +08:00
Sunli
4d65f9c739 Rework Failure2 #671 2021-11-05 19:05:49 +08:00
Sunli
369f1459b7 Rework Failure #671 2021-11-04 19:37:22 +08:00
Sunli
1385199107 Fix tests 2021-11-04 14:54:26 +08:00
Sunli
e73c142ce8 Add Failure type. #671 2021-11-04 14:33:04 +08:00
Sunli
c6d26884a9 Specified By - [GraphQL - October 2021] #677 2021-11-02 20:35:05 +08:00
Miaxos
717a0da192 misc: dbg missed 2021-10-28 15:55:00 +00:00
Miaxos
b361119ca0 feat: add with for object & complex object & update documentation 2021-10-28 12:42:13 +00:00
Miaxos
f3ef60033f feat: use with for simple object 2021-10-28 10:22:39 +00:00
Miaxos
fa34a8ae68 feat: add basic coercion for SimpleObject derived arg 2021-10-27 13:37:13 +00:00
Sunli
9b5149ee23 Respect query object field order. #612 2021-10-26 19:02:15 +08:00
Miaxos
b7232cea65 feat: add derived for simple object & complex object 2021-10-25 12:23:12 +00:00
Miaxos
e9e73f489d feat: add derived on simple objects 2021-10-25 10:56:33 +00:00
Miaxos
e1c577de44 feat: add derived field for complex object 2021-10-22 13:08:49 +00:00
smihica
5fd0561a3a Supported CharsMinLength and CharsMaxLength to count chars 2021-10-14 00:43:14 +09:00
smihica
cf74a6c5d2 Revert "Supported multibyte string in StringMinLength and StringMaxLength to count chars, not byte len."
This reverts commit 431c15195e.
2021-10-14 00:33:20 +09:00
smihica
431c15195e Supported multibyte string in StringMinLength and StringMaxLength to count chars, not byte len. 2021-10-13 15:16:32 +09:00
Sunli
9dc3be78ac Add concrete names support for Object macro. #633 2021-09-24 21:00:17 +08:00
Sunli
296a59225e Implement GraphQL enum to Value conversion. #617 2021-09-17 09:02:09 +08:00
Sunli
024a143f11 Add support for graphql-ws pings. #635 2021-09-16 21:10:39 +08:00
Miaxos
b55c432886 fix: add test case for serializing issue 2021-08-18 14:22:17 +00:00
Sunli
c80687af80 Clippy clean 2021-07-31 23:54:16 +08:00
Sunli
230eb847d8 Add support for the list operator to the input value validator. #579 2021-07-20 15:16:34 +08:00
Sunli
ecf8890e7e Implemented OutputType for Bytes. #569 2021-07-18 21:42:39 +08:00
Yin Jifeng
7e21cfa944 Allow field visible to support paths 2021-07-18 20:16:39 +08:00
Sunli
8f8fe3e46d Make Schema::execute return HTTP headers when an error occurs. #572 2021-07-16 07:47:43 +08:00
Sunli
528a908f95 Update guard test 2021-07-15 08:09:29 +08:00
Rodgers
0ed7384cbf Add test for is_valid_with_extensions 2021-07-08 22:06:13 +07:00
Sunli
2ffbfe7440 Add concrete type support for complex object. 2021-07-04 14:05:08 +08:00
Julien Nicoulaud
8c9bf0f04c #550: add unit test for generic Object/Simple/ComplexObject 2021-07-03 18:00:16 +02:00
Sunli
c367f15b05 Fix the bug that MergedObject may cause panic. #539 2021-06-21 09:48:19 +08:00
Sunli
543ce408b0 Implement InputType and OutputType for [T; N] array. 2021-06-17 10:39:27 +08:00
Sunli
5691f6ca71 Add serial attribute for MergedObject macro. #539 2021-06-16 15:08:33 +08:00
Sunli
b7b9abf40d Add serial attribute for SimpleObject and Object macros. #539 2021-06-15 08:53:26 +08:00
Sunli
f992e8ab94 Add the operation_name to Extension::execute method. 2021-06-10 10:17:33 +08:00
Sunli
9a7cfb72f5 Allow field guards to support paths. #536 2021-06-08 19:42:53 +08:00
Sunli
412f78211f Update test 2021-06-08 19:04:06 +08:00
Sunli
e7382bf549 Rework error propagation. #531 2021-06-08 10:05:30 +08:00
Sunli
59ee28b634 Update tests 2021-06-07 14:12:28 +08:00
Sunli
f8021c0fb5 Add support for returning multiple resolver errors. #531 2021-06-07 14:03:36 +08:00
Sunli
bdeeff328a Fix the problem that the ComplexObject macro cannot work due to the secret attribute. 2021-04-23 10:25:00 +08:00
Sunli
6651e86c4c Add test for drop subscription stream on unsubscribe. 2021-04-13 11:26:55 +08:00
Sunli
572f907df7 Now when the resolver returns the Result type, E can be all types that implement Into<async_graphql::Error>. 2021-04-09 15:04:01 +08:00
Sunli
81e053811b Improve Extensions. 2021-04-05 12:21:02 +08:00
Sunli
824356d118 Rework Extension 2021-04-04 14:37:41 +08:00
Sunli
e899885aa8 Add Request::disable_introspection method. #456 2021-03-30 11:59:57 +08:00
Sunli
05911f3516 Rework Extension & TracingExtension & OpenTelemetryExtension 2021-03-26 12:03:10 +08:00
Sunli
c2c2868b64 Fix internal context missing when there's no connection_init frame. #451 2021-03-24 17:24:12 +08:00
Sunli
15036be792 Add ComplexObject macro. #355 2021-03-18 10:13:46 +08:00
Sunli
4f47703118 Switch the async runtime used for testing to Tokio. 2021-03-12 12:47:24 +08:00
Taiki Endo
2bff2ad9dc Support generics in Subscription types 2021-03-09 22:21:56 +09:00
Sunli
88232deb62 Add test for Federation entity lookup with DataLoader. 2021-03-06 08:21:44 +08:00
Sunli
4f2ea5ed50 Moved Variables from async_graphql::context::Variables to
`async_graphql::Variables`.
2021-02-28 09:37:42 +08:00
Sunli
4ebe0dd4cd Allow the deprecation attribute to have no reason. 2021-02-27 11:59:58 +08:00
Sunli
144ddb752c Clippy clean 2021-02-26 20:05:09 +08:00
Sunli
5c66a9cdda Add support for Federation nested keys. 2021-02-21 23:06:26 +08:00
Sunli
2d7627cd39 Fixed GraphQL over WebSocket Protocol does not support ConnectionError events. #406 2021-02-06 11:02:41 +08:00
Sunli
b98e35995d Supports async websocket initializer. #393 2021-01-16 16:37:20 +08:00
Sunli
9c6fe67a23 Fix a bug that cause generic InputObject and SimpleObject is incorrect name. #387 2021-01-14 19:20:28 +08:00
Sunli
85a0ab0da1 Add support for generic SimpleObject. #387 2021-01-14 13:16:30 +08:00
Sunli
b054fc0704 Add Send + Sync constraints for InputType, OutputType and SubscriptionType. 2021-01-14 12:41:59 +08:00
Sunli
74657c6242 Add support for generic InputObject. #387 2021-01-14 11:27:15 +08:00
Sunli
5f2e0ae50d Clippy clean 2021-01-11 09:01:28 +08:00
Sunli
099415fd42 Implements InputType for Box<T> and Arc<T>. #382 2021-01-10 13:48:18 +08:00
Sunli
8f32e8e81e Fix #[Object] macro panic with default u32. #361 2020-12-28 18:39:17 +08:00
Aaron Hill
d8780bd720 Strip r# prefix when constructing getter ident
When calling `to_string()` on an identifier, the returned string will
have an `r#` prefix if the original identifer was a raw identifier. This
prefix needs to be removed if the identifier is interpolated into
another identifier (e.g. `__some_prefix__r#other_ident`) in order for
the new identifier to be valid.

This issue was previously masked due to the fact that the relevant test
uses `r#i32`. It's possible to use `i32` as a normal (non-raw) ident -
due to a bug in rustc, this means that the user-supplied `r#` prefix
will be lost when calling `to_string()`. This bug will eventually be
fixed, causing `to_string()` to start returning `r#i32` instead of
`i32`.

This commit strips the `r#` prefix (if present) from an identifier
before using it to construct a new identifier. The relevant test is
updated to use `r#match`, which actually requires the `r#` prefix to be
a valid identifier. This causes the test to fail without this patch on
current versions of Rust.
2020-12-20 19:08:22 -05:00
Sunli
bf9e3ec578 Improve depth and complex. 2020-12-18 18:56:28 +08:00
Sunli
c6d8df0bdb Remove async-channel and async-mutex from dependencies. 2020-12-17 10:05:32 +08:00
Sunli
fe24247c9d Add the skip attribute to the InputObject fields. 2020-12-15 20:29:59 +08:00
Sunli
ba23761cb4 Add visible attributes on types, fields, and parameters, allowing some content to be hidden based on conditions. 2020-12-12 16:23:53 +08:00
Sunli
b3bd8603e3 Add tests for graphql-ws. 2020-12-04 16:44:48 +08:00
Sunli
46d01db40f Merge branch 'master' into pr/350 2020-12-04 12:17:23 +08:00
Sunli
4b00f9393a Add websocket subprotocol for actix-web. 2020-12-04 12:13:52 +08:00
Sunli
9b10ebeab5 Fix the problem that the fields of the list are not merged correctly.#345 2020-11-27 10:26:23 +08:00
Sunli
12b3b0ee46 Fix async_graphql::Object does not work when inside macro after rust 1.48.0 2020-11-22 09:53:18 +08:00
Sunli
456f776fdb Merge branch 'master' of github.com:async-graphql/async-graphql 2020-11-04 10:26:04 +08:00
Sunli
194a2ff100 Fix the problem that Description derived macro do not support generic objects. 2020-11-04 10:25:30 +08:00
Sunli
bcf85fce51 Fix #333 2020-11-03 18:16:55 +08:00
Sunli
03144a47b9 Fix the problem of scalar macro. 2020-11-03 13:50:22 +08:00
Sunli
734b43b613 Fix interface downcasting. #330 2020-10-31 08:58:54 +08:00
Sunli
8d2c8f9bcc Add test for SchemaBuilder::override_description. #327 2020-10-27 20:47:24 +08:00
Sunli
320d9eef50 Add use_type_description attribute for derive macros Object, Scalar and Subscription. 2020-10-26 21:34:05 +08:00
Sunli
33697ea19f Add interface to implement another interface. #322 2020-10-24 09:08:18 +08:00