package professor import ( "net/http" "github.com/pocketbase/pocketbase/apis" "github.com/pocketbase/pocketbase/core" ) func RegisterRoutes(se *core.ServeEvent, service *ProfessorService) { se.Router.GET("/api/professor/modules", func(e *core.RequestEvent) error { record := e.Auth if record == nil { return apis.NewForbiddenError("Only authenticated users can access this endpoint", nil) } email := record.GetString("email") if email == "" { return apis.NewBadRequestError("User has no email", nil) } modules, err := service.GetModulesForProfessor(email) if err != nil { return apis.NewBadRequestError("Failed to fetch modules", err) } return e.JSON(http.StatusOK, modules) }).Bind(apis.RequireAuth()) }