{-|
Module: Model.Types.Course
Description: Types for modeling Courses

Also see `Model.Types.Sheet`
-}
module Model.Types.Course
  ( module Model.Types.Course
  ) where

import Import.NoModel


data LecturerType = CourseLecturer | CourseAssistant
  deriving (Eq, Ord, Read, Show, Enum, Bounded, Generic, Typeable)

instance Universe LecturerType
instance Finite LecturerType

nullaryPathPiece ''LecturerType $ camelToPathPiece' 1
deriveJSON  defaultOptions
  { constructorTagModifier = camelToPathPiece' 1
  } ''LecturerType
derivePersistFieldJSON ''LecturerType

instance Hashable LecturerType
