fradrive/models/lms.model

73 lines
3.0 KiB
Plaintext

Qualification
school SchoolId --TODO: Ansprechpartner der Schule in Briefe erwähnen
shorthand (CI Text)
name (CI Text)
description StoredMarkup Maybe -- user-defined large Html, ought to contain full description
validDuration Word Maybe -- qualification is valid for this number of months
auditDuration Word Maybe -- number of month to keep audit log
refreshWithin CalendarDiffDays Maybe -- refresher is scheduled within this number of month before expiry
elearningOnly Bool -- successful E-learing automatically increases validity
-- refreshInvitation StoredMarkup -- hard-coded I18N-MSGs used instead, but displayed on qualification page
-- expiryNotification StoredMarkup Maybe -- configurable user-profile-notifcations are used instead
UniqueSchoolShort school shorthand -- must be unique per school and shorthand
UniqueSchoolName school name -- must be unique per school and name
deriving Generic
QualificationEdit
user User
time UTCTime
qualification QualificationId OnDeleteCascade OnUpdateCascade
deriving Generic
-- TODO: connect Qualification with Exams!
QualificationUser
user User
qualification QualificationId
validUntil UTCTime
lastRefresh UTCTime -- lastRefresh > validUntil possible, if Qualification^elearningOnly == False
firstHeld UTCTime -- first time the qualification was earned, should never change
UniqueQualificationUser qualification user
deriving Generic
-- LMS Interface Tables, need regular processing by background jobs
LmsUser
qualification QualificationId
user UserId
ident LmsIdent
pin Text
resetPin Bool -- should the pin be reset?
delete Bool -- should the ident be deleted? TODO: do we need this?
started UTCTime Maybe
submitted UTCTime Maybe -- ident was sent to LMS (should happen only once)
ended UTCTime Maybe -- ident was deleted in LMS
UniqueLmsUser qualification ident
deriving Generic
-- LmsUserlist stores LMS upload ofr later processing only
LmsUserlist
qualification QualificationId
ident LmsIdent
failed Bool
timestamp UTCTime default=now()
deriving Generic
-- LmsUserlist stores LMS upload ofr later processing only
LmsResult
qualification QualificationId
ident LmsIdent
success Day
timestamp UTCTime default=now()
deriving Generic
-- Logs all processed rows from LmsUserlist and LmsResult
LmsAudit
qualification QualificationId
ident LmsIdent
notificationType LmsNotification
received UTCTime
processed UTCTime default=now()
deriving Generic