ADD: added tournament creation without backend support

This commit is contained in:
hwinkel
2025-06-09 21:08:30 +02:00
parent 1a2eec44a9
commit 1e6babbf67
14 changed files with 332 additions and 34 deletions

View File

@@ -53,6 +53,9 @@ func main() {
api.GET("/players", func(c *gin.Context) {
player.GetPlayers(c, db.GetDB())
})
api.GET("/players/:id", func(c *gin.Context) {
player.GetPlayer(c, db.GetDB(), c.Param("id"))
})
api.POST("/players", func(c *gin.Context) {
player.CreatePlayer(c, db.GetDB())
})

View File

@@ -53,7 +53,7 @@ func CreatePlayer(c *gin.Context, db *sql.DB) {
common.RespondError(c, http.StatusInternalServerError, "Failed to create player")
return
}
AddRoleToPlayer(db, newPlayer.ID, "player")
err = AddRoleToPlayer(db, newPlayer.ID, "player")
if err != nil {
log.Printf("Error adding role to player: %v", err)
common.RespondError(c, http.StatusInternalServerError, "Failed to assign role to player")
@@ -65,7 +65,8 @@ func CreatePlayer(c *gin.Context, db *sql.DB) {
common.RespondCreated(c, newPlayer)
}
func GetPlayer(c *gin.Context, db *sql.DB) {
func GetPlayer(c *gin.Context, db *sql.DB, id string) {
log.Println("GetPlayer called with ID:", id)
playerID := c.Param("id")
if playerID == "" {
common.RespondError(c, http.StatusBadRequest, "Player ID is required")
@@ -84,10 +85,16 @@ func GetPlayer(c *gin.Context, db *sql.DB) {
common.RespondError(c, http.StatusNotFound, "Player not found")
return
}
log.Printf("User %s (%s) requested player: %s", c.GetString("userId"), c.GetString("email"), player.Name)
role, err := GetPlayerRole(db, player.ID)
if err != nil {
log.Printf("Error retrieving role for player ID %s: %v", player.ID, 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)
c.JSON(http.StatusOK, player)
}
func UpdatePlayer(c *gin.Context, db *sql.DB) {

View File

@@ -134,9 +134,9 @@ func savePlayer(db *sql.DB, player Player) error {
log.Printf("Saving player: ID=%v, Name=%v, Email=%v", player.ID, player.Name, player.Email)
stmt := "INSERT INTO public.players (id, name, email) VALUES ($1, $2, $3)"
stmt := "INSERT INTO public.players (id, name, email,password_hash) VALUES ($1, $2, $3,$4)"
log.Printf("Generated SQL statement: %s", stmt)
_, err := db.Exec(stmt, player.ID, player.Name, player.Email)
_, err := db.Exec(stmt, player.ID, player.Name, player.Email, player.Password)
if err != nil {
log.Printf("Error saving player to database: %v", err)
@@ -202,7 +202,7 @@ func GetAllPlayers(db *sql.DB) ([]Player, error) {
func GetPlayerByID(db *sql.DB, id string) (Player, error) {
var player Player
err := db.QueryRow("SELECT id, name, email FROM players WHERE id = $1", id).Scan(&player.ID, &player.Name, &player.Email, &player.Role)
err := db.QueryRow("SELECT id, name, email FROM players WHERE id = $1", id).Scan(&player.ID, &player.Name, &player.Email)
if err != nil {
log.Printf("Error retrieving player by ID %s: %v", id, err)
return Player{}, err

BIN
backend/main Executable file

Binary file not shown.