api: cleanups, simplify ToJSON instances
This commit is contained in:
parent
9a49b813c1
commit
3d0d55ecf8
@ -166,19 +166,59 @@ hledgerApiApp staticdir j = Servant.serve api server
|
|||||||
thisacctq = Acct $ accountNameToAccountRegex a -- includes subs
|
thisacctq = Acct $ accountNameToAccountRegex a -- includes subs
|
||||||
return $ accountTransactionsReport ropts j q thisacctq
|
return $ accountTransactionsReport ropts j q thisacctq
|
||||||
|
|
||||||
instance ToJSON Status where toJSON = genericToJSON defaultOptions -- avoiding https://github.com/bos/aeson/issues/290
|
-- avoiding https://github.com/bos/aeson/issues/290 - no longer needed ?
|
||||||
instance ToJSON GenericSourcePos where toJSON = genericToJSON defaultOptions
|
--instance ToJSON Status where toJSON = genericToJSON defaultOptions -- avoiding https://github.com/bos/aeson/issues/290
|
||||||
instance ToJSON Decimal where
|
--instance ToJSON GenericSourcePos where toJSON = genericToJSON defaultOptions
|
||||||
toJSON = toJSON . show
|
--instance ToJSON Decimal where toJSON = toJSON . show
|
||||||
instance ToJSON Amount where toJSON = genericToJSON defaultOptions
|
--instance ToJSON Amount where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON AmountStyle where toJSON = genericToJSON defaultOptions
|
--instance ToJSON AmountStyle where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON Side where toJSON = genericToJSON defaultOptions
|
--instance ToJSON Side where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON DigitGroupStyle where toJSON = genericToJSON defaultOptions
|
--instance ToJSON DigitGroupStyle where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON MixedAmount where toJSON = genericToJSON defaultOptions
|
--instance ToJSON MixedAmount where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON BalanceAssertion where toJSON = genericToJSON defaultOptions
|
--instance ToJSON BalanceAssertion where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON Price where toJSON = genericToJSON defaultOptions
|
--instance ToJSON Price where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON MarketPrice where toJSON = genericToJSON defaultOptions
|
--instance ToJSON MarketPrice where toJSON = genericToJSON defaultOptions
|
||||||
instance ToJSON PostingType where toJSON = genericToJSON defaultOptions
|
--instance ToJSON PostingType where toJSON = genericToJSON defaultOptions
|
||||||
|
--instance ToJSON Posting where
|
||||||
|
-- toJSON Posting{..} =
|
||||||
|
-- object
|
||||||
|
-- ["pdate" .= toJSON pdate
|
||||||
|
-- ,"pdate2" .= toJSON pdate2
|
||||||
|
-- ,"pstatus" .= toJSON pstatus
|
||||||
|
-- ,"paccount" .= toJSON paccount
|
||||||
|
-- ,"pamount" .= toJSON pamount
|
||||||
|
-- ,"pcomment" .= toJSON pcomment
|
||||||
|
-- ,"ptype" .= toJSON ptype
|
||||||
|
-- ,"ptags" .= toJSON ptags
|
||||||
|
-- ,"pbalanceassertion" .= toJSON pbalanceassertion
|
||||||
|
-- ,"ptransactionidx" .= toJSON (maybe "" (show.tindex) ptransaction)
|
||||||
|
-- ]
|
||||||
|
--instance ToJSON Transaction where toJSON = genericToJSON defaultOptions
|
||||||
|
--instance ToJSON Account where
|
||||||
|
-- toJSON a =
|
||||||
|
-- object
|
||||||
|
-- ["aname" .= toJSON (aname a)
|
||||||
|
-- ,"aebalance" .= toJSON (aebalance a)
|
||||||
|
-- ,"aibalance" .= toJSON (aibalance a)
|
||||||
|
-- ,"anumpostings" .= toJSON (anumpostings a)
|
||||||
|
-- ,"aboring" .= toJSON (aboring a)
|
||||||
|
-- ,"aparentname" .= toJSON (maybe "" aname $ aparent a)
|
||||||
|
-- ,"asubs" .= toJSON (map toJSON $ asubs a)
|
||||||
|
-- ]
|
||||||
|
|
||||||
|
-- Convert things to JSON for serving to clients
|
||||||
|
instance ToJSON Status
|
||||||
|
instance ToJSON GenericSourcePos
|
||||||
|
instance ToJSON Decimal where toJSON = toJSON . show
|
||||||
|
instance ToJSON Amount
|
||||||
|
instance ToJSON AmountStyle
|
||||||
|
instance ToJSON Side
|
||||||
|
instance ToJSON DigitGroupStyle
|
||||||
|
instance ToJSON MixedAmount
|
||||||
|
instance ToJSON BalanceAssertion
|
||||||
|
instance ToJSON Price
|
||||||
|
instance ToJSON MarketPrice
|
||||||
|
instance ToJSON PostingType
|
||||||
instance ToJSON Posting where
|
instance ToJSON Posting where
|
||||||
toJSON Posting{..} =
|
toJSON Posting{..} =
|
||||||
object
|
object
|
||||||
@ -193,7 +233,7 @@ instance ToJSON Posting where
|
|||||||
,"pbalanceassertion" .= toJSON pbalanceassertion
|
,"pbalanceassertion" .= toJSON pbalanceassertion
|
||||||
,"ptransactionidx" .= toJSON (maybe "" (show.tindex) ptransaction)
|
,"ptransactionidx" .= toJSON (maybe "" (show.tindex) ptransaction)
|
||||||
]
|
]
|
||||||
instance ToJSON Transaction where toJSON = genericToJSON defaultOptions
|
instance ToJSON Transaction
|
||||||
instance ToJSON Account where
|
instance ToJSON Account where
|
||||||
toJSON a =
|
toJSON a =
|
||||||
object
|
object
|
||||||
@ -205,6 +245,8 @@ instance ToJSON Account where
|
|||||||
,"aparentname" .= toJSON (maybe "" aname $ aparent a)
|
,"aparentname" .= toJSON (maybe "" aname $ aparent a)
|
||||||
,"asubs" .= toJSON (map toJSON $ asubs a)
|
,"asubs" .= toJSON (map toJSON $ asubs a)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
-- convert things to Schema for swagger API description
|
||||||
instance ToSchema Status
|
instance ToSchema Status
|
||||||
instance ToSchema GenericSourcePos
|
instance ToSchema GenericSourcePos
|
||||||
instance ToSchema Decimal
|
instance ToSchema Decimal
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user