Skip to content

Commit

Permalink
Chapter 11
Browse files Browse the repository at this point in the history
Random snippets

Skipping chapters 12-13 as it's mostly also random snippets and unclear
if they're used in the repo.
  • Loading branch information
ivnsch committed Dec 1, 2019
1 parent 31bea3f commit 41d3f59
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 2 deletions.
16 changes: 15 additions & 1 deletion src/Lib.hs
@@ -1,8 +1,22 @@
{-# LANGUAGE OverloadedStrings #-}

module Lib (someFunc) where

import OrderQuantity
import OrderTakingDomain
import qualified KilogramQuantity
import Data.Aeson

import UnvalidatedOrderLine

someFunc :: IO ()
someFunc = print $ KilogramQuantity.create 2.4
someFunc =
let
str = "{\"orderLineId\" : \"1\", \"orderId\" : \"2\", \"productCode\" : \"3\",\"quantity\": 1}"
uol = eitherDecode str :: Either String UnvalidatedOrderLine
newstr = encode <$> uol
in
print newstr
-- someFunc = print $ KilogramQuantity.create 2.4


8 changes: 8 additions & 0 deletions src/OrderDto.hs
@@ -0,0 +1,8 @@
module OrderDto where

import OrderLineDto

data OrderDto = OrderDto {
orderId :: String,
orderLines :: [OrderLineDto]
} deriving (Eq, Show)
8 changes: 8 additions & 0 deletions src/OrderLineDto.hs
@@ -0,0 +1,8 @@
module OrderLineDto where

data OrderLineDto = OrderLineDto {
orderLineId :: Int,
productCode :: String,
quantity :: Maybe Int,
description :: String
} deriving (Eq, Show)
9 changes: 8 additions & 1 deletion src/UnvalidatedOrderLine.hs
@@ -1,12 +1,19 @@
{-# LANGUAGE DeriveGeneric #-}

module UnvalidatedOrderLine where

import SharedTypes
import qualified OrderId
import qualified CustomerInfo
import Data.Aeson
import GHC.Generics

data UnvalidatedOrderLine = UnvalidatedOrderLine {
orderLineId :: String,
orderId :: String,
productCode :: String,
quantity :: Double
}
} deriving (Show, Generic)

instance FromJSON UnvalidatedOrderLine
instance ToJSON UnvalidatedOrderLine

0 comments on commit 41d3f59

Please sign in to comment.