Skip to content

agrafix/hasql-simple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hasql-simple

CircleCI

A somewhat opinionated "simpler" API to hasql. This allows to write code like:

import Hasql.Query
import Hasql.Simple
import qualified Hasql.Decoders as D

data NewUser
    = NewUser
    { nu_username :: !T.Text
    , nu_email :: !T.Text
    , nu_password :: !(Password 'PtHash)
    } deriving (Show)

createUserQ :: Query NewUser UserId
createUserQ =
    statement sql encoder decoder True
    where
      sql =
          "INSERT INTO login (username, email, password) VALUES ($1, $2, $3) RETURNING id;"
      encoder =
          req nu_username
          <> req nu_email
          <> req nu_password
      decoder =
          D.singleRow dbDecVal

The -simple in the name is due to this type class approach beeing similar to the one found in postgresql-simple. All contributions (e.g. more instances and/or helper functions) are welcome, please send a PR.

About

Haskell: A somewhat opinionated "simpler" API to hasql

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published