added api for room and day check

This commit is contained in:
Elmar Kresse
2023-09-21 01:29:55 +02:00
parent 89fa8d682a
commit 47adb18359
3 changed files with 36 additions and 0 deletions

View File

@ -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,

View File

@ -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

View File

@ -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)
}