Allow updating allowance zero

This commit is contained in:
Sebastiaan de Schaetzen 2025-05-17 16:29:33 +02:00
parent 05921335f6
commit 720b8333f2
2 changed files with 21 additions and 1 deletions

View File

@ -160,6 +160,22 @@ func (db *Db) DeleteAllowance(userId int, allowanceId int) error {
return nil
}
func (db *Db) UpdateUserAllowance(userId int, allowance *UpdateAllowanceRequest) error {
tx, err := db.db.Begin()
if err != nil {
return err
}
defer tx.MustRollback()
err = tx.Query("update users set weight=? where id = ?").
Bind(allowance.Weight, userId).
Exec()
if err != nil {
return err
}
return tx.Commit()
}
func (db *Db) UpdateAllowance(userId int, allowanceId int, allowance *UpdateAllowanceRequest) error {
// Check if the allowance exists for the user
count := 0

View File

@ -268,7 +268,11 @@ func putUserAllowance(c *gin.Context) {
return
}
err = db.UpdateAllowance(userId, allowanceId, &allowanceRequest)
if allowanceId == 0 {
err = db.UpdateUserAllowance(userId, &allowanceRequest)
} else {
err = db.UpdateAllowance(userId, allowanceId, &allowanceRequest)
}
if err != nil {
log.Printf("Error updating allowance: %v", err)
c.JSON(http.StatusInternalServerError, gin.H{"error": ErrInternalServerError})