Skip to content

Commit 4418b33

Browse files
committed
some money-related instances
1 parent 44e106f commit 4418b33

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

pub/functora/src/money/Functora/MoneySing.hs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,50 @@
33
module Functora.MoneySing where
44

55
import Data.Type.Equality
6+
import Functora.Cfg
7+
import Functora.Prelude
68
import Functora.Tags
79
import qualified Language.Haskell.TH.Syntax as TH
8-
import Prelude
910

1011
data CurrencyKind = Crypto | Stable | Fiat
1112
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
13+
deriving (HasCodec, HasItemCodec) via GenericEnum CurrencyKind
1214

1315
data BuyOrSell = Buy | Sell
1416
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
17+
deriving (HasCodec, HasItemCodec) via GenericEnum BuyOrSell
1518

1619
data NetOrGross = Net | Gross
1720
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
21+
deriving (HasCodec, HasItemCodec) via GenericEnum NetOrGross
1822

1923
data GainOrLose = Gain | Lose
2024
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
25+
deriving (HasCodec, HasItemCodec) via GenericEnum GainOrLose
2126

2227
data BaseOrQuote = Base | Quote
2328
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
29+
deriving (HasCodec, HasItemCodec) via GenericEnum BaseOrQuote
2430

2531
data MakerOrTaker = Maker | Taker
2632
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
33+
deriving (HasCodec, HasItemCodec) via GenericEnum MakerOrTaker
2734

2835
data LocalOrRemote = Local | Remote
2936
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
37+
deriving (HasCodec, HasItemCodec) via GenericEnum LocalOrRemote
3038

3139
data MinOrMax = Min | Max
3240
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
41+
deriving (HasCodec, HasItemCodec) via GenericEnum MinOrMax
3342

3443
data Revenue = Revenue
3544
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
45+
deriving (HasCodec, HasItemCodec) via GenericEnum Revenue
3646

3747
data SignedOrUnsigned = Signed | Unsigned
3848
deriving stock (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic, TH.Lift)
49+
deriving (HasCodec, HasItemCodec) via GenericEnum SignedOrUnsigned
3950

4051
type instance Fgpt CurrencyKind = "Functora.MoneySing.CurrencyKind"
4152

pub/functora/src/sql/Functora/SqlOrphan.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ instance (PersistFieldSql rep) => PersistFieldSql (NonEmpty rep) where
9191

9292
derivePersistField "BuyOrSell"
9393

94+
derivePersistField "BaseOrQuote"
95+
9496
deriving newtype instance PersistField MoneyAmount
9597

9698
deriving newtype instance PersistFieldSql MoneyAmount

0 commit comments

Comments
 (0)