From 6b86375ce9669b750110a879099dabc95f10c773 Mon Sep 17 00:00:00 2001 From: Linux User Date: Sat, 30 Dec 2023 19:25:11 +0000 Subject: [PATCH] save surfer - delete heat --- backend/db.go | 14 ++++++++++---- backend/heats.go | 23 +++++++++++++++++++++++ backend/http.go | 2 +- backend/surfers.go | 7 +++---- frontend/src/routes/setup/+page.svelte | 4 +--- frontend/src/routes/surfers/+page.svelte | 7 +++++++ 6 files changed, 45 insertions(+), 12 deletions(-) diff --git a/backend/db.go b/backend/db.go index 353d75d..132e274 100644 --- a/backend/db.go +++ b/backend/db.go @@ -34,18 +34,24 @@ func (db *DB) Write(table string, key string, value interface{}) error { err := db.Db.Write(table, key, value) if err != nil { fmt.Println("Error", err) - return err } - return nil + return err } func (db *DB) Read(table string, key string, value interface{}) error { err := db.Db.Read(table, key, value) if err != nil { fmt.Println("Error", err) - return err } - return nil + return err +} + +func (db *DB) Delete(table string, key string) error { + err := db.Db.Delete(table, key) + if err != nil { + fmt.Println("Error", err) + } + return err } func (db *DB) loadHeats() []Heat { diff --git a/backend/heats.go b/backend/heats.go index 0527830..c3c34bf 100644 --- a/backend/heats.go +++ b/backend/heats.go @@ -63,3 +63,26 @@ func (app *App) LoadHeats(c *gin.Context) { log.Printf("heats: %+v", heats) } + +func (app *App) DeleteHeat(c *gin.Context) { + var heat Heat + + err := c.ShouldBind(&heat) + + if err != nil { + log.Printf("req error: %+v", err) + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + log.Printf("heat: %+v", heat) + + err = app.DB.Delete("Heat", heatName(heat)) + if err != nil { + log.Printf("set error: %+v", err) + c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)}) + return + } + + c.JSON(http.StatusOK, gin.H{"status": "deleted"}) +} diff --git a/backend/http.go b/backend/http.go index 0c9d107..48b47c5 100644 --- a/backend/http.go +++ b/backend/http.go @@ -88,7 +88,7 @@ func (app *App) RegisterApiRoutes() { // api.POST("/startheat", app.StartHeatTimer) // api.GET("/stopheat", app.StopHeatTimer) api.POST("/saveheat", app.SaveHeat) - // api.POST("/deleteheat", app.DeleteHeat) + api.POST("/deleteheat", app.DeleteHeat) api.GET("/loadheats", app.LoadHeats) // api.GET("/runningheat", app.LoadRunning) api.GET("/loadsurfers", app.LoadSurfers) diff --git a/backend/surfers.go b/backend/surfers.go index 5aceb07..d9058ec 100644 --- a/backend/surfers.go +++ b/backend/surfers.go @@ -10,13 +10,12 @@ import ( ) type Athlete struct { - Firstname string `json:"firstname"` - Lastname string `json:"lastname"` - Category string `json:"category"` + Name string `json:"name"` + Category string `json:"category"` } func surferName(athlete Athlete) string { - str := fmt.Sprintf("%s.%s.%s", athlete.Firstname, athlete.Lastname, athlete.Category) + str := fmt.Sprintf("%s.%s", athlete.Name, athlete.Category) str = strings.ReplaceAll(str, " ", "_") return str } diff --git a/frontend/src/routes/setup/+page.svelte b/frontend/src/routes/setup/+page.svelte index 8a2eba3..4a4c905 100644 --- a/frontend/src/routes/setup/+page.svelte +++ b/frontend/src/routes/setup/+page.svelte @@ -3,9 +3,7 @@ import Header from '$lib/header-setup.svelte'; import { categories } from '$lib/stores/categories.js'; import { rounds } from '$lib/stores/rounds.js'; - import { colors } from '$lib/stores/colors.js'; import Number from '$lib/number.svelte'; - import Input from '$lib/input.svelte'; import Select from '$lib/select.svelte'; import Color from '$lib/color.svelte'; import Button from '../../lib/button.svelte'; @@ -225,7 +223,7 @@ id="name{surfer}" bind:value={surfer_list[surfer].name} options={athletes} - element="firstname" + element="name" /> diff --git a/frontend/src/routes/surfers/+page.svelte b/frontend/src/routes/surfers/+page.svelte index b52def9..d8ded15 100644 --- a/frontend/src/routes/surfers/+page.svelte +++ b/frontend/src/routes/surfers/+page.svelte @@ -16,6 +16,7 @@ surfer = { firstname: '', lastname: '', + name: '', category: '' }; } @@ -24,7 +25,11 @@ const res = await fetch(`/api/loadsurfers`); const data = await res.json(); for (let i in data) { + const flname = data[i].name.split(" "); + data[i].firstname = flname[0]; + data[i].lastname = flname[1]; surfers[i] = data[i]; + console.log(`${i} retval: ${JSON.stringify(data[i])}`); } } @@ -45,6 +50,8 @@ return; } + surfer.name = `${surfer.firstname} ${surfer.lastname}` + const res = await fetch(`/api/savesurfer`, { method: 'POST', body: JSON.stringify(surfer),