Commit Graph

938 Commits

Author SHA1 Message Date
Sunli ae52749198 Merge branch 'async-graphql-v4' of github.com:async-graphql/async-graphql into async-graphql-v4 2022-04-19 10:31:11 +08:00
Sunli f417068c27 Merge branch 'async-graphql-v4' into master 2022-04-19 10:28:02 +08:00
Sunli 6cf0496a35 Add `#[non_exhaustive]` attribute to Request/Response types 2022-04-19 10:21:56 +08:00
Paul Nguyen 09f3be4fd1 Allow introspection only schemas 2022-04-18 21:25:02 +02:00
Sunli 300cbe54c7 Merge pull request #891 from DoumanAsh/split_execution
Introduce ability to pre-parse Request's query
2022-04-15 15:55:13 +08:00
Sunli 2f0bcaa8ee Remove useless `ParseQueryFut` type 2022-04-15 15:31:07 +08:00
Douman 22d61df4d7 Introduce ability to pre-parse Request's query 2022-04-15 15:58:09 +09:00
Sunli 8d6066ef82 Clippy clean 2022-04-08 09:41:23 +08:00
Sunli 3390682a73 Rustfmt 2022-04-08 09:34:37 +08:00
Calin Gavriliuc 869505bf24 Clippy check fixes 2022-04-07 17:55:32 -07:00
Douman b0933b3475 Add process_with to methods 2022-04-06 18:25:07 +09:00
Douman ca1f9045cc Introduce process_with for input object 2022-04-05 11:31:11 +09:00
Sunli aa15be435a Add `MaybeUndefined::update_to` method. #881 2022-03-31 10:51:31 +08:00
Sunli a62eb6f699 Panics when the same Rust type has the same name. #880 2022-03-30 20:54:49 +08:00
Jarrett Tierney 15deab33ee Add feature(bson-uuid) which will enable Uuid's from the bson crate 2022-03-22 20:43:54 -07:00
Sunli e4d04faaa0 Generate `@deprecated` to SDL. #874
Expose `Connection::edges` #871
2022-03-22 11:09:31 +08:00
Sunli b2ac69b102 Merge pull request #853 from Zwo1in/master
Correct import path for cursor connection in docs
2022-03-18 11:02:30 +08:00
Sunli 2653dddc5b Add `ErrorExtensionValues::get` method. #855 2022-03-14 09:48:27 +08:00
Sunli 8909752107 Add support `group` attribute to Object/SimpleObject/ComplexObject/Subscription macros. #838 2022-03-14 09:28:34 +08:00
BratSinot f0f1804214 Make HashMap more generic. 2022-03-11 10:47:32 +02:00
Sunli 5dad855f8e Export `@oneOf` directive to SDL when Oneof type is defined. #766 2022-03-05 09:06:59 +08:00
Sunli a4b840a984 Add support for oneof field on object. #766 2022-03-04 21:24:17 +08:00
Maciej Zwoliński 38725bad2a Correct import path for cursor connection in docs 2022-03-02 11:33:55 +01:00
Edward Rudd f7ba8eeec2 update opentelemetry 2022-02-19 19:05:13 -05:00
Sunli df3312363e Add `OneOfObject` macro to support for oneof input object. #766 2022-02-17 19:35:55 +08:00
Sunli dcf58450e8 Implement `ScalarType` for `time::Date`. #822 2022-02-15 15:36:18 +08:00
happysalada d701bd6e69 time: add date struct 2022-02-14 17:48:22 -05:00
Sunli bf05607e84 Implement `InputType` and `OutputType` for `Box<[T]>` and `Arc<[T]>`. [#805](https://github.com/async-graphql/async-graphql/issues/805) 2022-01-31 20:01:29 +08:00
Sunli 7dfebf99fd Fix possible stack overflow in validator. 2022-01-28 09:46:14 +08:00
Sunli 334b6efe99 Add `skip_input` attribute to `InputObject` macro, `skip_output` attribute to `SimpleObject` macro. #797 2022-01-26 17:54:24 +08:00
SadiinsoSnowfall 61e80c869e Fixed formatting (missing comma) 2022-01-24 14:32:30 +01:00
SadiinsoSnowfall 892cf8169e Fixed formatting (hopefully for the last time) 2022-01-24 14:27:38 +01:00
SadiinsoSnowfall 09918299c1 Fixed formatting (2) 2022-01-24 14:24:33 +01:00
SadiinsoSnowfall aab3edc459 Fixed formatting 2022-01-24 14:23:06 +01:00
SadiinsoSnowfall 962e1b1f80 Fixed variable type not checked when given a default value 2022-01-24 14:11:46 +01:00
Sunli c2feefdf09 Fix the problem that some integrations overwritten HTTP headers. #793 2022-01-24 14:14:07 +08:00
Sunli 2b0e29bc92 Remove `'static` bound for `impl From<T> for Error`. 2022-01-24 10:56:47 +08:00
Sunli a511ec340a Update connection_type.rs 2022-01-21 10:54:16 +08:00
Sunli 2eef75510f Implement `InputType` for `Box<str>` and `Arc<str>`. #792 2022-01-21 10:25:50 +08:00
Sunli c0a25d403c Merge pull request #791 from jenanwise/add-time-scalars
Add scalars for the `time` crate's datetime types.
2022-01-20 09:25:27 +08:00
Jenan Wise dacc5660b6 Add scalars for the `time` crate's datetime types.
With the `time` feature flag enabled, `time::OffsetDateTime` and
`time::PrimitiveDateTime` can be used directly as scalar values,
similar to the previous `chrono::DateTime` and `chrono::NaiveDateTime`
scalar implementations.
2022-01-19 13:39:38 -08:00
Seyyed Morteza Moosavi cd46909ea3 Add DataContext trait 2022-01-18 13:20:35 +03:30
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
Oscar Beaumont c06179950f fix: export min_password_strength validator 2021-12-30 17:35:33 +08:00
Oscar Beaumont df8f4f2791 feat: added min_password_strength validator 2021-12-30 13:53:22 +08:00
Sunli 61d1486cd8 Clippy 2021-12-30 10:16:49 +08:00
BratSinot c5d50e789f rustfmt 2021-12-28 13:06:57 +02:00
BratSinot f5593a27e1 Update CHANGELOG. 2021-12-28 13:05:32 +02:00
BratSinot 97c56f1d76 Fix typo. 2021-12-28 12:30:11 +02:00
BratSinot 1ab7dd27e5 Remove some copy-paste. 2021-12-28 12:25:30 +02:00
BratSinot 4d37f4625d Add hashbrown HashMap/HashSet implementations for Input/Output type. 2021-12-28 12:11:40 +02:00
Anthony Griffon 9a62a7c5ac fix: issue when empty with federation spec on _Entity node
Signed-off-by: Anthony Griffon <anthony@griffon.one>
2021-12-22 18:16:56 +01:00
Douman 8d592b48ae Adjust fomrat for regex validator text 2021-12-21 14:36:13 +09:00
Douman 2d8b22ce65 Include regex within validator 2021-12-21 14:34:57 +09:00
Douman 988dcb7d21 Improve regex validator error message to be descriptive 2021-12-21 13:48:02 +09:00
Oscar Beaumont 6e0f803be5 replace custom email validation with fast_chemail 2021-12-19 20:50:10 +08:00
Sunli f718df1a42 Rework to implement `InputType` and `OutputType` for `HashMap` and `BTreeMap`. 2021-12-07 11:28:43 +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 000a3a3bd5 Merge pull request #737 from tilpner/tracing-name-error
fix(tracing): add name to error event
2021-12-04 15:16:41 +08:00
Sunli 922c2324e2 Add some helper methods for `BatchRequest`.
- BatchRequest::iter
- BatchRequest::iter_mut
- BatchRequest::variables
- BatchRequest::data
- BatchRequest::disable_introspection
2021-12-04 15:14:42 +08:00
Sunli 9280cf80a8 Fix deadlock in dataloader. #555 2021-12-04 14:33:47 +08:00
tilpner 1659367579 fix(tracing): add name to error event
According to the opentelemetry specification for traces [0], each span
must have a non-empty name.

[0]: https://github.com/open-telemetry/oteps/blob/main/text/trace/0059-otlp-trace-data-format.md

>  // This field is semantically required to be set to non-empty string.
>  //
>  // This field is required.
>  string name = 6;
2021-12-02 15:59:49 +01: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 2962902564 Update README 2021-11-30 09:46:18 +08:00
lfn3 7aea053240 Add support for SmolStr via a feature.
SmolStr is an immutable "packed" string that uses the space normally occupied
by a String's header if the String is short enough.
2021-11-30 09:44:33 +08:00
Emil Gardström 25b10deded add missing impls `serde_json::Value`
Fixes #728
2021-11-29 15:14:27 +01:00
Sunli 4d0fdd9e0f Fix error extensions cause stack overflow #719 2021-11-23 09:02:52 +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 27deae8476 Add tide integration 2021-11-19 08:10:47 +08:00
Sunli e2c6ead1a3 Add DirectivesUnique rule 2021-11-18 20:14:56 +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 948d8028b6 Update docs 2021-11-16 18:13:26 +08:00
Sunli 5dac2d47fa Update mod.rs 2021-11-16 17:55:10 +08:00
Sunli 5a1f0ed865 Add some validators 2021-11-16 16:20:40 +08:00
Sunli dd13716072 Add `ErrorExtensionValues::unset` method. 2021-11-16 15:04:29 +08:00
Sunli 3d8a8ef6af Update documents 2021-11-16 14:51:20 +08:00
Sunli 9e5121aaf3 Remove `ResolverError` and use `Error::new_with_source` instead. 2021-11-16 11:05:50 +08:00
Sunli 60245769f5 Rework guards 2021-11-16 10:22:39 +08:00
Sunli 28f027a8bc Update mod.rs 2021-11-15 20:58:57 +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
smihica 1eba5623f7 Implemented CursorType for i32/i64 2021-11-12 18:33:38 +09: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 bb9bd08b11 rustfmt 2021-11-05 09:29:50 +08:00
Sunli 01f53fc865 Merge pull request #692 from SadiinsoSnowfall/master
Added map, contains and transpose function to MaybeUndefined
2021-11-05 09:29:17 +08:00
SadiinsoSnowfall 5b44b98c25 Fixed clippy warning 2021-11-04 14:05:36 +01:00
Sunli 369f1459b7 Rework Failure #671 2021-11-04 19:37:22 +08:00
SadiinsoSnowfall fb0ea68c3a Added map, contains and transpose function to MaybeUndefined 2021-11-04 12:03:49 +01:00
Sunli 1385199107 Fix tests 2021-11-04 14:54:26 +08:00
Sunli 0335d24ccd rustfmt 2021-11-04 14:42:30 +08:00
Sunli e73c142ce8 Add `Failure` type. #671 2021-11-04 14:33:04 +08:00
Sunli 5c6fd0cd5a Add `MaybeUndefined::as_opt_ref` and `MaybeUndefined::as_opt_deref` methods. #688 2021-11-04 09:44:16 +08:00
meh 0ff4120807 docs: add specified_by_url for Duration
Co-authored-by: Anthony Griffon <an.griffon@gmail.com>
2021-11-03 14:56:42 +01:00
meh 119c5d0f5d feat: add chrono::Duration custom scalar 2021-11-03 14:05:58 +01:00
Sunli b48d4c8c1f Update MSRV 2021-11-03 18:42:41 +08:00
Sunli b3dbbc097c Add `specified_by_url` for Upload 2021-11-02 20:35:43 +08:00
Sunli fa6b7964c4 Add `specified_by_url` for Tz & DateTime<Tz> & Url & Uuid scalars 2021-11-02 20:35:05 +08:00
Sunli 057d6aebfd Subscription typename - [GraphQL - October 2021] #681 2021-11-02 20:35:05 +08:00
Sunli c6d26884a9 Specified By - [GraphQL - October 2021] #677 2021-11-02 20:35:05 +08:00
Sunli abac47fc50 Merge branch 'master' into update-to-rust-edition-2021 2021-11-02 20:08:41 +08:00
Miaxos b361119ca0 feat: add with for object & complex object & update documentation 2021-10-28 12:42:13 +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
Jeff Registre 30009005d1 Removed import for new prelude members: TryFrom, TryInto, FromIterator 2021-10-22 19:34:49 -04:00
Miaxos e1c577de44 feat: add derived field for complex object 2021-10-22 13:08:49 +00:00
Samuel Hurel 5f3dbda310 Add Bson<->JSON and Document<->JSONObject impls 2021-10-19 10:24:41 +02:00
Sunli 3393babdd8 Implement `Default` for ID #659 2021-10-16 22:24:46 +08:00
smihica 4bf947244d Changed docs comment 2021-10-14 00:49:47 +09: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
Miaxos 391d3d10e4 feat: add visible macro argument for union type 2021-10-11 21:54:50 +00:00
Oliver Cooper af3eab1b57 Document selection_fields 2021-09-28 16:50:27 +13:00
Oliver Cooper 794b56a2ad Merge branch 'async-graphql:master' into master 2021-09-27 11:56:42 +13:00
Oliver Cooper f5f3f25ed7 Get selection fields from Lookahead 2021-09-27 11:56:27 +13:00
Sunli 23bcf4cdfd Change log level. #518 2021-09-24 10:54:52 +08:00
Sunli 4740579ec9 Change the execution order of `chain` and `race` guards. #614 2021-09-24 10:30:46 +08:00
Sunli 923ed490de Add `DataLoader::enable_all_cache` and `DataLoader::enable_cache` methods. #642 2021-09-24 09:46:19 +08:00
Miaxos e07bd5a52e misc: add documentations for naive_time url and uuid 2021-09-20 13:54:30 +00:00
Sunli ee0e917813 Implement ScalarType for HashMap/BTreeMap to use ToString/FromStr. #585 2021-09-17 09:17:47 +08:00
Sunli 024a143f11 Add support for graphql-ws pings. #635 2021-09-16 21:10:39 +08:00
Sunli cdede18a06 Fix typo 2021-09-03 15:15:41 +08:00
Erik Tesar 0251046ada fix: fix build and gate cbor behind feature flag 2021-09-02 15:58:37 +02:00
Erik Tesar b95852cf28 Merge feat/multipart into master 2021-09-02 15:32:08 +02:00
Erik Tesar 42548ce04b feat: implement cbor in multipart 2021-09-02 15:27:44 +02:00
Sunli ed9ec2a3a8 Update mod.rs 2021-09-02 20:19:08 +08:00
Sunli bdd4c2c3ef Update CHANGELOG 2021-09-02 20:06:39 +08:00
Sunli 2d8c6f47fb Merge branch 'master' of https://github.com/minkan-chat/async-graphql into pr/619 2021-09-02 20:03:02 +08:00
Sunli 00afdbb8fc Merge branch 'master' into pr/619 2021-09-02 19:39:49 +08:00
Sunli 3e9295b91b Add feature gate `cbor`. 2021-09-02 19:39:45 +08:00