feat(transaction): #66 implement transactions
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 4m49s
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 5m29s

This commit was merged in pull request #72.
This commit is contained in:
2025-05-13 23:02:53 +02:00
parent c9ea9bd935
commit dbf272e3f3
19 changed files with 794 additions and 57 deletions

View File

@@ -1,10 +1,38 @@
package db
import (
"database/sql"
"errors"
"spend-sparrow/log"
"spend-sparrow/types"
)
var (
ErrNotFound = errors.New("the value does not exist")
ErrAlreadyExists = errors.New("row already exists")
)
func TransformAndLogDbError(module string, r sql.Result, err error) error {
if err != nil {
if err == sql.ErrNoRows {
return ErrNotFound
}
log.Error("%v: %v", module, err)
return types.ErrInternal
}
if r != nil {
rows, err := r.RowsAffected()
if err != nil {
log.Error("%v: %v", module, err)
return types.ErrInternal
}
if rows == 0 {
log.Info("%v: not found", module)
return ErrNotFound
}
}
return nil
}