//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 . package events import ( "github.com/pocketbase/pocketbase" "htwkalender/service/db" "htwkalender/service/functions" ) func GetAllCourses(app *pocketbase.PocketBase) []string { return db.GetAllCourses(app) } func GetAllCoursesForSemester(app *pocketbase.PocketBase, semester string) []string { return db.GetAllCoursesForSemester(app, semester) } func GetAllCoursesForSemesterWithEvents(app *pocketbase.PocketBase, semester string) ([]string, error) { courses, err := db.GetAllCoursesForSemesterWithEvents(app, semester) if err != nil { return nil, err } else { // remove empty courses like " " or "" courses = removeEmptyCourses(courses) return courses, nil } } // removeEmptyCourses removes empty courses from the list of courses func removeEmptyCourses(courses []string) []string { var filteredCourses []string for index, course := range courses { if !functions.OnlyWhitespace(course) || len(course) != 0 { filteredCourses = append(filteredCourses, courses[index]) } } return filteredCourses }