User ident Text password Text Maybe UniqueUser ident name Text Maybe isAdmin Bool default=False localId Text Maybe isAnonymous Bool default=False avatar ByteString Maybe verificationKey Text Maybe keyExpirationDate UTCTime Maybe triggerToken Text Maybe altRepoScheme Text Maybe deriving Typeable PublicKey user UserId pubkey Text Email email Text user UserId Maybe verkey Text Maybe UniqueEmail email Repo url Text branch Text currentCommit SHA1 owner UserId ready Bool default=False stamp UTCTime default=now() gitAnnexRemote Text Maybe UniqueUrlBranch url branch deriving Show Challenge publicRepo RepoId privateRepo RepoId name Text UniqueName name title Text description Text stamp UTCTime default=now() image ByteString Maybe starred Bool archived Bool Maybe version SHA1 sensitive Bool Maybe -- challenge version Version -- introduced later, hence Maybe -- to be replaced with non-Maybe value later challenge ChallengeId Maybe commit SHA1 -- Optional challenge deadline. After the deadline -- no submission will be accepted, though a new -- challenge version might be uploaded and then -- new submissions could be sent. This could be used -- for organizing a "post-track" after the competition -- has ended. Note, however, that, when sorting submissions, -- the ones uploaded under the version with a deadline (i.e. within -- the main track) will be preferred against the ones -- uploaded under the version without a deadline (no matter what -- is the major version). deadline UTCTime Maybe major Int minor Int patch Int UniqueVersionByCommit commit UniqueVersion commit major minor patch description Text stamp UTCTime default=now() Test challenge ChallengeId metric EvaluationScheme name Text checksum SHA1 commit SHA1 active Bool default=True precision Int Maybe priority Int Maybe UniqueChallengeNameMetricChecksum challenge name metric checksum Submission repo RepoId commit SHA1 challenge ChallengeId description Text stamp UTCTime default=now() submitter UserId isPublic Bool default=False isHidden Bool default=False -- challenge version present when the submission was done version SHA1 UniqueSubmissionRepoCommitChallenge repo commit challenge Variant submission SubmissionId name Text UniqueVariantSubmissionName submission name Parameter variant VariantId name Text value Text UniqueParameterName variant name ExternalLink submission SubmissionId title Text Maybe url Text -- this represents forks, i.e. when a submission for a given challenge -- was based (in terms of git history) on another submission for the same challenge -- NOTE: not implemented yet Fork source SubmissionId target SubmissionId UniqueSourceTarget source target -- for representing dependencies across challenges; -- e.g. when a model generated in a submission is used -- by another submission in another challenge; -- dependencies are expressed as a relation between -- commit hashes rather than submissions/repos -- (can be easily linked to submission via SubmissionCommit link) Dependency subRepoCommit SHA1 superRepoCommit SHA1 UniqueSubSuperSubmission subRepoCommit superRepoCommit Evaluation test TestId checksum SHA1 score Double Maybe errorBound Double Maybe errorMessage Text Maybe stamp UTCTime default=now() -- Should be just SHA1 (without Maybe) - Maybe is just a legacy version SHA1 Maybe deriving Show Comment challenge ChallengeId author UserId posted UTCTime default=now() text Textarea Out variant VariantId test TestId checksum SHA1 UniqueOutVariantTestChecksum variant test checksum Tag name Text description Text Maybe UniqueTagName name SubmissionTag submission SubmissionId tag TagId accepted Bool Maybe UniqueSubmissionTag submission tag -- for machine learning courses Achievement name Text challenge ChallengeId points Int description Text Maybe deadline UTCTime maxWinners Int Maybe course CourseId UniqueAchievementName name AchievementTag achievement AchievementId tag TagId UniqueAchievementTag achievement tag WorkingOn achievement AchievementId user UserId finalSubmission SubmissionId Maybe UniqueWorkingOnAchievementUser achievement user Course name Text code Text closed Bool UniqueCourseName name UniqueCourseCode code ExtraPoints points Int description Text user UserId course CourseId posted UTCTime default=now() addedBy UserId Participant user UserId course CourseId UniqueUserCourse user course Teacher user UserId course CourseId UniqueTeacherCourse user course -- for "KPI" dashboard Indicator test TestId filterCondition Text Maybe targetCondition Text Maybe Target indicator IndicatorId deadline UTCTime value Double name Text Maybe -- By default this file is used in Model.hs (which is imported by Foundation.hs)