User ident Text password Text Maybe UniqueUser ident deriving Typeable Email email Text userId UserId Maybe verkey Text Maybe UniqueEmail email Comment json -- Adding "json" causes ToJSON and FromJSON instances to be derived. message Text userId UserId Maybe deriving Eq deriving Show -- -- above from Template, needs editing -- Term json name Text start UTCTime end UTCTime UniqueTerm name deriving Eq School json name Text UniqueSchool name deriving Eq Course json name Text owner UserId schoolId SchoolId termId TermId Maybe capacity Int Maybe created UTCTime changed UTCTime registerFrom UTCTime registerTo UTCTime Lecturer userId UserId courseId CourseId UniqueLecturer userId courseId CourseParticipant userId UserId courseId CourseId registration UTCTime UniqueCourseParticipant userId courseId Sheet courseId CourseId name Text sheetType SheetType maxPoints Double Maybe requiredPoints Double Maybe exerciseId FileId Maybe hintId FileId Maybe solutionId FileId Maybe markingId FIleID Maybe markingText Text activeFrom UTCTime activeTo UTCTime hintFrom UTCTime Maybe solutionFrom UTCTime Maybe created UTCTime changed UTCTime createdBy UserId changedBy UserId File name Text content ByteStream Submission sheetId SheetId fileId FileId updateId FileId Maybe ratingBy UserId Maybe ratingPoints Double Maybe ratingComment Text Maybe rated UTCTime Maybe created UTCTime changed UTCTime createdBy UserId changedBy UserId SubmissionUser userId UserId submissionId SubmissionId UniqueSubmissionUser userId submissionId SubmissionGroup courseId CourseId name Text created UTCTime changed UTCTime createdBy UserId changedBy UserId SubmissionGroupUser solutionGroupId SolutionGroupId userId UserId UniqueSubmissionGroupUser solutionGroupId userId -- Tutorial json name Text tutor UserId TutorialParticipant userId UserId tutorialId TutorialId UniqueTutorialParticipant userId tutorialId -- Unclear how to model this correctly Room name Text capacity Int Maybe building Text RoomCourse roomId RoomId courseId CourseId -- not unique, as a course might happen several times RoomTutorial roomId RoomId tutorialId TutorialId RoomExam roomId RoomId examId ExamId RoomBookingRecurring roomId RoomId termId termId start TimeOfDay end TimeOfDay day Weekday created UTCTime changed UTCTime RoomBooking roomId RoomId begin UTCTime end UTCTime created UTCTime changed UTCTime -- By default this file is used in Model.hs (which is imported by Foundation.hs)