refactor: rename JSONParseError to PGRSTParseError

The error name is too generic otherwise.
This commit is contained in:
steve-chavez
2023-10-06 01:16:45 -03:00
committed by Steve Chavez
parent 3dd292be46
commit df08d7f3ff
2 changed files with 10 additions and 10 deletions
+7 -7
View File
@@ -371,8 +371,8 @@ instance PgrstError PgError where
headers (PgError _ (SQL.SessionUsageError (SQL.QueryError _ _ (SQL.ResultError (SQL.ServerError "PGRST" m d _ _p))))) = headers (PgError _ (SQL.SessionUsageError (SQL.QueryError _ _ (SQL.ResultError (SQL.ServerError "PGRST" m d _ _p))))) =
case (parseMessage m, parseDetails d) of case (parseMessage m, parseDetails d) of
(Just _, Just r) -> headers JSONParseError ++ map intoHeader (M.toList $ getHeaders r) (Just _, Just r) -> headers PGRSTParseError ++ map intoHeader (M.toList $ getHeaders r)
_ -> headers JSONParseError _ -> headers PGRSTParseError
where where
intoHeader (k,v) = (CI.mk $ T.encodeUtf8 k, T.encodeUtf8 v) intoHeader (k,v) = (CI.mk $ T.encodeUtf8 k, T.encodeUtf8 v)
@@ -409,7 +409,7 @@ instance JSON.ToJSON SQL.CommandError where
"message" .= getMessage r, "message" .= getMessage r,
"details" .= checkMaybe (getDetails r), "details" .= checkMaybe (getDetails r),
"hint" .= checkMaybe (getHint r)] "hint" .= checkMaybe (getHint r)]
_ -> JSON.toJSON JSONParseError _ -> JSON.toJSON PGRSTParseError
where where
checkMaybe = maybe JSON.Null JSON.String checkMaybe = maybe JSON.Null JSON.String
@@ -473,7 +473,7 @@ pgErrorStatus authed (SQL.SessionUsageError (SQL.QueryError _ _ (SQL.ResultError
"PGRST" -> "PGRST" ->
case (parseMessage m, parseDetails d) of case (parseMessage m, parseDetails d) of
(Just _, Just r) -> maybe (toEnum $ getStatus r) (HTTP.mkStatus (getStatus r) . T.encodeUtf8) (getStatusText r) (Just _, Just r) -> maybe (toEnum $ getStatus r) (HTTP.mkStatus (getStatus r) . T.encodeUtf8) (getStatusText r)
_ -> status JSONParseError _ -> status PGRSTParseError
_ -> HTTP.status400 _ -> HTTP.status400
_ -> HTTP.status500 _ -> HTTP.status500
@@ -491,7 +491,7 @@ data Error
| PgErr PgError | PgErr PgError
| PutMatchingPkError | PutMatchingPkError
| SingularityError Integer | SingularityError Integer
| JSONParseError | PGRSTParseError
instance PgrstError Error where instance PgrstError Error where
status (ApiRequestError err) = status err status (ApiRequestError err) = status err
@@ -505,7 +505,7 @@ instance PgrstError Error where
status (PgErr err) = status err status (PgErr err) = status err
status PutMatchingPkError = HTTP.status400 status PutMatchingPkError = HTTP.status400
status SingularityError{} = HTTP.status406 status SingularityError{} = HTTP.status406
status JSONParseError = HTTP.status500 status PGRSTParseError = HTTP.status500
headers (ApiRequestError err) = headers err headers (ApiRequestError err) = headers err
headers (JwtTokenInvalid m) = [invalidTokenHeader m] headers (JwtTokenInvalid m) = [invalidTokenHeader m]
@@ -566,7 +566,7 @@ instance JSON.ToJSON Error where
"details" .= T.unwords ["The result contains", show n, "rows"], "details" .= T.unwords ["The result contains", show n, "rows"],
"hint" .= JSON.Null] "hint" .= JSON.Null]
toJSON JSONParseError = JSON.object [ toJSON PGRSTParseError = JSON.object [
"code" .= ApiRequestErrorCode21, "code" .= ApiRequestErrorCode21,
"message" .= ("The message and detail field of RAISE 'PGRST' error expects JSON" :: Text), "message" .= ("The message and detail field of RAISE 'PGRST' error expects JSON" :: Text),
"details" .= JSON.Null, "details" .= JSON.Null,
+3 -3
View File
@@ -1537,17 +1537,17 @@ spec actualPgVersion =
resHeaders `shouldSatisfy` elem ("X-Header", "str") resHeaders `shouldSatisfy` elem ("X-Header", "str")
resBody `shouldBe` [json|{"code":"123","message":"ABC","details":null,"hint":null}|] resBody `shouldBe` [json|{"code":"123","message":"ABC","details":null,"hint":null}|]
it "returns JSONParseError for invalid JSON in RAISE Message field" $ it "returns error for invalid JSON in RAISE Message field" $
get "/rpc/raise_sqlstate_invalid_json_message" `shouldRespondWith` get "/rpc/raise_sqlstate_invalid_json_message" `shouldRespondWith`
[json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|] [json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|]
{ matchStatus = 500 } { matchStatus = 500 }
it "returns JSONParseError for invalid JSON in RAISE Details field" $ it "returns error for invalid JSON in RAISE Details field" $
get "/rpc/raise_sqlstate_invalid_json_details" `shouldRespondWith` get "/rpc/raise_sqlstate_invalid_json_details" `shouldRespondWith`
[json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|] [json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|]
{ matchStatus = 500 } { matchStatus = 500 }
it "returns JSONParseError for missing Details field in RAISE" $ it "returns error for missing Details field in RAISE" $
get "/rpc/raise_sqlstate_missing_details" `shouldRespondWith` get "/rpc/raise_sqlstate_missing_details" `shouldRespondWith`
[json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|] [json|{"code":"PGRST121","message":"The message and detail field of RAISE 'PGRST' error expects JSON","details":null,"hint":null}|]
{ matchStatus = 500 } { matchStatus = 500 }