From 7ef5b7b43a7c28d5096d1ab0ad1de1b0434ea979 Mon Sep 17 00:00:00 2001 From: Diogo Biazus Date: Sun, 18 Oct 2015 14:03:43 -0400 Subject: [PATCH] Simplifies pattern matching using insertableValue and quote variable as identifier. --- src/PostgREST/Auth.hs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/PostgREST/Auth.hs b/src/PostgREST/Auth.hs index 43c3e99c9..f7cce5fec 100644 --- a/src/PostgREST/Auth.hs +++ b/src/PostgREST/Auth.hs @@ -12,7 +12,7 @@ import Data.Maybe (fromMaybe) import Data.Monoid import Data.String.Conversions (cs) import Data.Text (Text) -import PostgREST.PgQuery (pgFmtLit) +import PostgREST.PgQuery (pgFmtLit, pgFmtIdent, insertableValue) import Prelude import qualified Web.JWT as JWT import qualified Data.HashMap.Lazy as HashMap @@ -27,12 +27,8 @@ setDBEnv maybeClaims = (map setVar . toList) <$> maybeClaims where setVar ("role", String val) = setRole val - setVar (k, String val) = "set local postgrest.claims." <> k <> " = " <> pgFmtLit val <> ";" - setVar (k, Bool val) = "set local postgrest.claims." <> k <> " = " <> showText val <> ";" - setVar (k, Number val) = "set local postgrest.claims." <> k <> " = " <> showText val <> ";" - setVar _ = "" - showText :: Show a => a -> Text - showText = cs . show + setVar (k, val) = "set local postgrest.claims." <> pgFmtIdent k <> + " = " <> insertableValue val <> ";" setRole :: Text -> Text setRole role = "set local role " <> cs (pgFmtLit role) <> ";"