{- This modules describes input data for the command line utlity. -} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} module Main.Input ( Input(..) ) where import GHC.Generics (Generic) import Data.Aeson (FromJSON) import Malodivo.Types.Bill (Bill) import Malodivo.Types.District (DistrictInfo) import Malodivo.Types.Ministry (MinistryInfo) data Input = Input { bills :: [Bill] -- ^ bills requiring funding. , districts :: [DistrictInfo] -- ^ funds districts can provide. , ministries :: Maybe [MinistryInfo] -- ^ maximum funds ministries can get. } deriving (Generic, FromJSON)