Allow updating allowance zero
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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}) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user