save surfer - delete heat

This commit is contained in:
Linux User 2023-12-30 19:25:11 +00:00
parent 35b24c95e1
commit 6b86375ce9
6 changed files with 45 additions and 12 deletions

View file

@ -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
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 {

View file

@ -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"})
}

View file

@ -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)

View file

@ -10,13 +10,12 @@ import (
)
type Athlete struct {
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
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
}

View file

@ -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"
/>
<!-- <Input label="Name" id="name{surfer}" bind:value={surfer_list[surfer].name} /> -->
</div>

View file

@ -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),