Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DateTime issue with graphql example #3

Open
jocubeit opened this issue Mar 2, 2023 · 3 comments
Open

DateTime issue with graphql example #3

jocubeit opened this issue Mar 2, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@jocubeit
Copy link

jocubeit commented Mar 2, 2023

I get the following error when trying to query humans in the starwars example using graphiql:

[SEVERE] startwars: {errors: [{message: Value of field "created_at" must be DateTime, got 2023-03-02T17:06:46.213487 (String) instead.}]}

{errors: [{message: Value of field "created_at" must be DateTime, got 2023-03-02T17:06:46.213487 (String) instead.}]}
package:graphql_server2/graphql_server2.dart 672:9   GraphQL.completeValue
package:graphql_server2/graphql_server2.dart 504:12  GraphQL.executeField
package:graphql_server2/graphql_server2.dart 471:46  GraphQL.executeSelectionSet
package:graphql_server2/graphql_server2.dart 688:14  GraphQL.completeValue
package:graphql_server2/graphql_server2.dart 629:29  GraphQL.completeValue
@jocubeit
Copy link
Author

jocubeit commented Mar 3, 2023

DateTime fields seem to be broken, both nullable and non-nullable. Pretty much means we can't use the graphQLDate type.

@jocubeit
Copy link
Author

jocubeit commented Mar 3, 2023

The issue appears to be the serialization of the date in the MapService. Specifically the following line:

https://github.com/dukefirehawk/angel/blob/9b85007072fdcd19bd79237ba2e3bf4e23c8021f/packages/framework/lib/src/core/map_service.dart#L87

If you amend the line to remove the serialization to an ISO 8601 string, then everything works as it should:

var now = DateTime.now(); //.toIso8601String();

Similarly the following lines would also need amending.

in the modify method:
https://github.com/dukefirehawk/angel/blob/9b85007072fdcd19bd79237ba2e3bf4e23c8021f/packages/framework/lib/src/core/map_service.dart#L117

and in the update method:
https://github.com/dukefirehawk/angel/blob/9b85007072fdcd19bd79237ba2e3bf4e23c8021f/packages/framework/lib/src/core/map_service.dart#L146

I suspect the issue is the serialization is attempted twice, once the by the MapService and then my the type converter later.

I'm happy to push a merge request if you like.

@jocubeit
Copy link
Author

jocubeit commented Mar 3, 2023

Actually I'm having other issues now, as soon as I query nested objects. I'll investigate further and get back to this issue.

@dukefirehawk dukefirehawk added the bug Something isn't working label Sep 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants