packages feed

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 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