aboutsummaryrefslogtreecommitdiff
path: root/src/server/Model/Database.hs
diff options
context:
space:
mode:
authorJoris2017-06-05 18:02:13 +0200
committerJoris2017-06-05 18:02:13 +0200
commit0b191f5c48edffc9da3e38c284e9640fd82e7cb1 (patch)
treec729e53822e7c41c1a854d82d25636e58ee65c9f /src/server/Model/Database.hs
parent5c110716cfda6e616a795edd12f2012b132dca9f (diff)
downloadbudget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.tar.gz
budget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.tar.bz2
budget-0b191f5c48edffc9da3e38c284e9640fd82e7cb1.zip
Replace persistent by sqlite-simple
Diffstat (limited to 'src/server/Model/Database.hs')
-rw-r--r--src/server/Model/Database.hs108
1 files changed, 0 insertions, 108 deletions
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