btc-lsp-0.1.0.0: src/BtcLsp/Storage/Model.hs
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoStrictData #-}
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
{-# OPTIONS_GHC -Wno-name-shadowing #-}
module BtcLsp.Storage.Model where
import BtcLsp.Class.Storage
import BtcLsp.Data.Kind
import BtcLsp.Data.Smart
import BtcLsp.Data.Type
import BtcLsp.Import.External
import qualified BtcLsp.Import.Psql as Psql
import Database.Persist.Quasi
import Database.Persist.TH
import qualified LndClient.Data.ChannelBackup as Lnd
-- You can define all of your database entities in the entities file.
-- You can find more information on persistent and how to declare entities
-- at:
-- http://www.yesodweb.com/book/persistent/
share
[mkPersist sqlSettings, mkMigrate "migrateAuto"]
$(persistFileWith lowerCaseSettings "config/model")
instance HasTable User where
getTable = const UserTable
instance HasTable LnChan where
getTable = const LnChanTable
instance HasTable SwapIntoLn where
getTable = const SwapIntoLnTable
instance HasTable Block where
getTable = const BlockTable
deriving stock instance Generic (Psql.Key User)
instance Out (Psql.Key User)
instance Out User
deriving stock instance Generic (Psql.Key SwapIntoLn)
instance Out (Psql.Key SwapIntoLn)
instance Out SwapIntoLn
deriving stock instance Generic (Psql.Key LnChan)
instance Out (Psql.Key LnChan)
instance Out LnChan
deriving stock instance Generic (Psql.Key Block)
instance Out (Psql.Key Block)
instance Out Block
deriving stock instance Generic (Psql.Key SwapUtxo)
instance Out (Psql.Key SwapUtxo)
instance Out SwapUtxo