Move HasServerConfigCtx to Hasura.Server.Types.

### Description

Small PR that moves code out of `RQL.Types.hs`. Specifically, it moves `HasServerConfigCtx` to where `ServerConfigCtx` is defined. This removes code from `RQL.Types`, makes the dependency on `Server.Types` more explicit, and will make some further cleanups easier.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4336
GitOrigin-RevId: 95bb3467d741763892c4e68a38760497157ba1aa
This commit is contained in:
Antoine Leblanc 2022-04-22 15:50:01 +01:00 committed by hasura-bot
parent 9a557ceeee
commit ea32b8bf82
18 changed files with 36 additions and 65 deletions

View File

@ -44,6 +44,7 @@ import Hasura.RQL.Types hiding
tmTable,
)
import Hasura.SQL.AnyBackend qualified as AB
import Hasura.Server.Types
import Hasura.Server.Utils (quoteRegex)
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -43,6 +43,7 @@ import Hasura.RQL.IR
import Hasura.RQL.Types
import Hasura.SQL.AnyBackend qualified as AB
import Hasura.SQL.Tag (HasTag)
import Hasura.Server.Types
import Hasura.Session
import Language.GraphQL.Draft.Syntax qualified as G

View File

@ -26,6 +26,7 @@ import Hasura.GraphQL.RemoteServer
import Hasura.Prelude
import Hasura.RQL.DDL.RemoteSchema.Permission
import Hasura.RQL.Types
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing
import Language.GraphQL.Draft.Syntax qualified as G

View File

@ -73,10 +73,6 @@ import Hasura.SQL.AnyBackend qualified as AB
import Hasura.SQL.Tag
import Hasura.SQL.Tag qualified as Tag
import Hasura.Server.Types
( EventingMode (..),
MaintenanceMode (..),
ReadOnlyMode (..),
)
import Hasura.Session
import Hasura.Tracing qualified as Tracing
import Language.GraphQL.Draft.Syntax qualified as G

View File

@ -55,6 +55,7 @@ import Hasura.Incremental qualified as Inc
import Hasura.Prelude
import Hasura.RQL.Types
import Hasura.RQL.Types.Endpoint
import Hasura.Server.Types
import Hasura.Session
import Network.HTTP.Client.Manager (HasHttpManagerM (..))
import Network.HTTP.Client.Transformable qualified as HTTP

View File

@ -25,6 +25,7 @@ import Hasura.RQL.DML.Internal
import Hasura.RQL.DML.Types
import Hasura.RQL.IR.Delete
import Hasura.RQL.Types
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -24,6 +24,7 @@ import Hasura.RQL.DML.Internal
import Hasura.RQL.DML.Types
import Hasura.RQL.IR.Insert
import Hasura.RQL.Types
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -48,6 +48,7 @@ import Hasura.Base.Error
import Hasura.Prelude
import Hasura.RQL.Types
import Hasura.SQL.Types
import Hasura.Server.Types
import Hasura.Session
newtype DMLP1T m a = DMLP1T {unDMLP1T :: StateT (DS.Seq Q.PrepArg) m a}

View File

