diff --git a/fill-db.hs b/fill-db.hs new file mode 100755 index 000000000..deec4e5e9 --- /dev/null +++ b/fill-db.hs @@ -0,0 +1,70 @@ +#!/usr/bin/env stack +-- stack runghc + +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE PackageImports #-} +{-# LANGUAGE NoImplicitPrelude #-} + +import "uniworx" Import +import "uniworx" Application (db) + +import Data.Time + +main :: IO () +main = db $ do + now <- liftIO getCurrentTime + let + winter2017 = TermIdentifier 2017 Winter + summer2018 = TermIdentifier 2018 Summer + gkleen <- insert User + { userPlugin = "LDAP" + , userIdent = "G.Kleen@campus.lmu.de" + , userMatrikelnummer = Nothing + , userEmail = "G.Kleen@campus.lmu.de" + , userDisplayName = "Gregor Kleen" + } + void . insert $ Term + { termName = winter2017 + , termStart = fromGregorian 2017 10 16 + , termEnd = fromGregorian 2018 02 10 + , termHolidays = [fromGregorian 2017 12 24..fromGregorian 2018 01 06] + , termLectureStart = fromGregorian 2017 10 16 + , termLectureEnd = fromGregorian 2018 02 10 + , termActive = False + } + void . insert $ Term + { termName = summer2018 + , termStart = fromGregorian 2018 04 09 + , termEnd = fromGregorian 2018 07 14 + , termHolidays = [] + , termLectureStart = fromGregorian 2018 04 09 + , termLectureEnd = fromGregorian 2018 07 14 + , termActive = True + } + ifi <- insert $ School "Institut für Informatik" "IfI" + mi <- insert $ School "Institut für Mathematik" "MI" + void . insert $ UserAdmin gkleen ifi + void . insert $ UserAdmin gkleen mi + void . insert $ UserLecturer gkleen ifi + ifiBsc <- insert $ Degree "Bachelor Informatik" ifi + ifiMsc <- insert $ Degree "Master Informatik" ifi + ffp <- insert Course + { courseName = "Fortgeschrittene Funktionale Programmierung" + , courseDescription = Nothing + , courseLinkExternal = Nothing + , courseShorthand = "ffp" + , courseTermId = TermKey summer2018 + , courseSchoolId = ifi + , courseCapacity = Just 20 + , courseCreated = now + , courseChanged = now + , courseCreatedBy = gkleen + , courseChangedBy = gkleen + , courseHasRegistration = True + , courseRegisterFrom = Just now + , courseRegisterTo = Just ((3600 * 24 * 60) `addUTCTime` now ) + } + void . insert $ DegreeCourse ifiBsc ffp + void . insert $ DegreeCourse ifiMsc ffp + void . insert $ Lecturer gkleen ffp + void . insert $ Corrector gkleen ffp (ByProportion 1)