{-# LANGUAGE DeriveGeneric #-}
module Buffet.Document.TemplateBuffet
( get
) where
import qualified Buffet.Document.TemplateDishes as TemplateDishes
import qualified Buffet.Document.TemplateTagGroups as TemplateTagGroups
import qualified Buffet.Ir.Ir as Ir
import qualified Buffet.Toolbox.TextTools as TextTools
import qualified Data.Aeson as Aeson
import qualified Data.Map.Strict as Map
import qualified GHC.Generics as Generics
import Prelude (Eq, Ord, Show)
data Buffet =
Buffet
{ dishes :: [TemplateDishes.Dish]
, tagGroups :: Map.Map Ir.TagKey [TemplateTagGroups.TagGroup]
}
deriving (Eq, Generics.Generic, Ord, Show)
instance Aeson.ToJSON Buffet where
toJSON = Aeson.genericToJSON TextTools.defaultJsonOptions
get :: Ir.Buffet -> Buffet
get buffet =
Buffet
{ dishes = TemplateDishes.get buffet
, tagGroups = TemplateTagGroups.get buffet
}