Documentation ¶
Index ¶
- Variables
- func ConfigGinRouter(router *gin.Engine)
- func GetPageString(s string) string
- func HandleValidLogin(c *gin.Context, data *tools.SessionData)
- func IsFreshInstallation(c *gin.Context, usersDao dao.UsersDao) (bool, error)
- type AdminPageData
- type CacheMetrics
- type ChatData
- type CoursePageData
- type CourseStream
- type EditCourseData
- type HealthCheckData
- type IndexData
- func (d *IndexData) LoadCoursesForRole(c *gin.Context, spanMain *sentry.Span, coursesDao dao.CoursesDao)
- func (d *IndexData) LoadCurrentNotifications(serverNoticationDao dao.ServerNotificationDao)
- func (d *IndexData) LoadLivestreams(c *gin.Context, daoWrapper dao.DaoWrapper)
- func (d *IndexData) LoadPinnedCourses()
- func (d *IndexData) LoadPublicCourses(coursesDao dao.CoursesDao)
- func (d *IndexData) LoadSemesters(spanMain *sentry.Span, coursesDao dao.CoursesDao)
- func (d *IndexData) SetYearAndTerm(c *gin.Context)
- type LectureStatsPageData
- type LectureUnitsPageData
- type LoginPageData
- type OptOutPageData
- type TokensData
- type WatchPageData
- type WorkersData
Constants ¶
This section is empty.
Variables ¶
var VersionTag string
Functions ¶
func ConfigGinRouter ¶
func GetPageString ¶ added in v1.4.20
func HandleValidLogin ¶
func HandleValidLogin(c *gin.Context, data *tools.SessionData)
HandleValidLogin starts a session and redirects the user to the page they were trying to access.
Types ¶
type AdminPageData ¶
type AdminPageData struct { IndexData IndexData Users []model.User Courses []model.Course LectureHalls []model.LectureHall Page string Workers WorkersData Semesters []model.Semester CurY int CurT string EditCourseData EditCourseData ServerNotifications []model.ServerNotification Tokens TokensData InfoPages []model.InfoPage Notifications []model.Notification }
func (AdminPageData) UsersAsJson ¶
func (apd AdminPageData) UsersAsJson() string
type CacheMetrics ¶
type CoursePageData ¶
type CoursePageData struct { IndexData IndexData Course model.Course HighlightPage bool WatchedData string }
CoursePageData is the data for the course page.
type CourseStream ¶
type EditCourseData ¶
type EditCourseData struct { IndexData IndexData IngestBase string LectureHalls []model.LectureHall }
type HealthCheckData ¶
type HealthCheckData struct { Version string `json:"version"` CacheMetrics CacheMetrics `json:"cacheMetrics"` }
type IndexData ¶
type IndexData struct { VersionTag string TUMLiveContext tools.TUMLiveContext IsUser bool IsAdmin bool IsStudent bool LiveStreams []CourseStream Courses []model.Course PinnedCourses []model.Course PublicCourses []model.Course Semesters []model.Semester CurrentYear int CurrentTerm string UserName string ServerNotifications []model.ServerNotification CanonicalURL tools.CanonicalURL Branding tools.Branding WikiURL string }
func NewIndexData ¶
func NewIndexData() IndexData
func NewIndexDataWithContext ¶
func (*IndexData) LoadCoursesForRole ¶
func (d *IndexData) LoadCoursesForRole(c *gin.Context, spanMain *sentry.Span, coursesDao dao.CoursesDao)
LoadCoursesForRole Load all courses of user. Distinguishes between admin, lecturer, and normal users.
func (*IndexData) LoadCurrentNotifications ¶
func (d *IndexData) LoadCurrentNotifications(serverNoticationDao dao.ServerNotificationDao)
LoadCurrentNotifications Loads notifications from the database into the IndexData object
func (*IndexData) LoadLivestreams ¶
func (d *IndexData) LoadLivestreams(c *gin.Context, daoWrapper dao.DaoWrapper)
LoadLivestreams Load non-hidden, currently live streams into the IndexData object. LoggedIn streams can only be seen by logged-in users. Enrolled streams can only be seen by users which are allowed to.
func (*IndexData) LoadPinnedCourses ¶
func (d *IndexData) LoadPinnedCourses()
func (*IndexData) LoadPublicCourses ¶
func (d *IndexData) LoadPublicCourses(coursesDao dao.CoursesDao)
LoadPublicCourses Load public courses of user. Filter courses which are already in IndexData.Courses
func (*IndexData) LoadSemesters ¶
func (d *IndexData) LoadSemesters(spanMain *sentry.Span, coursesDao dao.CoursesDao)
LoadSemesters Load available Semesters from the database into the IndexData object
func (*IndexData) SetYearAndTerm ¶
SetYearAndTerm Sets year and term on the IndexData object from the URL. Aborts with 404 if invalid
type LectureStatsPageData ¶ added in v1.4.20
type LectureUnitsPageData ¶
type LectureUnitsPageData struct { IndexData IndexData Lecture model.Stream Units []model.StreamUnit }
type LoginPageData ¶
type LoginPageData struct { VersionTag string Error bool UseSAML bool IDPName string IDPColor string Branding tools.Branding CanonicalURL tools.CanonicalURL }
LoginPageData contains the data for login page templates
func NewLoginPageData ¶
func NewLoginPageData(err bool) LoginPageData
NewLoginPageData returns a new struct LoginPageData with the Error value err
type OptOutPageData ¶
type TokensData ¶ added in v1.4.22
type TokensData struct { Tokens []dao.AllTokensDto RtmpProxyURL string User *model.User }
type WatchPageData ¶
type WatchPageData struct { IsAdminOfCourse bool // is current user admin or lecturer who created this course IsHighlightPage bool AlertsEnabled bool // whether the alert config is set Version string Unit *model.StreamUnit Presets []model.CameraPreset Progress model.StreamProgress IndexData IndexData Description template.HTML CutOffLength int // The maximum length for the preview of a description. DVR string // ?dvr if dvr is enabled, empty string otherwise LectureHallName string ChatData ChatData }
WatchPageData contains all the metadata that is related to the watch page.
func (*WatchPageData) Prepare ¶
func (d *WatchPageData) Prepare(c *gin.Context, lectureHallsDao dao.LectureHallsDao) error
Prepare populates the data for the watch page.