Correct order Id handling

This commit is contained in:
Rene Vergara 2023-10-20 14:52:09 -05:00
parent 0c77163f31
commit 50925970fc
Signed by: pitmutt
GPG Key ID: 65122AD495A7F5B2
1 changed files with 20 additions and 2 deletions

View File

@ -12,6 +12,7 @@ import Data.Time.Clock
import Database.MongoDB
import GHC.Generics
import Test.QuickCheck
import WooCommerce (WooToken(w_id))
-- | Type to represent a ZGo order
data ZGoOrder = ZGoOrder
@ -72,7 +73,7 @@ instance ToJSON ZGoOrder where
instance FromJSON ZGoOrder where
parseJSON =
withObject "Order" $ \obj -> do
i <- obj .:? "_id"
i <- obj .: "_id"
a <- obj .: "address"
s <- obj .: "session"
ts <- obj .: "timestamp"
@ -86,7 +87,24 @@ instance FromJSON ZGoOrder where
eI <- obj .: "externalInvoice"
sC <- obj .: "shortCode"
tk <- obj .: "token"
pure $ ZGoOrder (read =<< i) a s ts c cur p t tZ l pd eI sC tk
pure $
ZGoOrder
(if not (null i)
then Just (read i :: ObjectId)
else Nothing)
a
s
ts
c
cur
p
t
tZ
l
pd
eI
sC
tk
instance Val ZGoOrder where
val (ZGoOrder i a s ts c cur p t tZ l pd eI sC tk) =