diff --git a/data/dataclient.go b/data/dataclient.go index 8715e89..92c1de0 100644 --- a/data/dataclient.go +++ b/data/dataclient.go @@ -79,20 +79,18 @@ func (d *DataClient) InsertTransactions(transactions []models.Transaction) ([]mo // Start transaction tx, err := d.DB.Beginx() if err != nil { - tx.Rollback() return rowsInserted, err } + defer tx.Rollback() for _, transaction := range transactions { // Check values if transaction.MembreID == "" { - tx.Rollback() return rowsInserted, errors.New("Impossible d'insérer une transaction sans membre_id") } rows, err := tx.NamedQuery("INSERT INTO transactions (membre_id, given_at, is_perpetual) VALUES (:membre_id, current_timestamp, :is_perpetual) RETURNING id, membre_id, is_perpetual;", &transaction) if err != nil { - tx.Rollback() return rowsInserted, err } defer rows.Close() @@ -100,7 +98,6 @@ func (d *DataClient) InsertTransactions(transactions []models.Transaction) ([]mo for rows.Next() { var transactionRow models.Transaction if err := rows.Scan(&transactionRow.ID, &transactionRow.MembreID, &transactionRow.IsPerpetual); err != nil { - tx.Rollback() return rowsInserted, err }