From 47adb183593097b39b01656f6d2bbc86f2aec63f Mon Sep 17 00:00:00 2001 From: Elmar Kresse <18119527+masterElmar@users.noreply.github.com> Date: Thu, 21 Sep 2023 01:29:55 +0200 Subject: [PATCH] added api for room and day check --- backend/service/addRoute.go | 19 +++++++++++++++++++ backend/service/db/dbEvents.go | 12 ++++++++++++ backend/service/room/roomService.go | 5 +++++ 3 files changed, 36 insertions(+) diff --git a/backend/service/addRoute.go b/backend/service/addRoute.go index 4560144..20b9e24 100644 --- a/backend/service/addRoute.go +++ b/backend/service/addRoute.go @@ -71,6 +71,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/day", + Handler: func(c echo.Context) error { + roomParam := c.QueryParam("room") + date := c.QueryParam("date") + return room.GetRoomScheduleForDay(c, app, roomParam, date) + }, + 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, diff --git a/backend/service/db/dbEvents.go b/backend/service/db/dbEvents.go index 2f7eb5a..8c668be 100644 --- a/backend/service/db/dbEvents.go +++ b/backend/service/db/dbEvents.go @@ -118,6 +118,18 @@ func GetRooms(app *pocketbase.PocketBase) []string { return roomArray } +func GetRoomScheduleForDay(app *pocketbase.PocketBase, room string, date 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("Start", date)).All(&events) + if err != nil { + print("Error while getting events from database: ", err) + return nil + } + return events +} + type Events []*model.Event // EmitICal implements the interface for goics diff --git a/backend/service/room/roomService.go b/backend/service/room/roomService.go index dd402d2..9e81bed 100644 --- a/backend/service/room/roomService.go +++ b/backend/service/room/roomService.go @@ -11,3 +11,8 @@ 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, events) +}