Simplifies pattern matching using insertableValue and quote variable as identifier.
This commit is contained in:
@@ -12,7 +12,7 @@ import Data.Maybe (fromMaybe)
|
|||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import Data.String.Conversions (cs)
|
import Data.String.Conversions (cs)
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import PostgREST.PgQuery (pgFmtLit)
|
import PostgREST.PgQuery (pgFmtLit, pgFmtIdent, insertableValue)
|
||||||
import Prelude
|
import Prelude
|
||||||
import qualified Web.JWT as JWT
|
import qualified Web.JWT as JWT
|
||||||
import qualified Data.HashMap.Lazy as HashMap
|
import qualified Data.HashMap.Lazy as HashMap
|
||||||
@@ -27,12 +27,8 @@ setDBEnv maybeClaims =
|
|||||||
(map setVar . toList) <$> maybeClaims
|
(map setVar . toList) <$> maybeClaims
|
||||||
where
|
where
|
||||||
setVar ("role", String val) = setRole val
|
setVar ("role", String val) = setRole val
|
||||||
setVar (k, String val) = "set local postgrest.claims." <> k <> " = " <> pgFmtLit val <> ";"
|
setVar (k, val) = "set local postgrest.claims." <> pgFmtIdent k <>
|
||||||
setVar (k, Bool val) = "set local postgrest.claims." <> k <> " = " <> showText val <> ";"
|
" = " <> insertableValue val <> ";"
|
||||||
setVar (k, Number val) = "set local postgrest.claims." <> k <> " = " <> showText val <> ";"
|
|
||||||
setVar _ = ""
|
|
||||||
showText :: Show a => a -> Text
|
|
||||||
showText = cs . show
|
|
||||||
|
|
||||||
setRole :: Text -> Text
|
setRole :: Text -> Text
|
||||||
setRole role = "set local role " <> cs (pgFmtLit role) <> ";"
|
setRole role = "set local role " <> cs (pgFmtLit role) <> ";"
|
||||||
|
|||||||
Reference in New Issue
Block a user