Optimizations. User-Role handling in templates and routes.

This commit is contained in:
MaxJa4
2024-01-21 17:24:29 +01:00
parent 8edbbb4347
commit 4aae0896aa
14 changed files with 221 additions and 119 deletions

71
main.go
View File

@@ -12,13 +12,9 @@ import (
"os"
)
var mainPageTemplates *template.Template
var loginPageTemplates *template.Template
var registerPageTemplates *template.Template
func init() {
var err error
mainPageTemplates, err = template.ParseFiles(
utils.MainPageTemplates, err = template.ParseFiles(
"./templates/index.html",
"./templates/components/home_clan_bar.html",
"./templates/components/opp_clan_bar.html",
@@ -38,7 +34,7 @@ func init() {
log.Fatal(err)
}
loginPageTemplates, err = template.ParseFiles(
utils.LoginPageTemplates, err = template.ParseFiles(
"./templates/login.html",
"./templates/components/header.html",
)
@@ -46,7 +42,7 @@ func init() {
log.Fatal(err)
}
registerPageTemplates, err = template.ParseFiles(
utils.RegisterPageTemplates, err = template.ParseFiles(
"./templates/register.html",
"./templates/components/header.html",
)
@@ -54,6 +50,13 @@ func init() {
log.Fatal(err)
}
utils.PlayerItemTemplate, err = template.ParseFiles(
"./templates/player_list_item.html",
)
if err != nil {
log.Fatal(err)
}
controllers.LoadMetrics()
}
@@ -68,8 +71,10 @@ func main() {
log.Fatal(err)
}
router.LoadHTMLGlob("templates/**/*")
protected := router.Group("/")
protected.Use(AuthRequired())
reader := router.Group("/")
reader.Use(ReaderAuthRequired())
author := router.Group("/")
author.Use(AuthorAuthRequired())
admin := router.Group("/admin")
admin.Use(AdminAuthRequired())
@@ -89,7 +94,11 @@ func main() {
gin.LoggerWithWriter(utils.GinWriter, "/static"),
gin.Recovery(),
)
protected.Use(
reader.Use(
gin.LoggerWithWriter(utils.GinWriter),
gin.Recovery(),
)
author.Use(
gin.LoggerWithWriter(utils.GinWriter),
gin.Recovery(),
)
@@ -106,33 +115,33 @@ func main() {
router.GET("/register", registerPage)
router.POST("/register", registerPost)
protected.GET("/", mainPage)
reader.GET("/", mainPage)
protected.GET("/clans", controllers.GetAllClans)
protected.GET("/clans_html", controllers.GetAllClansHTML)
protected.GET("/clan/:id", controllers.GetClanByID)
protected.POST("/clan", controllers.AddClan)
protected.PATCH("/clan/:id", controllers.UpdateClanByID)
protected.DELETE("/clan/:id", controllers.DeleteClanByID)
reader.GET("/clans", controllers.GetAllClans)
reader.GET("/clans_html", controllers.GetAllClansHTML)
reader.GET("/clan/:id", controllers.GetClanByID)
author.POST("/clan", controllers.AddClan)
author.PATCH("/clan/:id", controllers.UpdateClanByID)
author.DELETE("/clan/:id", controllers.DeleteClanByID)
protected.GET("/players", controllers.GetAllPlayers)
protected.GET("/players_html", controllers.GetPlayersByClanHTML)
protected.GET("/player/:id", controllers.GetPlayerByID)
protected.GET("/playerid/:name", controllers.GetPlayerIDByName)
protected.POST("/player", controllers.AddPlayer)
protected.PATCH("/player/:id", controllers.UpdatePlayerByID)
protected.DELETE("/player/:id", controllers.DeletePlayerByID)
reader.GET("/players", controllers.GetAllPlayers)
reader.GET("/players_html", controllers.GetPlayersByClanHTML)
reader.GET("/player/:id", controllers.GetPlayerByID)
reader.GET("/playerid/:name", controllers.GetPlayerIDByName)
author.POST("/player", controllers.AddPlayer)
author.PATCH("/player/:id", controllers.UpdatePlayerByID)
author.DELETE("/player/:id", controllers.DeletePlayerByID)
protected.GET("/cache/:player_id", controllers.GetCacheByPlayerID)
reader.GET("/cache/:player_id", controllers.GetCacheByPlayerID)
protected.GET("/score/:player_id", controllers.GetScoreByPlayerID)
protected.POST("/score/:player_name", controllers.GetScoreByPlayerName)
reader.GET("/score/:player_id", controllers.GetScoreByPlayerID)
reader.POST("/score/:player_name", controllers.GetScoreByPlayerName)
protected.GET("/game", controllers.GetGames)
protected.GET("/game_html", controllers.GetGamesHTML)
reader.GET("/game", controllers.GetGames)
reader.GET("/game_html", controllers.GetGamesHTML)
protected.GET("/settings", controllers.GetSettings)
protected.PATCH("/settings", controllers.UpdateSettings)
reader.GET("/settings", controllers.GetSettings)
reader.PATCH("/settings", controllers.UpdateSettings)
admin.DELETE("/clear_cache", controllers.DeleteAllCaches)
admin.DELETE("/purge_players", controllers.DeleteAllPlayers)