Fix NULL input problem

Relates to #127

Still auth problems though
This commit is contained in:
Joe Nelson
2015-01-28 23:58:17 -08:00
parent da6318f5a2
commit 27450fae66
+12 -8
View File
@@ -7,8 +7,9 @@ import Data.Text hiding (foldl, map, zipWith, concat)
import Data.Aeson import Data.Aeson
import Data.Functor.Identity import Data.Functor.Identity
import Data.String.Conversions (cs) import Data.String.Conversions (cs)
import Data.Maybe (fromMaybe)
import Control.Applicative ( (<$>) )
import qualified Data.List as L
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Hasql as H import qualified Hasql as H
@@ -103,9 +104,6 @@ primaryKeyColumns table = do
return $ map runIdentity r return $ map runIdentity r
vanishNull :: [a] -> Maybe [a]
vanishNull xs = if L.null xs then Nothing else Just xs
toBool :: Text -> Bool toBool :: Text -> Bool
toBool = (== "YES") toBool = (== "YES")
@@ -137,11 +135,17 @@ data Column = Column {
tableFromRow :: (Text, Text, Text) -> Table tableFromRow :: (Text, Text, Text) -> Table
tableFromRow (s, n, i) = Table s n (toBool i) tableFromRow (s, n, i) = Table s n (toBool i)
columnFromRow :: (Text, Text, Text, Int, Text, Text, Text, columnFromRow :: (Text, Text, Text,
Maybe Int, Maybe Int, Maybe Text, Text) Int, Text, Text,
-> Column Text, Maybe Int, Maybe Int,
Maybe Text, Maybe Text)
-> Column
columnFromRow (s, t, n, pos, nul, typ, u, l, p, d, e) = columnFromRow (s, t, n, pos, nul, typ, u, l, p, d, e) =
Column s t n pos (toBool nul) typ (toBool u) l p d (split (==',') e) Nothing Column s t n pos (toBool nul) typ (toBool u) l p d (parseEnum e) Nothing
where
parseEnum :: Maybe Text -> [Text]
parseEnum str = fromMaybe [] $ split (==',') <$> str
instance ToJSON Column where instance ToJSON Column where