Sunli
3233f3638c
Implement Type for more stdlib collection types #189
...
Implement InputValueType/OutputValueType for HashSet<T>/BTreeSet<T>/VecDeque<T>/LinkedList<T>
Implement ScalarType for char/NonZero*/HashMap<String,T>/BTreeMap<String, T>
2020-09-14 20:06:44 +08:00
Sunli
d67a511a07
2.0.0-alpha.5
2020-09-14 09:46:22 +08:00
Koxiaet
d404e756bc
Rework subscriptions
...
The main change in this commit is changing the return type of
SubscriptionType::create_stream from
Future<Result<Stream<Result<Response>>>> to just Stream<Result<Json>>. I
also allowed the returned stream to borrow from self and context.
2020-09-13 18:52:36 +01:00
Koxiaet
863d57a4b0
Remove SimpleBroker
2020-09-13 10:47:28 +01:00
Koxiaet
55753983a9
Move websockets to http module and fix doc tests
2020-09-13 07:40:34 +01:00
Sunli
f530d01bf4
Remove all attribute macros that can be replaced by derive.
2020-09-13 11:41:15 +08:00
Koxiaet
8796c5e1a7
Replace http::GQLRequest with Request
2020-09-12 17:07:46 +01:00
Koxiaet
1aa36819eb
Create resolver_utils
2020-09-12 10:29:52 +01:00
Sunli
a93b91ae2d
Re-enable the test on websocket.
2020-09-11 16:41:56 +08:00
Sunli
3e01ef0be7
Fix tests
2020-09-11 16:05:21 +08:00
Sunli
faac753096
Add transports::websocket module.
2020-09-11 15:54:56 +08:00
Sunli
553e6ffd53
Remove unnecessary Result on Schema::execute_stream function.
2020-09-11 10:47:55 +08:00
Sunli
c88747dfe4
Make all tests passed (async-graphql).
2020-09-10 19:35:48 +08:00
Sunli
7a90069cad
Continue to refactor.
2020-09-10 16:39:43 +08:00
Koxiaet
c42aa55625
Rustfmt
2020-09-08 09:30:29 +01:00
Koxiaet
ed5acdcf18
Support service parsing in async-graphql-parser
...
- Instead of adding a separate module `schema` like there was before,
since service parsing and executable parsing have a fair amount of
overlap I put them as two submodules `executable` and `service` in both
`parse` and `types`. Also, the grammar is unified under one `.pest`
file.
- Added const equivalents to `Value`, `Directive` etc
- Change the reexport `async_graphql::Value` from
`async_graphql_parser::types::Value` to
`async_graphql_parser::types::ConstValue` since in 99% of cases in this library
a const value is wanted instead of a value.
- Added consistent usage of executable/service instead of the ambiguous
query/schema.
- Some of the tests actually had invalid GraphQL so the new more correct
grammar made them fail, that was fixed.
- Added a `Name` newtype to refer to GraphQL names
(`[A-Za-z_][A-Za-z_0-9]*`) since they are used so frequently.
2020-09-08 09:21:27 +01:00
Koxiaet
9ad4e8c1a8
Merge branch 'master' into master
2020-09-06 07:20:18 +01:00
Koxiaet
3bf5f3a16c
Rustfmt
2020-09-06 07:16:36 +01:00
Koxiaet
e3e58d261d
Rewrite async-graphql-parser
2020-09-06 06:38:31 +01:00
Sunli
f87435b96c
Add test for multiple flatten attribute of InputObject.
2020-09-04 14:14:48 +08:00
Sunli
366c7c03da
Add flatten type field support for input objects. #255
2020-09-03 20:00:33 +08:00
Sunli
d04b5b675f
Fix the test code and add docs.
2020-09-01 09:10:12 +08:00
Koxiaet
945cd72869
Remove dependency on serde_derive, satisfy Clippy, improve docs
2020-08-31 19:18:02 +01:00
Sunli
80b2ff00c5
Implements Default for Schema.
2020-08-28 14:19:35 +08:00
Sunli
7fef4e3dca
Merge subscriptions #243
2020-08-27 15:35:48 +08:00
Sunli
01e3e85684
Add support for mut field args.
2020-08-17 21:48:53 +08:00
Sunli
fe336dd4d0
Fix send data with 'complete' WebSocket message. #238
2020-08-14 15:21:10 +08:00
Sunli
db8eef875c
Update test for MergedObject.
2020-08-11 09:37:33 +08:00
Sunli
d280a13b70
Add derive macro GQLMergeObject. #231
2020-08-10 14:11:46 +08:00
Sunli
d7248e149f
Add Default impl for MergedObject. #231
2020-08-10 10:47:30 +08:00
Sunli
dd7c64fc7a
Add MergedObject type. #231
2020-08-09 15:03:10 +08:00
Sunli
a193a8e51a
Add directive @ifdef
2020-08-06 14:52:54 +08:00
Sunli
b67278eeec
Add support for query execution over websocket.
2020-07-31 11:30:57 +08:00
Sunli
3d7594bac1
Removes code about streaming requests.
2020-07-31 10:10:03 +08:00
Sunli
3395c00603
Replace Value::Int and Value::Float with Value::Number.
2020-07-29 09:42:52 +08:00
Sunli
8992b681dc
Fix input validator is ignored when using variable #207
2020-07-11 10:05:30 +08:00
Sunli
9510160432
Add OutputJson type #203
2020-07-08 14:44:57 +08:00
Blaine Bublitz
6ed3909a9a
Use FieldResult for data(), add data_unchecked() for panic
2020-07-06 17:39:53 -07:00
Sunli
98e431fed0
Correct handling of raw identifiers #195
2020-07-02 10:25:20 +08:00
Blaine Bublitz
1c861ee80b
Fix issue with unwrapping derive attributes
2020-06-25 13:54:13 -07:00
Sunli
c8409e1a00
Remove ref
attribute for SimpleObject fields, and add owned
attribute.
2020-06-23 14:42:57 +08:00
Sunli
cda4498979
Remove all datasource-related code and update the documentation.
2020-06-15 14:17:19 +08:00
Sunli
c05127bb3e
Remove connection::DataSource
2020-06-15 12:06:15 +08:00
Bryan Burgers
81c7683e4d
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
b605846822
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
Sunli
f59d9f080f
Add tests for feature attribute
2020-06-06 11:49:29 +08:00
Sunli
73239b89be
Update PostGuard tests
2020-06-03 16:56:15 +08:00
Sunli
cfd652576f
Add PostGuard. #129
2020-06-03 14:50:06 +08:00
Sunli
27b622e8bc
Add connection::query function
2020-06-02 17:43:13 +08:00
Kevin Schoonover
80ff792f1a
Add input validator tests + fix clippy errors
2020-06-01 16:42:13 -05:00
Sunli
d932d30209
Fix incorrect variable substitution. #126
2020-05-31 11:54:07 +08:00
Sunli
778ff8d6e4
Update connection tests
2020-05-29 11:12:43 +08:00
Sunli
a336733616
Add Connection::try_append and Connection::try_append_stream
2020-05-29 09:24:31 +08:00
Sunli
18dacbdf17
Add MaybeUndefined type ( #123 )
...
* Add MaybeUndefined type
2020-05-28 15:00:55 +08:00
Sunli
dfe381b2e0
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
ada2597130
New data source ( #105 )
...
* New data source
2020-05-28 08:02:00 +08:00
Sunli
019580595c
Fixed a bug in fragment query. #114
2020-05-27 15:23:53 +08:00
Sunli
d703e5e4e1
Update input_validators.rs
2020-05-27 10:25:59 +08:00
Sunli
ae8234200a
Add the method parameter to the interface field. #112
2020-05-27 10:25:23 +08:00
Sunli
b1accc90e7
Compilation trouble with StringMinLength validator. #113
2020-05-27 09:42:58 +08:00
Sunli
42b6b0380f
Add some tests for default value
2020-05-27 09:27:59 +08:00
Sunli
a92a619345
Implement a type-safe default value definition for InputValue. #111
2020-05-26 20:43:53 +08:00
Samuel Hurel
2150fd4c38
Add proper count for Stream DataSource impl
2020-05-21 14:02:21 +02:00
Samuel Hurel
dc26996b05
Remove StreamDataSource wrapper
2020-05-21 13:10:36 +02:00
Samuel Hurel
36c05dc5a7
Fix tests & impl From<Stream> for StreamDataSource
2020-05-21 10:22:36 +02:00
Samuel Hurel
2e3cea7b74
Remove StreamDataSource mapping closure
2020-05-21 09:55:49 +02:00
Samuel Hurel
cc5bfa8350
Stream connection
2020-05-21 09:40:42 +02:00
Sunli
906bcce932
Remove Clone bound for Deferred and Streamed
2020-05-21 15:38:26 +08:00
Sunli
01489e20a5
Add StreamResponse type
2020-05-21 11:36:44 +08:00
Sunli
4868cf242b
Add @stream directive
2020-05-21 10:12:54 +08:00
sunli
a745667922
Add @defer support for actix-web
2020-05-20 20:10:40 +08:00
sunli
e949cb441c
Add defer tests
2020-05-20 13:42:55 +08:00
Sunli
d300e27fa2
Add Deferred type and @defer directive. #51
2020-05-19 20:53:29 +08:00
Sunli
89bfaac0eb
The scalar name and description attributes are placed on the process macro attributes. #97
2020-05-19 13:27:01 +08:00
Sunli
7ebd825feb
Sort __Schema.types and __Schema.directives by name. #93
2020-05-18 11:37:05 +08:00
Sunli
76b582065d
Support multiple lines of rustdoc as a type description.
2020-05-18 10:09:09 +08:00
krevativ
868be46647
Format introspection tests
2020-05-17 20:59:21 +02:00
krevativ
d7ea17d27b
Delete old test_introspection.rs file
2020-05-17 20:57:55 +02:00
krevativ
4edf27aa84
Add introspection tests
2020-05-17 20:55:40 +02:00
Sunli
a1c8dedd56
Merge pull request #75 from phated/interface-enums
...
Change interfaces & unions to require enums
2020-05-11 13:44:19 +08:00
Blaine Bublitz
548447cdec
Change Unions to enums instead of structs
2020-05-10 21:27:30 -07:00
Sunli
c101433b7c
Create a boilerplate test code for introspection. #66
2020-05-11 12:24:16 +08:00
Blaine Bublitz
9483ff14be
Fix tests
2020-05-10 20:25:49 -07:00
sunli
6d7d64866b
The error reason can be returned when the input value is parsed incorrectly. #70
2020-05-10 18:27:46 +08:00
sunli
da26857379
Move the parser to async-graphql-parser crate.
2020-05-09 22:02:55 +08:00
sunli
36967ffa4f
Add ability to forward field arguments to guard #59
2020-05-09 18:34:57 +08:00
sunli
311859e12a
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
d59f3acc50
Add tests to limit complexity and depth.
2020-05-05 13:46:56 +08:00
sunli
e3cab73d53
Modify the location of the Guard call.
2020-05-05 13:02:24 +08:00
sunli
0d32eaac75
Update default_value.rs
2020-05-04 13:26:13 +08:00
sunli
97464c4662
Create default_value.rs
2020-05-04 10:49:35 +08:00
sunli
79abc1c52e
Implement OutputType for FieldResult
2020-05-03 22:32:37 +08:00
sunli
f786ce3275
Stops when an error occurs to the subscription stream.
2020-05-03 21:21:54 +08:00
sunli
95c6c0bbf3
Report subscription stream errors to the client.
2020-05-03 16:02:46 +08:00
sunli
1a4189e3e0
Fixed a bug that caused the subscription request to fail to receive any messages. #45
2020-05-03 10:06:17 +08:00
sunli
4484d33f4e
Add some test
2020-05-03 09:12:14 +08:00
sunli
fded6fabcc
v1.10.1
2020-05-02 11:03:04 +08:00
sunli
98864c6879
Add field guard
2020-05-02 07:57:34 +08:00
sunli
1bc97de889
fix #33
2020-04-27 12:57:52 +08:00
sunli
3233f7e477
Update subscription test
2020-04-23 22:29:38 +08:00
sunli
d501f73a08
v1.9.17
2020-04-23 18:11:03 +08:00
sunli
998e9b7b85
Websocket transport creates context data from the connect_init.payload property
2020-04-23 14:52:22 +08:00
sunli
c73ae6a169
The subscriptions field supports a return value of type FieldResult
2020-04-23 11:26:36 +08:00
sunli
09624cab24
v1.9.11
...
Add context data for subscription
2020-04-23 10:26:16 +08:00
sunli
6dfa6a2614
Add some tests
2020-04-22 21:31:44 +08:00
sunli
ed9486c072
Clippy cleanup
2020-04-22 15:03:41 +08:00
sunli
6eb6c9cd9a
Fix interface resolver bug
2020-04-22 14:59:14 +08:00
Sunli
0f9285262b
Merge branch 'master' into interface-test
2020-04-22 13:39:07 +08:00
sunli
64d897a384
v1.9.9
2020-04-22 13:30:41 +08:00
Blaine Bublitz
a3ade99c24
Add failing interface test
2020-04-21 22:18:36 -07:00
sunli
73aef368df
Update interface.rs
2020-04-21 20:54:38 +08:00
sunli
f7a2fe5fa5
Add SchemaBuilder::register_type method
2020-04-21 20:47:48 +08:00
sunli
6a3c54613b
Update interface.rs
2020-04-21 15:40:31 +08:00
sunli
e94fa3b993
v1.9.7
...
Add a `ref` attribute to the field attribute of `SimpleObject`.
2020-04-21 15:40:19 +08:00
sunli
804f8b58a4
v1.9.6
...
Add SimpleObject support to Interface
2020-04-21 15:27:43 +08:00
sunli
50dabfb716
v1.9.4
2020-04-20 14:37:28 +08:00
sunli
c233192545
The int64 scalar serializes to a string
2020-04-19 10:17:47 +08:00
sunli
26046ce809
v1.9.0
2020-04-14 09:53:17 +08:00
sunli
f1d0b3f641
Add federation support
2020-04-09 22:03:09 +08:00
sunli
4e9c6cf1fb
Fixed #attribute not working on the InputObject fields.
2020-04-08 12:02:48 +08:00
sunli
16ffb0a7b1
v1.7.8
2020-04-08 09:05:54 +08:00
sunli
d3adeb79b1
Add SimpleBroker
2020-04-07 14:30:46 +08:00
sunli
efad20d4c4
Add subscription test
2020-04-06 18:30:38 +08:00
sunli
f9983def4b
Add some test, modified from juniper
2020-04-05 16:00:26 +08:00
sunli
9c295ab5ee
Add mutation resolver
2020-04-03 22:19:15 +08:00
sunli
fda683c931
Add Schema::execute
2020-04-02 12:53:53 +08:00
sunli
01ec88abf5
remove PreparedQuery
2020-04-01 16:53:49 +08:00
sunli
50347bc415
v1.6.0
2020-03-26 11:34:28 +08:00
sunli
41fd8ed40e
v1.5.1
2020-03-25 11:39:28 +08:00
sunli
2fc056ad39
v1.5.0
...
Improve performance
2020-03-24 18:54:22 +08:00
sunli
ac044d6d30
add GraphQL Cursor Connections
2020-03-19 17:20:12 +08:00
sunli
e6cfaf134e
Support subscription
2020-03-17 17:26:59 +08:00
sunli
5caf8f9c57
auto rename to camelcase
2020-03-09 20:00:57 +08:00
sunli
0169fd6122
fix some bug
2020-03-09 09:33:36 +08:00
sunli
206d6499a7
v0.9.4
2020-03-07 20:54:03 +08:00
sunli
6d16372f05
v0.9.2
2020-03-07 12:40:04 +08:00