feat:#5 added free rooms api endpoint

This commit is contained in:
Elmar Kresse
2024-01-24 02:07:30 +01:00
parent 2430913a51
commit 4c16605bd6
8 changed files with 295 additions and 7 deletions

View File

@@ -10,12 +10,12 @@ import (
"github.com/pocketbase/pocketbase"
)
func SaveSeminarGroupEvents(seminarGroup []model.SeminarGroup, app *pocketbase.PocketBase) ([]model.Event, error) {
func SaveSeminarGroupEvents(seminarGroups []model.SeminarGroup, app *pocketbase.PocketBase) ([]model.Event, error) {
var toBeSavedEvents model.Events
var savedRecords model.Events
// check if event is already in database and add to toBeSavedEvents if not
for _, seminarGroup := range seminarGroup {
for _, seminarGroup := range seminarGroups {
for _, event := range seminarGroup.Events {
event = event.SetCourse(seminarGroup.Course)
existsInDatabase, err := findEventByDayWeekStartEndNameCourse(event, seminarGroup.Course, app)
@@ -254,3 +254,14 @@ func GetAllModulesByNameAndDateRange(app *pocketbase.PocketBase, name string, st
return events, nil
}
func GetEventsInTimeRange(app *pocketbase.PocketBase, from time.Time, to time.Time) (model.Events, error) {
var events model.Events
err := app.Dao().DB().Select("*").From("events").Where(dbx.NewExp("Start >= {:startDate} AND End <= {:endDate}", dbx.Params{"startDate": from, "endDate": to})).All(&events)
if err != nil {
return nil, err
}
return events, nil
}

View File

@@ -47,9 +47,7 @@ func clearAndSeparateRooms(events []struct {
// sport rooms don't have to be separated
if event.Course != "Sport" {
//split rooms by comma, tab, newline, carriage return, semicolon, space and non-breaking space
room = strings.FieldsFunc(event.Rooms, functions.IsSeparator(
[]rune{',', '\t', '\n', '\r', ';', ' ', '\u00A0'}),
)
room = functions.SeperateRoomString(event.Rooms)
} else {
room = append(room, event.Rooms)
}