fix: UpdateEvent now saves the event name, not just currency/rate

This commit is contained in:
Claus Lohmar 2026-07-14 12:21:40 +00:00
parent 47fb82d109
commit e9460a6a7d
2 changed files with 10 additions and 5 deletions

View file

@ -528,9 +528,9 @@ func DeleteEvent(db *sql.DB, id string) error {
return err
}
// UpdateEvent updates the base currency and exchange rate of an existing event.
func UpdateEvent(db *sql.DB, id, baseCurrency string, exchangeRate float64) error {
_, err := db.Exec("UPDATE events SET base_currency = ?, exchange_rate = ? WHERE id = ?", baseCurrency, exchangeRate, id)
// UpdateEvent updates the name, base currency and exchange rate of an existing event.
func UpdateEvent(db *sql.DB, id, name, baseCurrency string, exchangeRate float64) error {
_, err := db.Exec("UPDATE events SET name = ?, base_currency = ?, exchange_rate = ? WHERE id = ?", name, baseCurrency, exchangeRate, id)
if err != nil {
log.Printf("ERROR [%s] database: UpdateEvent(%s): %v",
time.Now().Format(time.RFC3339), id, err)

View file

@ -331,7 +331,7 @@ func (h *EventHandler) EditEvent(w http.ResponseWriter, r *http.Request) {
// PUT /months/{mid}/events/{eid} — UpdateEvent
// ---------------------------------------------------------------------------
// UpdateEvent updates the event's base currency and exchange rate.
// UpdateEvent updates the event's name, base currency and exchange rate.
func (h *EventHandler) UpdateEvent(w http.ResponseWriter, r *http.Request) {
monthID := chi.URLParam(r, "mid")
eventID := chi.URLParam(r, "eid")
@ -342,6 +342,11 @@ func (h *EventHandler) UpdateEvent(w http.ResponseWriter, r *http.Request) {
return
}
name := r.FormValue("name")
if name == "" {
name = event.Name
}
baseCurrency := r.FormValue("base_currency")
if baseCurrency == "" {
baseCurrency = "USD"
@ -358,7 +363,7 @@ func (h *EventHandler) UpdateEvent(w http.ResponseWriter, r *http.Request) {
}
}
if err := database.UpdateEvent(h.DB, eventID, baseCurrency, exchangeRate); err != nil {
if err := database.UpdateEvent(h.DB, eventID, name, baseCurrency, exchangeRate); err != nil {
log.Printf("ERROR [%s] handlers: UpdateEvent: %v", time.Now().Format(time.RFC3339), err)
http.Error(w, "Failed to update event", http.StatusInternalServerError)
return