Files
kontor/go/pkg/setup/routes.go
T
2025-01-14 15:35:53 +01:00

39 lines
1.2 KiB
Go

package setup
import (
"gitlab.thpeetz.de/kontor/kontor-go/pkg/admin"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/auth"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/comics"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/library"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/office"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/tradingcards"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/tysc"
"gitlab.thpeetz.de/kontor/kontor-go/pkg/util"
"github.com/gin-gonic/gin"
)
// InitializeRoutes setup the routes for Kontor web application.
func InitializeRoutes(router *gin.Engine) {
// Use the setUserStatus middleware for every route to set a flag
// indicating whether the request was from an authenticated user or not
router.Use(auth.SetSessionStatus())
// Handle the index route
router.GET("/", util.ShowIndexPage)
userRoutes := router.Group("/user")
{
userRoutes.GET("/login", auth.EnsureNotLoggedIn(), admin.ShowLoginPage)
userRoutes.POST("/login", auth.EnsureNotLoggedIn(), admin.PerformLogin)
userRoutes.GET("/logout", auth.EnsureLoggedIn(), admin.Logout)
}
admin.GetRoutes(router)
comics.GetRoutes(router)
library.GetRoutes(router)
office.GetRoutes(router)
tradingcards.GetRoutes(router)
tysc.GetRoutes(router)
}