graphql-engine/server/src-lib/Hasura/GraphQL
Auke Booij d6d5c55c13 Add more "conflicting types" checks
In hasura/graphql-engine@7547786b2b, we made the logic that does a specific correctness check on the GraphQL schema runnable _post_-startup. However, in order to error out as early as possible, we explicitly do it on startup anyway.

Unfortunately a few instances of that logic were forgotten: until now we only executed it for non-relay authenticated GraphQL schemas.

This re-implements the "conflicting types" check for both the Relay schema, and for the unauthenticated schemas.

One key point where it does _not_ re-implement it is in `buildFullestDBSchema`, which is a very sketchy method that builds a GraphQL schema that is _only_ used internally in order to mark parts of the schema as inconsistent. There are two reasons I do not add the check here:
- This logic should get replaced entirely - see hasura/graphql-engine-mono#3882.
- Having conflicting types in `buildFullestDBSchema` does not imply there is actually a user-facing issue. The only "conflicting types" which are problematic are the ones which result in illegal _user-facing_ GraphQL schemas. `buildFullestDBSchema` is _never_ user-facing.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3885
GitOrigin-RevId: 49517dcbf51bcd97a3890514ec5e47499f770f32
2022-04-05 20:13:19 +00:00
..
Execute server: fix bug in rate limiting 2022-04-05 07:19:21 +00:00
Parser Decouple Analyse and OpenAPI from remote schema introspection and internal execution details. 2022-03-22 07:37:49 +00:00
Schema server/gardening: rename IR insert mutation types 2022-04-01 06:44:08 +00:00
Transport Fix JSON encoding issue (fix hasura/graphql-engine#7543 and hasura/graphql-engine#8200) 2022-04-05 19:11:30 +00:00
Analyse.hs Rewrite GraphQL.Analysis 2022-04-04 05:54:59 +00:00
Context.hs Yeet some default-extensions 2022-03-16 00:40:17 +00:00
Execute.hs server: refactor the term "live query" to "subscription" 2022-03-21 10:40:49 +00:00
Explain.hs server: refactor the term "live query" to "subscription" 2022-03-21 10:40:49 +00:00
Logging.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Namespace.hs Refactor type name customization 2021-11-30 09:52:53 +00:00
ParameterizedQueryHash.hs Prevent uses of unsafeMkName whenever possible. 2022-01-27 15:13:37 +00:00
Parser.hs Build introspection Schema ad-hoc at parsing time 2022-02-21 20:23:55 +00:00
RemoteServer.hs Decouple Analyse and OpenAPI from remote schema introspection and internal execution details. 2022-03-22 07:37:49 +00:00
Schema.hs Add more "conflicting types" checks 2022-04-05 20:13:19 +00:00