persistent-zookeeper-0.2.0: Database/Persist/Zookeeper/Unique.hs
{-# LANGUAGE FlexibleContexts, UndecidableInstances #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Database.Persist.Zookeeper.Unique
where
import Database.Persist
import qualified Database.Zookeeper as Z
import Database.Persist.Zookeeper.Internal
import Database.Persist.Zookeeper.Store()
instance PersistUnique Z.Zookeeper where
getBy uniqVal = do
let key = uniqkey2key uniqVal
val <- get key
case val of
Nothing -> return Nothing
Just v -> return $ Just $ Entity key v
deleteBy uniqVal = do
let key = uniqkey2key uniqVal
delete key