From b82030a9d2ab062a0b9955e4015cd48104730d1d Mon Sep 17 00:00:00 2001 From: Stephan Barth Date: Thu, 30 May 2024 10:24:49 +0200 Subject: [PATCH] fix(Aeson): HashMap to KeyMap; update imports --- src/Utils/Metrics.hs | 7 +++++-- src/Utils/Tokens.hs | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Utils/Metrics.hs b/src/Utils/Metrics.hs index e1f07dfc4..f3cb2a4a7 100644 --- a/src/Utils/Metrics.hs +++ b/src/Utils/Metrics.hs @@ -53,7 +53,8 @@ import qualified Data.Set as Set import Jobs.Types import qualified Data.Aeson as Aeson -import qualified Data.HashMap.Strict as HashMap +--import qualified Data.HashMap.Strict as HashMap +import qualified Data.Aeson.KeyMap as KeyMap import Data.IntervalMap.Strict (IntervalMap) import qualified Data.IntervalMap.Strict as IntervalMap @@ -64,6 +65,8 @@ import qualified Utils.Pool as Custom import GHC.Stack +import Data.Maybe + {-# ANN module ("HLint: ignore Use even" :: String) #-} @@ -491,7 +494,7 @@ classifyJobWorkerState :: JobWorkerId -> JobWorkerState -> Prometheus.Label4 classifyJobWorkerState wId jws = (showWorkerId wId, tag, maybe "n/a" pack mJobCtl, maybe "n/a" pack mJob) where Aeson.Object obj = Aeson.toJSON jws - Aeson.String tag = obj HashMap.! "state" + Aeson.String tag = fromJust $ obj KeyMap.!? "state" mJobCtl = asum [ classifyJobCtl <$> jws ^? _jobWorkerJobCtl , "perform" <$ jws ^? _jobWorkerJob diff --git a/src/Utils/Tokens.hs b/src/Utils/Tokens.hs index 42211662f..237e082a5 100644 --- a/src/Utils/Tokens.hs +++ b/src/Utils/Tokens.hs @@ -25,7 +25,7 @@ import Data.Aeson.Types (Parser) import qualified Data.Aeson as JSON import qualified Data.Aeson.Parser as JSON import qualified Data.Aeson.Parser.Internal as JSON (jsonEOF') -import qualified Data.Aeson.Internal as JSON (iparse, formatError) +import qualified Data.Aeson.Types as JSON (iparse, formatError) import qualified Data.HashMap.Strict as HashMap @@ -137,6 +137,7 @@ decodeBearer (Jwt bs) = do Jose.Jwe (_header, payload) -> return payload parser <- bearerParseJSON' bearer@BearerToken{..} <- either (throwM . BearerTokenInvalidFormat . uncurry JSON.formatError) return $ JSON.eitherDecodeStrictWith JSON.jsonEOF' (JSON.iparse parser) content' + -- bearer@BearerToken{..} <- either (throwM . BearerTokenInvalidFormat . _) return $ JSON.eitherDecodeStrictWith JSON.jsonEOF' (JSON.iparse parser) content' bearerIssuedFor' <- getsSite $ view clusterID unless (bearerIssuedFor' == bearerIssuedFor) $ throwM BearerTokenWrongAudience