Commit Graph

340 Commits

Author SHA1 Message Date
Sunli cea21fbe45 Add support `flatten` attribute for `SimpleObject`, `ComplexObject` and `Object` macros. #533 2022-01-18 10:33:07 +08:00
Sunli 707890e551 Add `Union` and `Interface` support for trait objects. #780
Clippy clean
2022-01-11 09:35:09 +08:00
Sunli b484a6104d Fix the generic `SimpleObject` can't define the lifetimes. #774 2022-01-05 11:52:02 +08:00
Sunli 9f51772ad9 Fix field guards not working on `ComplexObject`. #767 2021-12-26 10:42:36 +08:00
Sunli eb27b0856e No longer assumes that a subscription stream that failed to resolve has ended. #744 2021-12-07 11:00:53 +08:00
Sunli c41f87c645 rustfmt 2021-12-05 09:43:44 +08:00
Sunli ffedb9556b Merge pull request #741 from urkle/fix-interfaces
Fix implicit interfaces not being exposed via the __schema introspection
2021-12-05 09:41:56 +08:00
Edward Rudd 5c8ff9d3a6 correct adding implicit interfaces to the schema introspection
If an interface is added manually (as it is not directly referenced by any type) it was not showing up in the introspection.

Now it will be exposed if it is visible and references already accessible types
2021-12-04 19:33:15 -05:00
Sunli 9280cf80a8 Fix deadlock in dataloader. #555 2021-12-04 14:33:47 +08:00
Sunli 09be5e0021 Fix panic on f32-64::INFINITE/f32-64::NEG_INFINITE/f32-64::NAN output. #735 2021-12-02 20:19:17 +08:00
Sunli 86f10c5397 Fix the custom validator cannot work on `Option<Vec<T>>`. 2021-11-30 13:46:23 +08:00
Sunli c0a257dc7d Fix the validator cannot work on `Option<Vec<T>>`. 2021-11-30 12:03:55 +08:00
Sunli 4a265ed29d `#[grapql(validator(list))]` no longer applies to `max_items` and `min_items`. 2021-11-30 09:40:02 +08:00
Sunli db83b9440c Update docs 2021-11-20 11:16:48 +08:00
Sunli 1b50738af7 Custom directive 2021-11-20 09:04:46 +08:00
Sunli eb9cda4c80 Remove skipped fields from the document before executing the query. 2021-11-18 19:37:10 +08:00
Sunli 559bbedd3e Allowed use validators on wrapper types, for example: `Option<T>`, `MaybeUnefined<T>`.
Remove `OutputJson` because `Json` can replace it.
2021-11-18 15:43:12 +08:00
Sunli 502bfb8670 Add `url`, `regex` and `ip` validators. 2021-11-17 11:12:52 +08:00
Sunli af25734697 Remove the `ctx` parameter of `CustomValidator::check`. #710 2021-11-17 08:46:13 +08:00
Sunli 5a1f0ed865 Add some validators 2021-11-16 16:20:40 +08:00
Sunli 9493d79651 Update test 2021-11-16 15:25:48 +08:00
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