diff options
Diffstat (limited to 'Database/Types.hs')
-rw-r--r-- | Database/Types.hs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Database/Types.hs b/Database/Types.hs new file mode 100644 index 000000000..dee56832b --- /dev/null +++ b/Database/Types.hs @@ -0,0 +1,27 @@ +{- types for SQL databases + - + - Copyright 2015 Joey Hess <id@joeyh.name> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +{-# LANGUAGE TemplateHaskell #-} + +module Database.Types where + +import Database.Persist.TH +import Data.Maybe + +import Types.Key + +-- A serialized Key +newtype SKey = SKey String + deriving (Show, Read) + +toSKey :: Key -> SKey +toSKey = SKey . key2file + +fromSKey :: SKey -> Key +fromSKey (SKey s) = fromMaybe (error $ "bad serialied key " ++ s) (file2key s) + +derivePersistField "SKey" |