Files
htwkalender/services/data-manager/service/course/courseFunctions.go
2024-09-06 20:06:21 +02:00

43 lines
1.6 KiB
Go

//Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format.
//Copyright (C) 2024 HTWKalender support@htwkalender.de
//This program is free software: you can redistribute it and/or modify
//it under the terms of the GNU Affero General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU Affero General Public License for more details.
//You should have received a copy of the GNU Affero General Public License
//along with this program. If not, see <https://www.gnu.org/licenses/>.
package course
import (
"htwkalender/data-manager/model"
"htwkalender/data-manager/model/serviceModel"
"htwkalender/data-manager/service/functions"
"htwkalender/data-manager/service/functions/time"
"log/slog"
)
func UpdateCourse(service serviceModel.Service, clock time.Clock) {
currentSemesters := functions.CalculateSemesterList(clock)
var seminarGroups []model.SeminarGroup
for _, semester := range currentSemesters {
seminarGroups = append(seminarGroups, service.CourseService.GetAllCoursesForSemester(semester)...)
}
for _, seminarGroup := range seminarGroups {
_, err := service.EventService.UpdateModulesForCourse(seminarGroup)
if err != nil {
slog.Warn("Update Course: "+seminarGroup.Course+" failed:", "error", err)
}
}
}