module WeekDaze.LocationView.Lesson(
Lesson,
fromStudentView,
toStudentView
) where
import qualified WeekDaze.Aggregate.StudentClass as Aggregate.StudentClass
import qualified WeekDaze.LocationView.LessonResourceIds as LocationView.LessonResourceIds
import qualified WeekDaze.Model.Lesson as Model.Lesson
import qualified WeekDaze.StudentView.Lesson as StudentView.Lesson
type Lesson teacherId level = Model.Lesson.Lesson (LocationView.LessonResourceIds.LessonResourceIds teacherId) level
fromStudentView :: Show teacherId => Aggregate.StudentClass.StudentClass -> StudentView.Lesson.Lesson locationId teacherId level -> Lesson teacherId level
fromStudentView studentClass studentViewLesson = studentViewLesson {
Model.Lesson.getResourceIds = LocationView.LessonResourceIds.fromStudentView studentClass $ Model.Lesson.getResourceIds studentViewLesson
}
toStudentView :: locationId -> Lesson teacherId level -> StudentView.Lesson.Lesson locationId teacherId level
toStudentView locationId lesson = lesson {
Model.Lesson.getResourceIds = LocationView.LessonResourceIds.toStudentView locationId $ Model.Lesson.getResourceIds lesson
}