serviette 0.1.0.5 → 0.1.0.6
raw patch · 3 files changed
+13/−9 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Data.Serviette: SqlQuery :: Int -> Action -> TableName -> Maybe [SetField] -> Maybe [JoinTable] -> Maybe [WhereCondition] -> SqlQuery
+ Data.Serviette: SqlResponse :: Text -> Text -> Text -> SqlResponse
+ Data.Serviette: SqlResultQuery :: Action -> TableName -> Maybe [SetField] -> Maybe [JoinTable] -> Maybe [WhereCondition] -> SqlResultQuery
+ Data.Serviette: [action] :: SqlQuery -> Action
+ Data.Serviette: [errors] :: SqlResponse -> Text
+ Data.Serviette: [format] :: SqlQuery -> Int
+ Data.Serviette: [getAction] :: SqlResultQuery -> Action
+ Data.Serviette: [getJoins] :: SqlResultQuery -> Maybe [JoinTable]
+ Data.Serviette: [getSelectTable] :: SqlResultQuery -> TableName
+ Data.Serviette: [getSetFields] :: SqlResultQuery -> Maybe [SetField]
+ Data.Serviette: [getWhereCondition] :: SqlResultQuery -> Maybe [WhereCondition]
+ Data.Serviette: [joinTables] :: SqlQuery -> Maybe [JoinTable]
+ Data.Serviette: [response] :: SqlResponse -> Text
+ Data.Serviette: [selectName] :: SqlQuery -> TableName
+ Data.Serviette: [set] :: SqlQuery -> Maybe [SetField]
+ Data.Serviette: [warnings] :: SqlResponse -> Text
+ Data.Serviette: [whereCondition] :: SqlQuery -> Maybe [WhereCondition]
+ Data.Serviette: data SqlQuery
+ Data.Serviette: data SqlResponse
+ Data.Serviette: data SqlResultQuery
Files
- Data/ApiDataTypes.hs +0/−1
- Data/Serviette.hs +12/−7
- serviette.cabal +1/−1
Data/ApiDataTypes.hs view
@@ -90,7 +90,6 @@ , warnings :: Text } deriving (Show, Generic) --- | Aeson Instances instance FromJSON TableName instance ToJSON TableName
Data/Serviette.hs view
@@ -1,11 +1,13 @@ {-# LANGUAGE OverloadedStrings #-}--- | Define functions needed for Json to Text manipulation--- current version supports only raw sql string result--- next version will implement database query result in the json format--- as well as errors in the json structure if any+-- | Generate sql queries from JSON. You could use this to query database directly from frontend. Basic sql queries are supported and the resulting sql query is returned in json format. -module Data.Serviette (rawSqlStr) where+module Data.Serviette+ ( rawSqlStr+ , SqlQuery(..)+ , SqlResponse(..)+ , SqlResultQuery(..)+ ) where import Data.ApiDataTypes import Data.Text hiding (concat, foldl, map)@@ -100,6 +102,9 @@ -- | Creates final SqlResultQuery type formatToSqlResultQueryType sql = SqlResultQuery (getActionArg sql) (getSelectTableArg sql) (getSetFieldsArg sql) (getJoinTableArg sql) (getWhereConditionArg sql) +++-- | Returns errors for current query getErrors :: SqlQuery -> Text getErrors s = t where@@ -120,7 +125,7 @@ | otherwise -> "" -+-- | Returns possible warnings for current query getWarnings :: SqlQuery -> Text getWarnings s = t where@@ -144,7 +149,7 @@ --- | Returns raw sql ByteString+-- | Returns json with sql query and errors and warnings if any rawSqlStr :: SqlQuery -> ByteString rawSqlStr s = encode $ SqlResponse {response = alltext, errors = getErrors s , warnings = getWarnings s} where
serviette.cabal view
@@ -1,5 +1,5 @@ name: serviette-version: 0.1.0.5+version: 0.1.0.6 synopsis: JSON to Sql description: Use json to generate simple sql queries. I needed this for the work project and decided to implement it also in haskell. This could be used to query the database directly from frontend. homepage: https://github.com/v0d1ch/serviette#readme