This commit is contained in:
Tom Wahl
2023-10-20 15:32:17 +02:00
parent 86f2636681
commit d99a6e594b
28 changed files with 1206 additions and 213 deletions

View File

@@ -90,6 +90,25 @@ func AddRoutes(app *pocketbase.PocketBase) {
return nil
})
app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
_, err := e.Router.AddRoute(echo.Route{
Method: http.MethodGet,
Path: "/api/schedule/week",
Handler: func(c echo.Context) error {
roomParam := c.QueryParam("room")
week := c.QueryParam("week")
return room.GetRoomScheduleForWeek(c, app, roomParam, week)
},
Middlewares: []echo.MiddlewareFunc{
apis.ActivityLogger(app),
},
})
if err != nil {
return err
}
return nil
})
app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
_, err := e.Router.AddRoute(echo.Route{
Method: http.MethodPost,

View File

@@ -47,3 +47,15 @@ func GetRoomScheduleForDay(app *pocketbase.PocketBase, room string, date string)
}
return events
}
func GetRoomScheduleForWeek(app *pocketbase.PocketBase, room string, week string) []model.Event {
var events []model.Event
// get all events from event records in the events collection
err := app.Dao().DB().Select("*").From("events").Where(dbx.Like("Rooms", room)).AndWhere(dbx.Like("Week", week)).GroupBy("week, start, end, room").All(&events)
if err != nil {
print("Error while getting events from database: ", err)
return nil
}
return events
}

View File

@@ -16,3 +16,8 @@ func GetRoomScheduleForDay(c echo.Context, app *pocketbase.PocketBase, room stri
events := db.GetRoomScheduleForDay(app, room, date)
return c.JSON(http.StatusOK, events)
}
func GetRoomScheduleForWeek(c echo.Context, app *pocketbase.PocketBase, room string, week string) error {
events := db.GetRoomScheduleForWeek(app, room, week)
return c.JSON(http.StatusOK, events)
}