mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-02 17:59:14 +02:00
35 lines
1.0 KiB
Go
35 lines
1.0 KiB
Go
package room
|
|
|
|
import (
|
|
"htwkalender/model"
|
|
"htwkalender/service/db"
|
|
"net/http"
|
|
|
|
"github.com/labstack/echo/v5"
|
|
"github.com/pocketbase/pocketbase"
|
|
)
|
|
|
|
func GetRooms(c echo.Context, app *pocketbase.PocketBase) error {
|
|
rooms := db.GetRooms(app)
|
|
return c.JSON(http.StatusOK, rooms)
|
|
}
|
|
|
|
func GetRoomScheduleForDay(c echo.Context, app *pocketbase.PocketBase, room string, date string) error {
|
|
events := db.GetRoomScheduleForDay(app, room, date)
|
|
return c.JSON(http.StatusOK, anonymizeRooms(events))
|
|
}
|
|
|
|
func GetRoomSchedule(c echo.Context, app *pocketbase.PocketBase, room string, from string, to string) error {
|
|
events := db.GetRoomSchedule(app, room, from, to)
|
|
return c.JSON(http.StatusOK, anonymizeRooms(events))
|
|
}
|
|
|
|
// Transform the events to anonymized events throwing away all unnecessary information
|
|
func anonymizeRooms(events []model.Event) []model.AnonymizedEventDTO {
|
|
var anonymizedEvents = []model.AnonymizedEventDTO{}
|
|
for _, event := range events {
|
|
anonymizedEvents = append(anonymizedEvents, event.AnonymizeEvent())
|
|
}
|
|
return anonymizedEvents
|
|
}
|