server: add is_remote_schema_permissions_enabled to config API

GitOrigin-RevId: 7129d0fba25edc2450c74140335df9398154ce52
This commit is contained in:
Sameer Kolhar 2021-03-04 21:51:27 +05:30 committed by hasura-bot
parent d1d8cc0a40
commit ee56b741d8
3 changed files with 17 additions and 16 deletions

View File

@ -47,6 +47,7 @@ Sample response
{
"version": "v1.0.0-beta.3",
"is_function_permissions_inferred": true,
"is_remote_schema_permissions_enabled": false,
"is_admin_secret_set": true,
"is_auth_hook_set": false,
"is_jwt_set": true,

View File

@ -11,25 +11,25 @@ import Data.Aeson.TH
import qualified Hasura.GraphQL.Execute.LiveQuery.Options as LQ
import Hasura.RQL.Types (FunctionPermissionsCtx)
import Hasura.RQL.Types (FunctionPermissionsCtx,
RemoteSchemaPermsCtx)
import Hasura.Server.Auth
import Hasura.Server.Auth.JWT
import Hasura.Server.Version (HasVersion, Version, currentVersion)
data JWTInfo
= JWTInfo
{ jwtiClaimsNamespace :: !JWTNamespace
, jwtiClaimsFormat :: !JWTClaimsFormat
, jwtiClaimsMap :: !(Maybe JWTCustomClaimsMap)
} deriving (Show, Eq)
$(deriveToJSON hasuraJSON ''JWTInfo)
data ServerConfig
= ServerConfig
{ scfgVersion :: !Version
, scfgIsFunctionPermissionsInferred :: !FunctionPermissionsCtx
, scfgIsRemoteSchemaPermissionsEnabled :: !RemoteSchemaPermsCtx
, scfgIsAdminSecretSet :: !Bool
, scfgIsAuthHookSet :: !Bool
, scfgIsJwtSet :: !Bool
@ -38,13 +38,13 @@ data ServerConfig
, scfgLiveQueries :: !LQ.LiveQueriesOptions
, scfgConsoleAssetsDir :: !(Maybe Text)
} deriving (Show, Eq)
$(deriveToJSON hasuraJSON ''ServerConfig)
runGetConfig :: HasVersion => FunctionPermissionsCtx -> AuthMode -> Bool -> LQ.LiveQueriesOptions -> Maybe Text -> ServerConfig
runGetConfig functionPermsCtx am isAllowListEnabled liveQueryOpts consoleAssetsDir = ServerConfig
runGetConfig :: HasVersion => FunctionPermissionsCtx -> RemoteSchemaPermsCtx -> AuthMode -> Bool -> LQ.LiveQueriesOptions -> Maybe Text -> ServerConfig
runGetConfig functionPermsCtx remoteSchemaPermsCtx am isAllowListEnabled liveQueryOpts consoleAssetsDir = ServerConfig
currentVersion
functionPermsCtx
remoteSchemaPermsCtx
(isAdminSecretSet am)
(isAuthHookSet am)
(isJWTSet am)

View File

@ -696,7 +696,7 @@ configApiGetHandler serverCtx@ServerCtx{..} consoleAssetsDir =
Spock.get "v1alpha1/config" $ mkSpockAction serverCtx encodeQErr id $
mkGetHandler $ do
onlyAdmin
let res = runGetConfig scFunctionPermsCtx scAuthMode scEnableAllowlist
let res = runGetConfig scFunctionPermsCtx scRemoteSchemaPermsCtx scAuthMode scEnableAllowlist
(EL._lqsOptions $ scLQState) consoleAssetsDir
return $ JSONResp $ HttpResponse (encJFromJValue res) []