mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-08 12:47:46 +02:00
feat:#26 added new api route
This commit is contained in:
@@ -294,8 +294,14 @@ func AddRoutes(app *pocketbase.PocketBase) {
|
||||
Method: http.MethodGet,
|
||||
Path: "/api/courses",
|
||||
Handler: func(c echo.Context) error {
|
||||
courses := events.GetAllCourses(app)
|
||||
return c.JSON(200, courses)
|
||||
semester := c.QueryParam("semester")
|
||||
if semester == "" {
|
||||
courses := events.GetAllCourses(app)
|
||||
return c.JSON(200, courses)
|
||||
} else {
|
||||
courses := events.GetAllCoursesForSemester(app, semester)
|
||||
return c.JSON(200, courses)
|
||||
}
|
||||
},
|
||||
Middlewares: []echo.MiddlewareFunc{
|
||||
apis.ActivityLogger(app),
|
||||
@@ -307,14 +313,21 @@ func AddRoutes(app *pocketbase.PocketBase) {
|
||||
return nil
|
||||
})
|
||||
|
||||
// api end point to get all courses for a specific semester with courses that have events
|
||||
app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
|
||||
_, err := e.Router.AddRoute(echo.Route{
|
||||
Method: http.MethodGet,
|
||||
Path: "/api/courses",
|
||||
Path: "/api/courses/events",
|
||||
Handler: func(c echo.Context) error {
|
||||
semester := c.QueryParam("semester")
|
||||
courses := events.GetAllCoursesForSemester(app, semester)
|
||||
return c.JSON(200, courses)
|
||||
courses, err := events.GetAllCoursesForSemesterWithEvents(app, semester)
|
||||
|
||||
if err != nil {
|
||||
slog.Error("Failed to get courses for semester with events: %v", err)
|
||||
return c.JSON(http.StatusBadRequest, "Failed to get courses for semester with events")
|
||||
} else {
|
||||
return c.JSON(200, courses)
|
||||
}
|
||||
},
|
||||
Middlewares: []echo.MiddlewareFunc{
|
||||
apis.ActivityLogger(app),
|
||||
|
Reference in New Issue
Block a user