@ -21,6 +21,7 @@ import Hasura.RQL.IR.OrderBy
import Hasura.RQL.IR.Select
import Hasura.RQL.Types
import Hasura.SQL.Types
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -27,6 +27,7 @@ import Hasura.RQL.IR.BoolExp
import Hasura.RQL.IR.Update
import Hasura.RQL.Types
import Hasura.SQL.Types
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -2,8 +2,6 @@ module Hasura.RQL.Types
( MonadTx (..),
SQLGenCtx (..),
RemoteSchemaPermsCtx (..),
ServerConfigCtx (..),
HasServerConfigCtx (..),
HasSystemDefined (..),
HasSystemDefinedT,
runHasSystemDefinedT,
@ -32,7 +30,6 @@ where
import Control.Lens (Traversal', at, preview, (^.))
import Data.HashMap.Strict qualified as M
import Data.Text.Extended
import Database.PG.Query qualified as Q
import Hasura.Backends.Postgres.Connection as R
import Hasura.Base.Error
import Hasura.Prelude
@ -73,7 +70,6 @@ import Hasura.RQL.Types.SourceCustomization as R
import Hasura.RQL.Types.Subscription as R
import Hasura.RQL.Types.Table as R
import Hasura.SQL.Backend as R
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing
import Network.HTTP.Client.Manager (HasHttpManagerM (..))
@ -168,57 +164,6 @@ askTableMetadata sourceName tableName = do
. smTables
. ix tableName
class (Monad m) => HasServerConfigCtx m where
askServerConfigCtx :: m ServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (ReaderT r m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (ExceptT e m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (StateT s m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(Monoid w, HasServerConfigCtx m) =>
HasServerConfigCtx (WriterT w m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (TableCoreCacheRT b m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (TraceT m)
where
askServerConfigCtx = lift askServerConfigCtx
instance
(HasServerConfigCtx m) =>
HasServerConfigCtx (MetadataT m)
where
askServerConfigCtx = lift askServerConfigCtx
instance (HasServerConfigCtx m) => HasServerConfigCtx (Q.TxET QErr m) where
askServerConfigCtx = lift askServerConfigCtx
instance (HasServerConfigCtx m) => HasServerConfigCtx (TableCacheRT b m) where
askServerConfigCtx = lift askServerConfigCtx
class (Monad m) => HasSystemDefined m where
askSystemDefined :: m SystemDefined
@ -247,8 +192,7 @@ newtype HasSystemDefinedT m a = HasSystemDefinedT {unHasSystemDefinedT :: Reader
SourceM,
TableCoreInfoRM b,
CacheRM,
UserInfoM,
HasServerConfigCtx
UserInfoM
)
runHasSystemDefinedT :: SystemDefined -> HasSystemDefinedT m a -> m a

View File

@ -11,7 +11,8 @@ import Control.Monad.Trans.Control (MonadBaseControl)
import Hasura.Base.Error
import Hasura.Metadata.Class
import Hasura.Prelude
import Hasura.RQL.Types
import Hasura.RQL.Types.Source
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing qualified as Tracing
import Network.HTTP.Client.Manager qualified as HTTP

View File

@ -156,6 +156,7 @@ import Hasura.RQL.Types.SchemaCacheTypes
import Hasura.RQL.Types.Source
import Hasura.RQL.Types.Table
import Hasura.SQL.AnyBackend qualified as AB
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing (TraceT)
import Language.GraphQL.Draft.Syntax qualified as G
@ -461,6 +462,9 @@ instance (Monad m, Backend b) => TableInfoRM b (TableCacheRT b m) where
lookupTableInfo tableName =
TableCacheRT (pure . M.lookup tableName . snd)
instance (HasServerConfigCtx m) => HasServerConfigCtx (TableCacheRT b m) where
askServerConfigCtx = lift askServerConfigCtx
class (Monad m) => CacheRM m where
askSchemaCache :: m SchemaCache

View File

@ -58,6 +58,7 @@ import Hasura.RQL.Types.Metadata.Object
import Hasura.RQL.Types.QueryCollection
import Hasura.RQL.Types.RemoteSchema (RemoteSchemaName)
import Hasura.RQL.Types.SchemaCache
import Hasura.Server.Types
import Hasura.Session
import Hasura.Tracing (TraceT)
import Hasura.Tracing qualified as Tracing
@ -292,6 +293,9 @@ instance (HasHttpManagerM m) => HasHttpManagerM (MetadataT m) where
instance (UserInfoM m) => UserInfoM (MetadataT m) where
askUserInfo = lift askUserInfo
instance HasServerConfigCtx m => HasServerConfigCtx (MetadataT m) where
askServerConfigCtx = lift askServerConfigCtx
runMetadataT :: Metadata -> MetadataT m a -> m (a, Metadata)
runMetadataT metadata (MetadataT m) =
runStateT m metadata

View File

@ -51,7 +51,7 @@ import Hasura.SQL.AnyBackend
import Hasura.SQL.Tag
import Hasura.Server.API.Backend
import Hasura.Server.API.Instances ()
import Hasura.Server.Types (InstanceId (..), MaintenanceMode (..), ReadOnlyMode (..))
import Hasura.Server.Types
import Hasura.Server.Utils (APIVersion (..))
import Hasura.Session
import Hasura.Tracing qualified as Tracing

View File

@ -35,7 +35,7 @@ import Hasura.Server.SchemaCacheRef
readSchemaCacheRef,
withSchemaCacheUpdate,
)
import Hasura.Server.Types (InstanceId (..))
import Hasura.Server.Types
import Hasura.Session
import Network.HTTP.Client qualified as HTTP

View File

@ -7,6 +7,7 @@ module Hasura.Server.Types
PGVersion (PGVersion),
RequestId (..),
ServerConfigCtx (..),
HasServerConfigCtx (..),
getRequestId,
)
where
@ -93,3 +94,15 @@ data ServerConfigCtx = ServerConfigCtx
_sccReadOnlyMode :: ReadOnlyMode
}
deriving (Show, Eq)
class (Monad m) => HasServerConfigCtx m where
askServerConfigCtx :: m ServerConfigCtx
instance HasServerConfigCtx m => HasServerConfigCtx (ReaderT r m) where
askServerConfigCtx = lift askServerConfigCtx
instance HasServerConfigCtx m => HasServerConfigCtx (ExceptT e m) where
askServerConfigCtx = lift askServerConfigCtx
instance HasServerConfigCtx m => HasServerConfigCtx (StateT s m) where
askServerConfigCtx = lift askServerConfigCtx

View File

@ -24,7 +24,7 @@ import Hasura.RQL.Types
import Hasura.Server.API.PGDump
import Hasura.Server.Init (DowngradeOptions (..))
import Hasura.Server.Migrate
import Hasura.Server.Types (MaintenanceMode (..))
import Hasura.Server.Types
import Hasura.Session
import Network.HTTP.Client.Manager qualified as HTTP
import Test.Hspec.Core.Spec