aboutsummaryrefslogtreecommitdiff
path: root/src/server/Job/Kind.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Job/Kind.hs')
-rw-r--r--src/server/Job/Kind.hs16
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