53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
-- Some comments needes
|
|
User json
|
|
ident (CI Text)
|
|
authentication AuthenticationMode
|
|
lastAuthentication UTCTime Maybe
|
|
matrikelnummer Text Maybe
|
|
email (CI Text)
|
|
displayName Text
|
|
surname Text -- always use: nameWidget displayName surname
|
|
maxFavourites Int default=12
|
|
theme Theme default='Default'
|
|
dateTimeFormat DateTimeFormat "default='%a %d %b %Y %R'"
|
|
dateFormat DateTimeFormat "default='%d.%m.%Y'"
|
|
timeFormat DateTimeFormat "default='%R'"
|
|
downloadFiles Bool default=false
|
|
mailLanguages MailLanguages default='[]'
|
|
notificationSettings NotificationSettings
|
|
UniqueAuthentication ident
|
|
UniqueEmail email
|
|
deriving Show Eq Generic
|
|
UserAdmin
|
|
user UserId
|
|
school SchoolId
|
|
UniqueUserAdmin user school
|
|
UserLecturer
|
|
user UserId
|
|
school SchoolId
|
|
UniqueSchoolLecturer user school
|
|
StudyFeatures -- Abschluss, Studiengang, Haupt/Nebenfachh und Fachsemester
|
|
user UserId
|
|
degree StudyDegreeId
|
|
field StudyTermsId
|
|
type StudyFieldType
|
|
semester Int
|
|
updated UTCTime default='NOW()' -- zuletzt als gültig gesehen
|
|
valid Bool default=true
|
|
UniqueStudyFeatures user degree field type semester
|
|
-- UniqueUserSubject ubuser degree field -- There exists a counterexample
|
|
StudyDegree -- Studienabschluss
|
|
key Int
|
|
shorthand Text Maybe
|
|
name Text Maybe
|
|
Primary key
|
|
StudyTerms -- Studiengang
|
|
key Int
|
|
shorthand Text Maybe
|
|
name Text Maybe
|
|
Primary key
|
|
StudyTermCandidate
|
|
incidence UUID
|
|
key Int
|
|
name Text
|
|
deriving Show Eq Ord |