Commit Graph

230 Commits

Author SHA1 Message Date
Koxiaet
fbcae8aa29 Improved serialize_resp 2020-09-14 19:56:12 +01:00
Koxiaet
a86c3a86b8 Remove and feature-gate dependencies 2020-09-14 19:38:41 +01:00
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
134ef7ad56 Fix the problem that the compilation fails when the compilation parameter is --no-default-features.
Update mod.rs
2020-09-14 09:54:55 +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
f204841d1f Restructure types module 2020-09-13 10:38:19 +01:00
Koxiaet
1af9ce5b95 Remove unused idx parameter on subscription 2020-09-13 08:13:56 +01:00
Sunli
f530d01bf4 Remove all attribute macros that can be replaced by derive. 2020-09-13 11:41:15 +08:00
Koxiaet
cffed09c78 Remove Deref for ContextBase 2020-09-12 17:42:15 +01:00
Koxiaet
1aa36819eb Create resolver_utils 2020-09-12 10:29:52 +01: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
Sunli
cacb5aa9d8 Rustfmt 2020-09-10 09:09:55 +08:00
Koxiaet
096660a676 Remove anyhow, byteorder and base64 dependencies 2020-09-09 17:34:23 +01:00
Koxiaet
b3093e92d4 Fix Tide tests 2020-09-08 11:07:32 +01:00
Koxiaet
122f8ef230 Fix tests 2020-09-08 10:19:25 +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
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
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
e8eac139b5 Update docs 2020-08-10 14:57:45 +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
3d7594bac1 Removes code about streaming requests. 2020-07-31 10:10:03 +08:00
Sunli
c7c4de94ed Replace log crate with xlog. 2020-07-15 18:05:24 +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
Sunli
0b363dc167 Fix slice support #165 2020-06-09 18:45:22 +08:00
William Myers
53e5467eb4
Add docs about into_read being blocking
Addresses #151
2020-06-07 20:44:01 -06:00
Sunli
3292b068c2 Clippy cleanup 2020-06-06 10:10:10 +08:00
Coenen Benjamin
1660eacb11
Update FnMut to FnOnce for query closure 2020-06-06 02:00:21 +02:00
Sunli
55328931cd Fix relay @defer requires a label in the second chunk. #146 2020-06-05 12:20:23 +08:00
Sunli
8cfe226045 Update connection::query docs 2020-06-02 21:43:08 +08:00
Sunli
63b3b8115e Add example for connection::query 2020-06-02 19:12:28 +08:00
Sunli
27b622e8bc Add connection::query function 2020-06-02 17:43:13 +08:00
Sunli
e3577250eb Remove premature generic constraints of DataSource type. 2020-05-29 12:42:58 +08:00
Sunli
fc5f5a9947 Add Connection::map and Connection::map_node functions 2020-05-29 12:19:08 +08:00
Sunli
666c908ca1 Update connection_type.rs 2020-05-29 11:56:12 +08:00
Sunli
cc37f2ace4 Update DataSource example 2020-05-29 11:54:16 +08:00
Sunli
9c4b64dbfb 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
a336733616 Add Connection::try_append and Connection::try_append_stream 2020-05-29 09:24:31 +08:00
sunli
3785bd3772 Update some docs 2020-05-28 22:18:15 +08:00
Sunli
18dacbdf17
Add MaybeUndefined type (#123)
* Add MaybeUndefined type
2020-05-28 15:00:55 +08:00
Sunli
ada2597130
New data source (#105)
* New data source
2020-05-28 08:02:00 +08:00
sunli
e5b73494b7 Fix Service type name error. 2020-05-27 18:07:38 +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
217aa34787 Add doc 2020-05-21 11:45:15 +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
4868cf242b Add @stream directive 2020-05-21 10:12:54 +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
1c78341ce8 Remove some unsafe code 2020-05-16 21:14:26 +08:00
sunli
42a4639dc3 Preserve field order for introspection. #89 2020-05-16 10:05:48 +08:00
Sunli
9184c999ae Modify some type names (internal types) 2020-05-15 10:08:37 +08:00
sunli
01b2ce8e18 Improve GraphQL query parser performance. #76 2020-05-12 16:27:06 +08:00
sunli
83579077d9 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
b521e6c64d It not finished yet. 2020-05-11 17:13:50 +08:00
Samuel Hurel
9993e86427 impl From<ID> for Cursor 2020-05-10 16:25:16 +02:00
Samuel Hurel
b2176fe6b0 Simplify ID conversion 2020-05-10 15:52:47 +02:00
Samuel Hurel
690f2b46c5 Simplify cursor conversion 2020-05-10 14:49:52 +02:00
sunli
4a68ac3786 Add ToGraphQLCursor and ToGraphQLID traits. #54 2020-05-10 18:39:53 +08: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
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
Blaine Bublitz
bbc07163a6 Allow datasource to use context 2020-05-06 17:04:26 -07:00
sunli
e3955b1e6a Make PageInfo available from outside (#52) 2020-05-06 06:52:04 +08:00
sunli
d7e3afc822 Change the first parameter of OutputValueType::resolve to be &self 2020-05-05 21:06:48 +08:00
Blaine Bublitz
e696061666 Relay pagination algorithm 2020-05-05 00:22:01 -07:00
sunli
d59f3acc50 Add tests to limit complexity and depth. 2020-05-05 13:46:56 +08:00
Blaine Bublitz
381198cfdb
Add Cursor scalar (#48)
* Add Cursor scalar
2020-05-05 13:21:45 +08:00
sunli
95c6c0bbf3 Report subscription stream errors to the client. 2020-05-03 16:02:46 +08:00
sunli
aefe448ede Move project to async-graphql 2020-04-28 15:41:31 +08:00
sunli
1bc97de889 fix #33 2020-04-27 12:57:52 +08:00
sunli
0607c6da56 Remove the redundant field parameter for OutputType::resolve_field. 2020-04-26 15:12:18 +08:00
sunli
d08f459645 Update connection_type.rs 2020-04-26 14:40:55 +08:00
sunli
d74d1a9346 Some minor changes 2020-04-26 12:34:08 +08:00
nicolaiunrein
3548d5fa83
Fix url linking from Upload to example. 2020-04-20 07:59:10 +02:00
sunli
2c664bb7d7 Add some docs
v1.9.2
2020-04-17 11:06:33 +08:00
sunli
4d6b484150 v1.8.1 2020-04-11 17:40:29 +08:00
sunli
b880a937ce Add GQLHttpRequest and IntoQueryBuilder trait 2020-04-11 17:36:05 +08:00
sunli
f1d0b3f641 Add federation support 2020-04-09 22:03:09 +08:00
sunli
d3adeb79b1 Add SimpleBroker 2020-04-07 14:30:46 +08:00
sunli
631de52400 The subscription field now returns a stream 2020-04-06 13:49:39 +08:00
sunli
f9983def4b Add some test, modified from juniper 2020-04-05 16:00:26 +08:00
sunli
d1abad5127 If the field name or parameter name is wrong, give suggestion 2020-04-03 13:57:24 +08:00
sunli
0bd58abd86 Fixed panic when uploading binary file 2020-04-03 09:27:22 +08:00
sunli
fda683c931 Add Schema::execute 2020-04-02 12:53:53 +08:00
sunli
10105b8a09 Reimplement the error type and remove the dependency on the anyhow::Error 2020-04-02 10:21:04 +08:00
sunli
01ec88abf5 remove PreparedQuery 2020-04-01 16:53:49 +08:00
nicolaiunrein
0da2f900a1
Update upload.rs 2020-03-30 16:47:17 +02:00
nicolaiunrein
9eaf445cc2
Update upload.rs 2020-03-30 16:36:27 +02:00
nicolaiunrein
6944a542bb
Update upload.rs 2020-03-30 16:31:38 +02:00
Nicolai Unrein
0d3fb8d1de add documentation to upload 2020-03-30 16:25:35 +02:00
sunli
50347bc415 v1.6.0 2020-03-26 11:34:28 +08:00
sunli
457e30ea2f v1.5.2 2020-03-25 15:07:16 +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
c6953b0bbf Add CacheControl for object 2020-03-22 16:45:59 +08:00
sunli
934038150e v1.4.2 2020-03-22 09:34:32 +08:00
sunli
2b2be34d4d Clippy cleanup 2020-03-21 09:32:13 +08:00
sunli
d95c0f23b8 v1.3.2 2020-03-20 11:56:08 +08:00
sunli
ac044d6d30 add GraphQL Cursor Connections 2020-03-19 17:20:12 +08:00
sunli
68339e768d v1.2.1
subscription support directive and fragment
2020-03-18 11:13:45 +08:00
sunli
913bc86462 v1.2.0 2020-03-17 19:11:14 +08:00
sunli
e6cfaf134e Support subscription 2020-03-17 17:26:59 +08:00
sunli
f78a172241 Add support for multipart request 2020-03-14 11:46:20 +08:00
sunli
482c5b3cf3 v0.10.4 2020-03-09 18:05:52 +08:00
sunli
53dcd0aae5 add some validation code 2020-03-08 20:35:36 +08:00
sunli
94597078f5 Update optional.rs 2020-03-07 12:39:34 +08:00
sunli
3f8a0229c2 Added support for inline fragment 2020-03-07 10:39:55 +08:00
sunli
70322b9a37 implemented interface 2020-03-06 23:58:43 +08:00
sunli
b0e7a63a8d Update optional.rs 2020-03-06 08:42:06 +08:00
sunli
2351e75f2c fix some bug
add starwars example
2020-03-05 21:34:31 +08:00
sunli
b3340680ba v0.8.0 2020-03-05 17:06:14 +08:00
sunli
e9cc5969f2 Rewrite the object generation code 2020-03-05 14:23:55 +08:00
sunli
92a95dbbf4 implemented directive (@include, @skip) 2020-03-04 14:24:44 +08:00
sunli
b7a65b6784 support variables 2020-03-04 11:51:42 +08:00
sunli
602f6a656f Support default values 2020-03-04 10:38:07 +08:00
sunli
d0c6db0aba add schema support 2020-03-03 19:15:18 +08:00
sunli
8f448c91e9 create type info 2020-03-03 11:48:49 +08:00
sunli
f090df76f7 add schema model 2020-03-03 11:48:49 +08:00
sunli
332faa70fa query root 2020-03-03 11:48:43 +08:00