Submission -- submission for marking by a CourseParticipant sheet SheetId ratingPoints Points Maybe -- "Just" does not mean done; not yet visible to participant ratingComment Text Maybe -- "Just" does not mean done; not yet visible to participant ratingBy UserId Maybe -- assigned corrector ratingAssigned UTCTime Maybe -- time when corrector was assigned ratingTime UTCTime Maybe -- "Just" here indicates done; marking is made visible to participant deriving Show Generic SubmissionEdit -- user uploads new version of their submission user UserId Maybe -- track id, important for group submissions time UTCTime submission SubmissionId SubmissionFile -- files that are part of a submission submission SubmissionId title FilePath content FileContentReference Maybe modified UTCTime isUpdate Bool -- is this the file updated by a corrector (original will always be retained) isDeletion Bool -- only set if isUpdate is also set, but file was deleted by corrector UniqueSubmissionFile submission title isUpdate deriving Show SubmissionUser -- which submission belongs to whom user UserId submission SubmissionId UniqueSubmissionUser user submission -- multiple users may share same submission, in case of (ad-hoc) submission groups SubmissionGroup -- pre-defined submission groups; some courses only allow pre-defined submission groups course CourseId name SubmissionGroupName UniqueSubmissionGroup course name SubmissionGroupUser -- Registered submission groups, just for checking upon submission, but independent of actual SubmissionUser submissionGroup SubmissionGroupId user UserId UniqueSubmissionGroupUser submissionGroup user