mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-09-19 06:28:39 +03:00
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:
parent
9a557ceeee
commit
ea32b8bf82
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user