2015-08-20 22:33:38 +02:00
|
|
|
User
|
|
|
|
ident Text
|
|
|
|
password Text Maybe
|
|
|
|
UniqueUser ident
|
2015-09-30 20:15:33 +02:00
|
|
|
name Text Maybe
|
2016-02-14 08:44:16 +01:00
|
|
|
isAdmin Bool default=False
|
2015-11-10 21:35:42 +01:00
|
|
|
localId Text Maybe
|
2016-02-14 08:59:12 +01:00
|
|
|
isAnonymous Bool default=False
|
2016-05-03 10:21:40 +02:00
|
|
|
avatar ByteString Maybe
|
2017-02-18 10:26:02 +01:00
|
|
|
verificationKey Text Maybe
|
|
|
|
keyExpirationDate UTCTime Maybe
|
2017-09-28 11:29:48 +02:00
|
|
|
triggerToken Text Maybe
|
2020-02-21 23:16:06 +01:00
|
|
|
altRepoScheme Text Maybe
|
2015-08-20 22:33:38 +02:00
|
|
|
deriving Typeable
|
2015-11-11 22:37:25 +01:00
|
|
|
PublicKey
|
|
|
|
user UserId
|
|
|
|
pubkey Text
|
2015-08-20 22:33:38 +02:00
|
|
|
Email
|
|
|
|
email Text
|
|
|
|
user UserId Maybe
|
|
|
|
verkey Text Maybe
|
|
|
|
UniqueEmail email
|
2015-08-29 13:13:16 +02:00
|
|
|
Repo
|
|
|
|
url Text
|
|
|
|
branch Text
|
|
|
|
currentCommit SHA1
|
|
|
|
owner UserId
|
|
|
|
ready Bool default=False
|
|
|
|
stamp UTCTime default=now()
|
2018-06-05 07:46:42 +02:00
|
|
|
gitAnnexRemote Text Maybe
|
2015-08-29 13:13:16 +02:00
|
|
|
UniqueUrlBranch url branch
|
|
|
|
deriving Show
|
|
|
|
Challenge
|
|
|
|
publicRepo RepoId
|
|
|
|
privateRepo RepoId
|
|
|
|
name Text
|
|
|
|
UniqueName name
|
|
|
|
title Text
|
|
|
|
description Text
|
|
|
|
stamp UTCTime default=now()
|
2018-01-18 08:21:06 +01:00
|
|
|
image ByteString Maybe
|
2018-01-25 16:43:50 +01:00
|
|
|
starred Bool
|
2019-03-20 16:31:08 +01:00
|
|
|
archived Bool Maybe
|
2019-08-27 23:39:24 +02:00
|
|
|
version SHA1
|
2019-12-14 18:21:47 +01:00
|
|
|
sensitive Bool Maybe
|
2019-08-27 22:36:51 +02:00
|
|
|
-- challenge version
|
|
|
|
Version
|
2019-09-24 22:52:25 +02:00
|
|
|
-- introduced later, hence Maybe
|
|
|
|
-- to be replaced with non-Maybe value later
|
|
|
|
challenge ChallengeId Maybe
|
2019-08-27 22:36:51 +02:00
|
|
|
commit SHA1
|
2019-09-24 22:52:25 +02:00
|
|
|
-- 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
|
2019-08-27 22:36:51 +02:00
|
|
|
major Int
|
|
|
|
minor Int
|
|
|
|
patch Int
|
2019-08-29 08:56:22 +02:00
|
|
|
UniqueVersionByCommit commit
|
2019-08-27 22:36:51 +02:00
|
|
|
UniqueVersion commit major minor patch
|
|
|
|
description Text
|
|
|
|
stamp UTCTime default=now()
|
2015-08-29 13:13:16 +02:00
|
|
|
Test
|
|
|
|
challenge ChallengeId
|
2019-08-12 18:19:02 +02:00
|
|
|
metric EvaluationScheme
|
2015-09-28 18:10:59 +02:00
|
|
|
name Text
|
2015-08-29 13:13:16 +02:00
|
|
|
checksum SHA1
|
|
|
|
commit SHA1
|
|
|
|
active Bool default=True
|
2016-02-17 09:34:34 +01:00
|
|
|
precision Int Maybe
|
2018-06-08 15:00:40 +02:00
|
|
|
priority Int Maybe
|
|
|
|
UniqueChallengeNameMetricChecksum challenge name metric checksum
|
2020-08-14 08:47:37 +02:00
|
|
|
deriving Show
|
2015-09-28 23:43:55 +02:00
|
|
|
Submission
|
|
|
|
repo RepoId
|
|
|
|
commit SHA1
|
|
|
|
challenge ChallengeId
|
|
|
|
description Text
|
|
|
|
stamp UTCTime default=now()
|
2015-09-30 20:32:06 +02:00
|
|
|
submitter UserId
|
2016-02-14 08:59:12 +01:00
|
|
|
isPublic Bool default=False
|
2018-11-17 09:49:25 +01:00
|
|
|
isHidden Bool default=False
|
2019-08-27 22:36:51 +02:00
|
|
|
-- challenge version present when the submission was done
|
2019-08-27 23:39:24 +02:00
|
|
|
version SHA1
|
2015-09-28 23:43:55 +02:00
|
|
|
UniqueSubmissionRepoCommitChallenge repo commit challenge
|
2018-07-04 16:22:10 +02:00
|
|
|
Variant
|
|
|
|
submission SubmissionId
|
|
|
|
name Text
|
|
|
|
UniqueVariantSubmissionName submission name
|
2018-07-05 22:21:26 +02:00
|
|
|
Parameter
|
|
|
|
variant VariantId
|
|
|
|
name Text
|
|
|
|
value Text
|
|
|
|
UniqueParameterName variant name
|
2018-11-12 20:41:46 +01:00
|
|
|
ExternalLink
|
|
|
|
submission SubmissionId
|
|
|
|
title Text Maybe
|
|
|
|
url Text
|
2018-11-16 12:43:44 +01:00
|
|
|
-- 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
|
2016-02-12 23:21:26 +01:00
|
|
|
Fork
|
|
|
|
source SubmissionId
|
|
|
|
target SubmissionId
|
|
|
|
UniqueSourceTarget source target
|
2018-11-16 12:43:44 +01:00
|
|
|
-- 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
|
2015-09-28 23:43:55 +02:00
|
|
|
Evaluation
|
|
|
|
test TestId
|
|
|
|
checksum SHA1
|
|
|
|
score Double Maybe
|
2020-01-28 23:14:46 +01:00
|
|
|
errorBound Double Maybe
|
2015-09-28 23:43:55 +02:00
|
|
|
errorMessage Text Maybe
|
|
|
|
stamp UTCTime default=now()
|
2019-12-14 14:10:50 +01:00
|
|
|
-- Should be just SHA1 (without Maybe) - Maybe is just a legacy
|
|
|
|
version SHA1 Maybe
|
2020-03-04 08:35:59 +01:00
|
|
|
deriving Show
|
2016-05-03 08:46:10 +02:00
|
|
|
Comment
|
|
|
|
challenge ChallengeId
|
|
|
|
author UserId
|
|
|
|
posted UTCTime default=now()
|
|
|
|
text Textarea
|
2015-09-28 23:43:55 +02:00
|
|
|
Out
|
2018-07-05 22:15:21 +02:00
|
|
|
variant VariantId
|
2015-09-28 23:43:55 +02:00
|
|
|
test TestId
|
|
|
|
checksum SHA1
|
2018-07-05 22:15:21 +02:00
|
|
|
UniqueOutVariantTestChecksum variant test checksum
|
2017-02-19 14:05:56 +01:00
|
|
|
Tag
|
|
|
|
name Text
|
|
|
|
description Text Maybe
|
|
|
|
UniqueTagName name
|
2017-02-25 19:13:55 +01:00
|
|
|
SubmissionTag
|
|
|
|
submission SubmissionId
|
|
|
|
tag TagId
|
|
|
|
accepted Bool Maybe
|
|
|
|
UniqueSubmissionTag submission tag
|
2018-09-14 15:44:20 +02:00
|
|
|
-- for machine learning courses
|
2017-02-26 21:40:38 +01:00
|
|
|
Achievement
|
|
|
|
name Text
|
|
|
|
challenge ChallengeId
|
2017-02-26 22:01:27 +01:00
|
|
|
points Int
|
2017-02-26 21:40:38 +01:00
|
|
|
description Text Maybe
|
|
|
|
deadline UTCTime
|
|
|
|
maxWinners Int Maybe
|
2017-10-03 07:23:52 +02:00
|
|
|
course CourseId
|
2017-02-26 21:40:38 +01:00
|
|
|
UniqueAchievementName name
|
|
|
|
AchievementTag
|
|
|
|
achievement AchievementId
|
|
|
|
tag TagId
|
|
|
|
UniqueAchievementTag achievement tag
|
2017-03-13 12:00:38 +01:00
|
|
|
WorkingOn
|
|
|
|
achievement AchievementId
|
|
|
|
user UserId
|
2017-03-18 21:33:41 +01:00
|
|
|
finalSubmission SubmissionId Maybe
|
2017-03-13 12:00:38 +01:00
|
|
|
UniqueWorkingOnAchievementUser achievement user
|
2017-09-29 14:50:09 +02:00
|
|
|
Course
|
|
|
|
name Text
|
2017-10-03 22:16:00 +02:00
|
|
|
code Text
|
|
|
|
closed Bool
|
2017-09-29 14:50:09 +02:00
|
|
|
UniqueCourseName name
|
2017-10-03 22:16:00 +02:00
|
|
|
UniqueCourseCode code
|
2018-01-02 18:55:35 +01:00
|
|
|
ExtraPoints
|
|
|
|
points Int
|
|
|
|
description Text
|
|
|
|
user UserId
|
|
|
|
course CourseId
|
|
|
|
posted UTCTime default=now()
|
|
|
|
addedBy UserId
|
2017-10-20 09:49:37 +02:00
|
|
|
Participant
|
|
|
|
user UserId
|
|
|
|
course CourseId
|
|
|
|
UniqueUserCourse user course
|
2019-06-15 12:21:41 +02:00
|
|
|
Teacher
|
|
|
|
user UserId
|
|
|
|
course CourseId
|
|
|
|
UniqueTeacherCourse user course
|
2018-09-14 15:44:20 +02:00
|
|
|
-- for "KPI" dashboard
|
|
|
|
Indicator
|
|
|
|
test TestId
|
|
|
|
filterCondition Text Maybe
|
|
|
|
targetCondition Text Maybe
|
|
|
|
Target
|
|
|
|
indicator IndicatorId
|
|
|
|
deadline UTCTime
|
|
|
|
value Double
|
2019-02-22 09:53:00 +01:00
|
|
|
name Text Maybe
|
2020-07-09 16:46:11 +02:00
|
|
|
-- for doing manual annotation or human baselines
|
|
|
|
-- A specific annotation task, related to a specific challenge
|
|
|
|
AnnotationTask
|
|
|
|
challenge ChallengeId
|
|
|
|
added UTCTime default=now()
|
|
|
|
name Text
|
|
|
|
UniqueAnnotationTaskName name
|
|
|
|
-- A possible label that an annotator can use.
|
|
|
|
-- The labels will be shown as buttons to click for an annotator
|
|
|
|
AnnotationLabel
|
|
|
|
annotationTask AnnotationTaskId
|
|
|
|
-- name to be shown (e.g. as the button label)
|
|
|
|
name Text
|
|
|
|
-- value represented by the label (when evaluating the results)
|
|
|
|
value Text
|
|
|
|
-- for sorting labels when showing to a user
|
|
|
|
order Int
|
|
|
|
UniqueAnnotationLabelName annotationTask name
|
|
|
|
-- A single item to be annotated.
|
|
|
|
-- It corresponds to a single line in the in.tsv file. Note that
|
|
|
|
-- only a subset of lines can be considered here (and covering
|
|
|
|
-- various test sets)
|
|
|
|
AnnotationItem
|
|
|
|
annotationTask AnnotationTaskId
|
|
|
|
-- the line content (possibly including TABs)
|
|
|
|
content Text
|
|
|
|
-- to specify the order in which the items are shown to a user
|
|
|
|
order Int
|
|
|
|
-- A decision (annotation) made by a user for a specific item
|
|
|
|
AnnotationDecision
|
|
|
|
annotationItem AnnotationItemId
|
|
|
|
user UserId
|
|
|
|
-- value selected by the user (cf. value in AnnotationLabel)
|
|
|
|
value Text
|
|
|
|
stamp UTCTime default=now()
|
2015-08-29 13:13:16 +02:00
|
|
|
-- By default this file is used in Model.hs (which is imported by Foundation.hs)
|