change: change log-query string value to bool
BREAKING CHANGE As discussed on https://github.com/PostgREST/postgrest/issues/3934#issuecomment-3362806777, this changes log-query to use a bool value, this: - Simplifies config for users. - Reduces effort in testing the different combinations. Closes #3934
This commit is contained in:
committed by
Steve Chavez
parent
e4458abd33
commit
09b088d8ff
@@ -44,8 +44,7 @@ import qualified PostgREST.Unix as Unix (installSignalHandlers)
|
||||
import PostgREST.ApiRequest (ApiRequest (..))
|
||||
import PostgREST.AppState (AppState)
|
||||
import PostgREST.Auth.Types (AuthResult (..))
|
||||
import PostgREST.Config (AppConfig (..), LogLevel (..),
|
||||
LogQuery (..))
|
||||
import PostgREST.Config (AppConfig (..), LogLevel (..))
|
||||
import PostgREST.Error (Error)
|
||||
import PostgREST.Network (resolveSocketToAddress)
|
||||
import PostgREST.Observation (Observation (..))
|
||||
@@ -146,7 +145,7 @@ postgrestResponse appState conf@AppConfig{..} maybeSchemaCache authResult@AuthRe
|
||||
let mainQ = Query.mainQuery plan conf apiReq authResult configDbPreRequest
|
||||
tx = MainTx.mainTx mainQ conf authResult apiReq plan sCache
|
||||
observer = AppState.getObserver appState
|
||||
obsQuery s = when (configLogQuery /= LogQueryDisabled) $ observer $ QueryObs mainQ s
|
||||
obsQuery s = when configLogQuery $ observer $ QueryObs mainQ s
|
||||
|
||||
(txTime, txResult) <- withTiming $ do
|
||||
case tx of
|
||||
|
||||
+3
-20
@@ -17,7 +17,6 @@ module PostgREST.Config
|
||||
, JSPathExp(..)
|
||||
, FilterExp(..)
|
||||
, LogLevel(..)
|
||||
, LogQuery(..)
|
||||
, OpenAPIMode(..)
|
||||
, Proxy(..)
|
||||
, toText
|
||||
@@ -99,7 +98,7 @@ data AppConfig = AppConfig
|
||||
, configJwtSecretIsBase64 :: Bool
|
||||
, configJwtCacheMaxEntries :: Int
|
||||
, configLogLevel :: LogLevel
|
||||
, configLogQuery :: LogQuery
|
||||
, configLogQuery :: Bool
|
||||
, configOpenApiMode :: OpenAPIMode
|
||||
, configOpenApiSecurityActive :: Bool
|
||||
, configOpenApiServerProxyUri :: Maybe Text
|
||||
@@ -128,14 +127,6 @@ dumpLogLevel = \case
|
||||
LogInfo -> "info"
|
||||
LogDebug -> "debug"
|
||||
|
||||
data LogQuery = LogQueryMain | LogQueryDisabled
|
||||
deriving (Eq)
|
||||
|
||||
dumpLogQuery :: LogQuery -> Text
|
||||
dumpLogQuery = \case
|
||||
LogQueryMain -> "main-query"
|
||||
LogQueryDisabled -> "disabled"
|
||||
|
||||
data OpenAPIMode = OAFollowPriv | OAIgnorePriv | OADisabled
|
||||
deriving Eq
|
||||
|
||||
@@ -179,7 +170,7 @@ toText conf =
|
||||
,("jwt-secret-is-base64", T.toLower . show . configJwtSecretIsBase64)
|
||||
,("jwt-cache-max-entries", show . configJwtCacheMaxEntries)
|
||||
,("log-level", q . dumpLogLevel . configLogLevel)
|
||||
,("log-query", q . dumpLogQuery . configLogQuery)
|
||||
,("log-query", T.toLower . show . configLogQuery)
|
||||
,("openapi-mode", q . dumpOpenApiMode . configOpenApiMode)
|
||||
,("openapi-security-active", T.toLower . show . configOpenApiSecurityActive)
|
||||
,("openapi-server-proxy-uri", q . fromMaybe mempty . configOpenApiServerProxyUri)
|
||||
@@ -289,7 +280,7 @@ parser optPath env dbSettings roleSettings roleIsolationLvl =
|
||||
(optBool "secret-is-base64"))
|
||||
<*> (fromMaybe 1000 <$> optInt "jwt-cache-max-entries")
|
||||
<*> parseLogLevel "log-level"
|
||||
<*> parseLogQuery "log-query"
|
||||
<*> (fromMaybe False <$> optBool "log-query")
|
||||
<*> parseOpenAPIMode "openapi-mode"
|
||||
<*> (fromMaybe False <$> optBool "openapi-security-active")
|
||||
<*> parseOpenAPIServerProxyURI "openapi-server-proxy-uri"
|
||||
@@ -365,14 +356,6 @@ parser optPath env dbSettings roleSettings roleIsolationLvl =
|
||||
Just "debug" -> pure LogDebug
|
||||
Just _ -> fail "Invalid logging level. Check your configuration."
|
||||
|
||||
parseLogQuery :: C.Key -> C.Parser C.Config LogQuery
|
||||
parseLogQuery k =
|
||||
optString k >>= \case
|
||||
Nothing -> pure LogQueryDisabled
|
||||
Just "disabled" -> pure LogQueryDisabled
|
||||
Just "main-query" -> pure LogQueryMain
|
||||
Just _ -> fail "Invalid SQL logging value. Check your configuration."
|
||||
|
||||
parseTxEnd :: C.Key -> ((Bool, Bool) -> Bool) -> C.Parser C.Config Bool
|
||||
parseTxEnd k f =
|
||||
optString k >>= \case
|
||||
|
||||
Reference in New Issue
Block a user