Add admin-route & dropdown-menu. Add clear-cache & create-code. Adjustments for activation-code and user models. Add sweet-alert for admin-tools.

This commit is contained in:
MaxJa4
2024-01-20 16:47:22 +01:00
parent f2ab72ba1e
commit e5d13f2270
15 changed files with 281 additions and 55 deletions

View File

@@ -7,17 +7,39 @@ import (
func CreateUser(username string, hashedPassword string, enabled bool, usedCode string) {
user := models.User{Username: username, Password: hashedPassword, Enabled: enabled}
models.DB.Create(&user)
err := models.DB.Model(&models.ActivationCode{}).
Where("code = ?", usedCode).
Update("Used", true).Error
err := models.DB.Create(&user).Error
if err != nil {
log.Fatal(err)
log.Fatalf("Error while creating user: %v", err)
}
var code models.ActivationCode
err = models.DB.
Model(&models.ActivationCode{}).
Where("code = ?", usedCode).
First(&code).Error
if err != nil {
log.Fatalf("Error while getting activation code: %v", err)
}
code.UsedForUsername = username
err = models.DB.Save(&code).Error
if err != nil {
log.Fatalf("Error while updating activation code: %v", err)
}
user.UserRole = code.UserRole
err = models.DB.Save(&user).Error
if err != nil {
log.Fatalf("Error while updating user role: %v", err)
}
var bf2042 models.Game
models.DB.Where("tag = ?", "BF2042").First(&bf2042)
err = models.DB.
Where("tag = ?", "BF2042").
First(&bf2042).Error
if err != nil {
log.Fatalf("Error while getting game: %v", err)
}
userSettings := models.UserSettings{
Username: username,
ActiveGameID: bf2042.ID,
@@ -33,3 +55,13 @@ func IsUserEnabled(username string) bool {
models.DB.Where("username = ?", username).First(&user)
return user.Enabled
}
func IsUserAdmin(username string) bool {
var user models.User
err := models.DB.Where("username = ?", username).First(&user).Error
if err != nil {
log.Fatal(err)
return false
}
return user.UserRole == models.AdminRole
}