ipedb-0.1.0.0: src/IpeDb/Query.hs
module IpeDb.Query (
withInfoProvDb,
setupInfoProvDb,
populateFromEventlog,
lookupInfoProv,
insertInfoProv,
listInfoProvs,
) where
import qualified IpeDb.Eventlog.Index as Index
import IpeDb.InfoProv
import IpeDb.Types
-- ----------------------------------------------------------------------------
-- High Level API
-- ----------------------------------------------------------------------------
withInfoProvDb :: FilePath -> (InfoProvDb -> IO a) -> IO a
withInfoProvDb fp act =
Index.withDatabase fp (\conn -> act InfoProvDb{conn})
setupInfoProvDb :: InfoProvDb -> IO ()
setupInfoProvDb db =
Index.setupDb db.conn
populateFromEventlog :: InfoProvDb -> FilePath -> IO ()
populateFromEventlog db fp =
Index.generateInfoProvDb db.conn fp
lookupInfoProv :: InfoProvDb -> IpeId -> IO (Maybe InfoProv)
lookupInfoProv db ipeId = do
Index.findOneInfoProv db.conn ipeId
insertInfoProv :: InfoProvDb -> InfoProv -> IO ()
insertInfoProv db ipe = do
Index.insertInfoProv db.conn ipe
listInfoProvs :: InfoProvDb -> IO [InfoProv]
listInfoProvs db = do
Index.findAllInfoProvs db.conn