data-basic-0.2.0.4: test/Spec.hs
{-# LANGUAGE DataKinds, NoImplicitPrelude, TypeFamilies, FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts, OverloadedStrings #-}
import Prelude hiding (id)
import Data.Time
import Database.PostgreSQL.Simple
import Data.Basic
import Control.Monad.IO.Class
import Control.Lens
import Control.Monad
import Data.Function ((&))
import Data.Aeson
import Data.String.Conv (toS)
import Model
insertNewSession :: MonadIO m => Connection -> LocalTime -> m ()
insertNewSession conn expiration =
handleBasicPsql conn query'
where
session = newUserSession
& expirationDate .~ expiration
& id .~ 0
query' = void $ insert session
main :: IO ()
main = do
conn <- connectPostgreSQL "host=localhost port=5432 user=postgres dbname=test password=admin connect_timeout=10"
handleBasicPsql conn $ do
executeQuery "drop schema if exists public cascade;" ()
applySchema initialSchema
us <- allUsers
liftIO $ putStrLn (toS $ encode us)
_ <- dmap (view upper) allCapstables
void $ dmap (view upper) allLowers