From 0b191f5c48edffc9da3e38c284e9640fd82e7cb1 Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 5 Jun 2017 18:02:13 +0200 Subject: Replace persistent by sqlite-simple --- src/server/Model/Database.hs | 108 ------------------------------------------- 1 file changed, 108 deletions(-) delete mode 100644 src/server/Model/Database.hs (limited to 'src/server/Model/Database.hs') diff --git a/src/server/Model/Database.hs b/src/server/Model/Database.hs deleted file mode 100644 index ba302de..0000000 --- a/src/server/Model/Database.hs +++ /dev/null @@ -1,108 +0,0 @@ -{-# LANGUAGE EmptyDataDecls #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE GADTs #-} -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -{-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE TemplateHaskell #-} -{-# LANGUAGE TypeFamilies #-} - -module Model.Database where - -import Control.Monad.Logger (NoLoggingT, runNoLoggingT) -import Control.Monad.Trans.Resource (runResourceT, ResourceT) - -import Data.Text -import Data.Time.Clock (UTCTime) -import Data.Time.Calendar (Day) -import Data.Int (Int64) - -import Database.Persist.Sqlite -import Database.Persist.TH - -import Resource (Resource, createdAt, editedAt, deletedAt) - -import Model.Frequency - -import Job.Kind - -share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| -User - creation UTCTime - email Text - name Text - UniqUserEmail email - UniqUserName name - deriving Show -Payment - userId UserId - name Text - cost Int - date Day - frequency Frequency - createdAt UTCTime - editedAt UTCTime Maybe - deletedAt UTCTime Maybe - deriving Show -Category - name Text - color Text - createdAt UTCTime - editedAt UTCTime Maybe - deletedAt UTCTime Maybe - deriving Show -PaymentCategory - name Text - category CategoryId - createdAt UTCTime - editedAt UTCTime Maybe - UniqPaymentCategoryName name - deriving Show -SignIn - token Text - creation UTCTime - email Text - isUsed Bool - UniqSignInToken token - deriving Show -Job - kind Kind - lastExecution UTCTime Maybe - lastCheck UTCTime Maybe - UniqJobName kind - deriving Show -Income - userId UserId - date Day - amount Int - createdAt UTCTime - editedAt UTCTime Maybe - deletedAt UTCTime Maybe - deriving Show -|] - -instance Resource Payment where - createdAt = paymentCreatedAt - editedAt = paymentEditedAt - deletedAt = paymentDeletedAt - -instance Resource Income where - createdAt = incomeCreatedAt - editedAt = incomeEditedAt - deletedAt = incomeDeletedAt - -type Persist a = SqlPersistT (ResourceT (NoLoggingT IO)) a - -runDb :: Persist a -> IO a -runDb = runNoLoggingT . runResourceT . withSqliteConn "database" . runSqlConn - -runMigrations :: IO () -runMigrations = runDb $ runMigration migrateAll - -textToKey :: (ToBackendKey SqlBackend a) => Text -> Key a -textToKey text = toSqlKey (read (unpack text) :: Int64) - -keyToInt64 :: (ToBackendKey SqlBackend a) => Key a -> Int64 -keyToInt64 = fromSqlKey -- cgit v1.2.3