added schedule for updating all modules

This commit is contained in:
Elmar Kresse
2023-10-01 13:30:19 +02:00
parent f982feec4f
commit f89416170d
7 changed files with 112 additions and 8 deletions

View File

@@ -132,7 +132,13 @@ func AddRoutes(app *pocketbase.PocketBase) {
Handler: func(c echo.Context) error {
course := c.QueryParam("course")
semester := c.QueryParam("semester")
return events.GetModulesForCourseDistinct(app, c, course, semester)
modules, err := events.GetModulesForCourseDistinct(app, course, semester)
if err != nil {
return c.JSON(400, err)
} else {
return c.JSON(200, modules)
}
},
Middlewares: []echo.MiddlewareFunc{
apis.ActivityLogger(app),
@@ -161,12 +167,61 @@ 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/module",
Handler: func(c echo.Context) error {
name := c.QueryParam("name")
module, err := events.GetModuleByName(app, name)
if err != nil {
return c.JSON(400, err)
} else {
return c.JSON(200, module)
}
},
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.MethodGet,
Path: "/api/courses",
Handler: func(c echo.Context) error {
return events.GetAllCourses(app, c)
courses := events.GetAllCourses(app)
return c.JSON(200, courses)
},
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.MethodDelete,
Path: "/api/events",
Handler: func(c echo.Context) error {
course := c.QueryParam("course")
semester := c.QueryParam("semester")
err := events.DeleteAllEventsByCourseAndSemester(app, course, semester)
if err != nil {
return c.JSON(400, err)
} else {
return c.JSON(200, "Events deleted")
}
},
Middlewares: []echo.MiddlewareFunc{
apis.ActivityLogger(app),