diff options
author | Joris | 2017-06-05 18:02:13 +0200 |
---|---|---|
committer | Joris | 2017-06-05 18:02:13 +0200 |
commit | 0b191f5c48edffc9da3e38c284e9640fd82e7cb1 (patch) | |
tree | c729e53822e7c41c1a854d82d25636e58ee65c9f /src/server/Job/Kind.hs | |
parent | 5c110716cfda6e616a795edd12f2012b132dca9f (diff) | |
download | budget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.tar.gz budget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.tar.bz2 budget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.zip |
Replace persistent by sqlite-simple
Diffstat (limited to 'src/server/Job/Kind.hs')
-rw-r--r-- | src/server/Job/Kind.hs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/server/Job/Kind.hs b/src/server/Job/Kind.hs index 473b7c4..af5d4f8 100644 --- a/src/server/Job/Kind.hs +++ b/src/server/Job/Kind.hs @@ -1,14 +1,22 @@ -{-# LANGUAGE TemplateHaskell #-} - module Job.Kind ( Kind(..) ) where -import Database.Persist.TH +import Database.SQLite.Simple (SQLData(SQLText)) +import Database.SQLite.Simple.FromField (fieldData, FromField(fromField)) +import Database.SQLite.Simple.Ok (Ok(Ok, Errors)) +import Database.SQLite.Simple.ToField (ToField(toField)) +import qualified Data.Text as T data Kind = MonthlyPayment | WeeklyReport deriving (Eq, Show, Read) -derivePersistField "Kind" +instance FromField Kind where + fromField field = case fieldData field of + SQLText text -> Ok (read (T.unpack text) :: Kind) + _ -> Errors [error "SQLText field required for job kind"] + +instance ToField Kind where + toField kind = SQLText . T.pack . show $ kind |