graphql-engine/server/src-lib/Hasura
Antoine Leblanc 306162f477 Remove ServerConfigCtx.
### Description

This PR removes `ServerConfigCtx` and `HasServerConfigCtx`. Instead, it favours different approaches:
- when the code was only using one field, it passes that field explicitly (usually `SQLGenCtx` or `CheckFeatureFlag`)
- when the code was using several fields, but in only one function, it inlines
- for the cache build, it introduces `CacheStaticConfig` and `CacheDynamicConfig`, which are subsets of `AppEnv` and `AppContext` respectively

The main goal of this is to help with the modularization of the engine: as `ServerConfigCtx` had fields whose types were imported from several unrelated parts of the engine, using it tied together parts of the engine that should not be aware of one another (such as tying together `Hasura.LogicalModel` and `Hasura.GraphQL.Schema`).

The bulk of this PR is a change to the cache build, as a follow up to #8509: instead of giving the entire `ServerConfigCtx` as a incremental rule argument, we only give the new `CacheDynamicConfig` struct, which has fewer fields. The other required fields, that were coming from the `AppEnv`, are now given via the `HasCacheStaticConfig` constraint, which is a "subset" of `HasAppEnv`.

(Some further work could include moving `StringifyNumbers` out of `GraphQL.Schema.Options`, given how it is used all across the codebase, including in `RQL.DML`.)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8513
GitOrigin-RevId: 818cbcd71494e3cd946b06adbb02ca328a8a298e
2023-04-04 16:01:42 +00:00
..
App Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Backends Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Base server/pro/cloud: add resolved connection template context in error response in dev mode 2023-03-30 12:09:32 +00:00
Cache server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
CustomReturnType Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Eventing server: core changes for zero-downtime env vars update on cloud 2023-03-30 16:33:39 +00:00
Function chore(server): move user-defined-functions into Hasura.Function.* 2023-04-03 10:20:20 +00:00
GraphQL Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
LogicalModel Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Metadata server: refactor Hasura.Metadata.Class 2023-04-03 13:36:50 +00:00
QueryTags chore(server): move some query tags code to a sensible place 2023-03-30 21:19:38 +00:00
RemoteSchema Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
RQL Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Server Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
Services harmonize network manager handling 2023-02-22 15:55:54 +00:00
SQL server: codecs for backend configs 2023-03-30 15:53:55 +00:00
Tracing Rewrite Tracing to allow for only one TraceT in the entire stack. 2023-03-13 17:38:39 +00:00
App.hs Remove ServerConfigCtx. 2023-04-04 16:01:42 +00:00
EncJSON.hs server: plumb StoredIntrospection while building the Schema Cache 2023-01-20 14:52:36 +00:00
GC.hs Upgrade Ormolu to v0.5. 2022-11-02 20:55:13 +00:00
HTTP.hs server: improve logging around 'Internal Exception' errors 2023-03-21 12:00:00 +00:00
Logging.hs chore(server): split new statistics log from QueryLog 2023-03-15 13:06:47 +00:00
Name.hs server/postgres: fix the schema types conflict between aggregation predicates and table selection aggregates 2022-10-21 13:28:43 +00:00
PingSources.hs Fix: Unable to use environment variable for CockroachDB connection string in Cloud 2023-02-14 12:15:58 +00:00
QueryTags.hs chore(server): move some query tags code to a sensible place 2023-03-30 21:19:38 +00:00
Services.hs harmonize network manager handling 2023-02-22 15:55:54 +00:00
Session.hs server: webhook auth token caching 2023-03-14 18:28:56 +00:00
ShutdownLatch.hs multitenant: make shutdown logic more abstract 2022-11-23 07:53:19 +00:00
Tracing.hs Rewrite Tracing to allow for only one TraceT in the entire stack. 2023-03-13 17:38:39 +00:00