ADD: added function to update db scheme automaticly
This commit is contained in:
@@ -32,35 +32,36 @@ func GetPlayers(c *gin.Context, db *sql.DB) {
|
||||
}
|
||||
|
||||
func CreatePlayer(c *gin.Context, db *sql.DB) {
|
||||
var newPlayer Player
|
||||
var newPlayer User
|
||||
var err error
|
||||
if err := c.ShouldBindJSON(&newPlayer); err != nil {
|
||||
log.Printf("Error binding player data: %v", err)
|
||||
common.RespondError(c, http.StatusBadRequest, "Invalid player data")
|
||||
return
|
||||
}
|
||||
newPlayer.Password, err = common.HashPassword(newPlayer.Password)
|
||||
newPlayer.password, err = common.HashPassword(newPlayer.password)
|
||||
if err != nil {
|
||||
log.Printf("Error hashing password: %v", err)
|
||||
common.RespondError(c, http.StatusInternalServerError, "Failed to hash password")
|
||||
return
|
||||
}
|
||||
|
||||
newPlayer.ID = uuid.New().String()
|
||||
newPlayer.UUID = uuid.New().String()
|
||||
err = savePlayer(db, newPlayer)
|
||||
if err != nil {
|
||||
log.Printf("Error saving player: %v", err)
|
||||
common.RespondError(c, http.StatusInternalServerError, "Failed to create player")
|
||||
return
|
||||
}
|
||||
err = AddRoleToPlayer(db, newPlayer.ID, "player")
|
||||
var roles = []string{"player"}
|
||||
err = AddRoleToPlayer(db, newPlayer.UUID, roles)
|
||||
if err != nil {
|
||||
log.Printf("Error adding role to player: %v", err)
|
||||
common.RespondError(c, http.StatusInternalServerError, "Failed to assign role to player")
|
||||
return
|
||||
}
|
||||
|
||||
log.Printf("User %s (%s) created player: %s", c.GetString("userId"), c.GetString("email"), newPlayer.Name)
|
||||
log.Printf("User %s (%s) created player: %s", c.GetString("userId"), c.GetString("email"), newPlayer.Username)
|
||||
|
||||
common.RespondCreated(c, newPlayer)
|
||||
}
|
||||
@@ -80,19 +81,19 @@ func GetPlayer(c *gin.Context, db *sql.DB, id string) {
|
||||
return
|
||||
}
|
||||
|
||||
if player.ID == "" {
|
||||
if player.UUID == "" {
|
||||
log.Printf("Player with ID %s not found", playerID)
|
||||
common.RespondError(c, http.StatusNotFound, "Player not found")
|
||||
return
|
||||
}
|
||||
role, err := GetPlayerRole(db, player.ID)
|
||||
role, err := GetPlayerRole(db, player.UUID)
|
||||
if err != nil {
|
||||
log.Printf("Error retrieving role for player ID %s: %v", player.ID, err)
|
||||
log.Printf("Error retrieving role for player ID %s: %v", player.UUID, err)
|
||||
common.RespondError(c, http.StatusInternalServerError, "Failed to retrieve player role")
|
||||
return
|
||||
}
|
||||
player.Role = role
|
||||
log.Printf(player.ID, player.Name, player.Email, player.Role)
|
||||
log.Printf(player.UUID, player.Username, player.Email, player.Role)
|
||||
c.JSON(http.StatusOK, player)
|
||||
|
||||
}
|
||||
@@ -109,14 +110,14 @@ func UpdatePlayer(c *gin.Context, db *sql.DB) {
|
||||
return
|
||||
}
|
||||
|
||||
var updatedPlayer Player
|
||||
var updatedPlayer User
|
||||
if err := c.ShouldBindJSON(&updatedPlayer); err != nil {
|
||||
log.Printf("Error binding player data: %v", err)
|
||||
common.RespondError(c, http.StatusBadRequest, "Invalid player data")
|
||||
return
|
||||
}
|
||||
|
||||
updatedPlayer.ID = playerID
|
||||
updatedPlayer.UUID = playerID
|
||||
err := updatePlayer(db, updatedPlayer)
|
||||
if err != nil {
|
||||
log.Printf("Error updating player with ID %s: %v", playerID, err)
|
||||
@@ -124,7 +125,7 @@ func UpdatePlayer(c *gin.Context, db *sql.DB) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Printf("User %s (%s) updated player: %s", c.GetString("userId"), c.GetString("email"), updatedPlayer.Name)
|
||||
log.Printf("User %s (%s) updated player: %s", c.GetString("userId"), c.GetString("email"), updatedPlayer.Username)
|
||||
|
||||
c.JSON(http.StatusOK, updatedPlayer)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user