module Test.Tutorial.DataModel where import Protolude data Company = Company { companyName :: Text , departments :: [Department] } deriving (Eq, Show) data Department = Department { departmentName :: Text , employees :: [Employee] } deriving (Eq, Show) data Employee = Employee { employeeName :: Text , employeeStatus :: EmployeeStatus , salary :: Int , bonus :: Maybe Int } deriving (Eq, Show) data EmployeeStatus = Permanent | Temporary Int -- number of days deriving (Eq, Show)