aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2016-01-23 12:58:14 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2016-01-23 12:58:14 +0000
commit32fd365fb546e7e2ad195b575be4bca457cba6e9 (patch)
treeeb38f4b95654f43907dc3077bb550452d0f8ecb1 /server/src
parentb508a6bd35d28260f307acf8ffde8b7acf843a09 (diff)
downloadthermoprint-32fd365fb546e7e2ad195b575be4bca457cba6e9.tar
thermoprint-32fd365fb546e7e2ad195b575be4bca457cba6e9.tar.gz
thermoprint-32fd365fb546e7e2ad195b575be4bca457cba6e9.tar.bz2
thermoprint-32fd365fb546e7e2ad195b575be4bca457cba6e9.tar.xz
thermoprint-32fd365fb546e7e2ad195b575be4bca457cba6e9.zip
cleanup of persistent-instances
Diffstat (limited to 'server/src')
-rw-r--r--server/src/Thermoprint/Server/Database/Instances.hs22
1 files changed, 1 insertions, 21 deletions
diff --git a/server/src/Thermoprint/Server/Database/Instances.hs b/server/src/Thermoprint/Server/Database/Instances.hs
index f5c22fd..e54f90e 100644
--- a/server/src/Thermoprint/Server/Database/Instances.hs
+++ b/server/src/Thermoprint/Server/Database/Instances.hs
@@ -6,28 +6,8 @@ module Thermoprint.Server.Database.Instances where
6 6
7import Thermoprint.API (Printout, JobStatus, PrintingError) 7import Thermoprint.API (Printout, JobStatus, PrintingError)
8 8
9import Database.Persist (PersistField(..))
10import Database.Persist.Sql (PersistFieldSql(..))
11import Database.Persist.TH 9import Database.Persist.TH
12 10
13import Control.Monad ((<=<)) 11derivePersistFieldJSON "Printout"
14import Data.Bifunctor
15
16import qualified Data.Aeson as JSON (encode, eitherDecodeStrict')
17
18import Data.ByteString (ByteString)
19import qualified Data.ByteString.Lazy as LBS (toStrict)
20import qualified Data.Text as T (pack)
21
22import Data.Proxy
23
24-- | Instead of deriving an instance using 'derivePersistField', which would use 'show' and 'read', we write our own by hand in order to use json
25instance PersistField Printout where
26 toPersistValue = toPersistValue . LBS.toStrict . JSON.encode
27 fromPersistValue = first T.pack . JSON.eitherDecodeStrict' <=< fromPersistValue
28
29instance PersistFieldSql Printout where
30 sqlType _ = sqlType (Proxy :: Proxy ByteString)
31
32derivePersistField "PrintingError" 12derivePersistField "PrintingError"
33derivePersistField "JobStatus" 13derivePersistField "JobStatus"