35 lines
499 B
Go
35 lines
499 B
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
)
|
|
|
|
type TxRepository struct {
|
|
db *sql.DB
|
|
}
|
|
|
|
func NewTxRepository(instance *sql.DB) ITxRepository {
|
|
return &TxRepository{
|
|
db: instance,
|
|
}
|
|
}
|
|
|
|
func (t TxRepository) Begin() (*sql.Tx, error) {
|
|
tx, err := t.db.Begin()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return tx, nil
|
|
}
|
|
|
|
func (TxRepository) RollbackOnError(tx *sql.Tx, errObserve *error) {
|
|
if *errObserve != nil {
|
|
tx.Rollback()
|
|
}
|
|
}
|
|
|
|
func (TxRepository) Commit(tx *sql.Tx) error {
|
|
return tx.Commit()
|
|
}
|