module Handler.Utils.Schedule.Types
  ( module Handler.Utils.Schedule.Types
  ) where

import Import

import Handler.Utils.Schedule.Types.ScheduleEntry        as Handler.Utils.Schedule.Types
import Handler.Utils.Schedule.Types.ScheduleOptions      as Handler.Utils.Schedule.Types


-- TODO: replace Info types with one joined type and fetch info in one single runDB
type ScheduleCourseEventInfo          = (Entity Course, Entity CourseEvent)
type ScheduleTutorialInfo             = (Entity Course, Entity Tutorial)
type ScheduleExamOccurrenceInfo       = (Entity Course, Entity Exam, Entity ExamOccurrence)
type ScheduleExamOccurrenceJoinedInfo = (Entity Course, Entity Exam, NonEmpty (Entity ExamOccurrence))
