Entire logging rework. Full error handling. Small improvements.

This commit is contained in:
MaxJa4
2024-01-22 17:24:17 +01:00
parent da1ff4e4e5
commit ca697da0da
18 changed files with 278 additions and 205 deletions

View File

@@ -9,39 +9,31 @@ import (
func CreateUser(username string, hashedPassword string, enabled bool, usedCode string) {
user := models.User{Username: username, Password: hashedPassword, Enabled: enabled}
err := models.DB.Create(&user).Error
if err != nil {
utils.Logger.Fatalf("Error while creating user: %v", err)
var code models.ActivationCode
var bf2042 models.Game
if err := models.DB.Create(&user).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while creating user: %s", err.Error())
}
var code models.ActivationCode
err = models.DB.
Model(&models.ActivationCode{}).
Where("code = ?", usedCode).
First(&code).Error
if err != nil {
utils.Logger.Fatalf("Error while getting activation code: %v", err)
if err := models.DB.Where("code = ?", usedCode).First(&code).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while getting activation code: %s", err.Error())
}
code.UsedForUsername = username
err = models.DB.Save(&code).Error
if err != nil {
utils.Logger.Fatalf("Error while updating activation code: %v", err)
if err := models.DB.Save(&code).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while updating activation code: %s", err.Error())
}
user.UserRole = code.UserRole
err = models.DB.Save(&user).Error
if err != nil {
utils.Logger.Fatalf("Error while updating user role: %v", err)
if err := models.DB.Save(&user).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while updating user role: %s", err.Error())
}
var bf2042 models.Game
err = models.DB.
Where("tag = ?", "BF2042").
First(&bf2042).Error
if err != nil {
utils.Logger.Fatalf("Error while getting game: %v", err)
if err := models.DB.Where("tag = ?", "BF2042").First(&bf2042).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while getting game: %v", err)
}
userSettings := models.UserSettings{
Username: username,
ActiveGameID: bf2042.ID,
@@ -49,38 +41,50 @@ func CreateUser(username string, hashedPassword string, enabled bool, usedCode s
CalcMedian: false,
UseCache: true,
}
models.DB.Create(&userSettings)
if err := models.DB.Create(&userSettings).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while creating user settings: %s", err.Error())
}
utils.Logger.Infof("[USER] Created user: %s", username)
}
func IsUserEnabled(username string) bool {
var user models.User
models.DB.Where("username = ?", username).First(&user)
if err := models.DB.Where("username = ?", username).First(&user).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while getting user: %s", err.Error())
}
return user.Enabled
}
func GetUserRole(username string) models.Role {
var user models.User
err := models.DB.Where("username = ?", username).First(&user).Error
if err != nil {
utils.Logger.Fatal(err)
if err := models.DB.Where("username = ?", username).First(&user).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while getting user: %s", err.Error())
}
return user.UserRole
}
func GetUserRoleByCtx(c *gin.Context) models.Role {
username, ok := session.GetUsername(c)
if !ok {
return models.ReaderRole
}
return GetUserRole(username)
}
func IsUserAdmin(username string) bool {
var user models.User
err := models.DB.Where("username = ?", username).First(&user).Error
if err != nil {
utils.Logger.Fatal(err)
return false
if err := models.DB.Where("username = ?", username).First(&user).Error; err != nil {
utils.Logger.Fatalf("[USER] Error while getting user: %s", err.Error())
}
return user.UserRole == models.AdminRole
}