feat:#21 updated deps, fixed changes, fixed room list

This commit is contained in:
Elmar Kresse
2024-01-13 04:42:13 +01:00
parent e6fa7b459d
commit 75ae6c619e
10 changed files with 812 additions and 1688 deletions

View File

@@ -14,26 +14,48 @@ import (
func GetRooms(app *pocketbase.PocketBase) []string {
var events []struct {
Rooms string `db:"Rooms" json:"Rooms"`
Rooms string `db:"Rooms" json:"Rooms"`
Course string `db:"course" json:"Course"`
}
// get all rooms from event records in the events collection
err := app.Dao().DB().Select("Rooms").From("events").All(&events)
err := app.Dao().DB().Select("Rooms", "course").From("events").Distinct(true).All(&events)
if err != nil {
print("Error while getting rooms from database: ", err)
return nil
}
var roomArray []string
roomArray := clearAndSeparateRooms([]struct {
Rooms string
Course string
}(events))
return roomArray
}
func clearAndSeparateRooms(events []struct {
Rooms string
Course string
}) []string {
var roomArray []string
for _, event := range events {
var room = strings.FieldsFunc(event.Rooms, functions.IsSeparator(
[]rune{',', ' ', '\t', '\n', '\r', '\u00A0'},
))
var room []string
// 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'}),
)
} else {
room = append(room, event.Rooms)
}
//split functions room by space and add each room to array if it is not already in there
for _, r := range room {
var text = strings.TrimSpace(r)
if !functions.Contains(roomArray, text) && !strings.Contains(text, " ") && len(text) >= 1 {
if !functions.Contains(roomArray, text) && len(text) >= 1 {
roomArray = append(roomArray, text)
}
}