feat: new RollbackOnError method added for transactional db helper and integrated into auth service
This commit is contained in:
@@ -26,6 +26,7 @@ import (
|
|||||||
type DbHelperTransaction interface {
|
type DbHelperTransaction interface {
|
||||||
Commit() error
|
Commit() error
|
||||||
Rollback() error
|
Rollback() error
|
||||||
|
RollbackOnError(err error) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type DbHelper struct {
|
type DbHelper struct {
|
||||||
@@ -98,3 +99,11 @@ func (d *dbHelperTransactionImpl) Rollback() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RollbackOnError implements DbHelperTransaction.
|
||||||
|
func (d *dbHelperTransactionImpl) RollbackOnError(err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return d.Rollback()
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ func (a *authServiceImpl) RegistrationBegin(request models.RegistrationBeginRequ
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
||||||
defer helper.Rollback()
|
defer helper.RollbackOnError(err)
|
||||||
|
|
||||||
// TODO: check occupation with redis
|
// TODO: check occupation with redis
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ func (a *authServiceImpl) RegistrationComplete(request models.RegistrationComple
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
||||||
defer helper.Rollback()
|
defer helper.RollbackOnError(err)
|
||||||
|
|
||||||
user, err = db.TXQueries.GetUserByUsername(db.CTX, request.Username)
|
user, err = db.TXQueries.GetUserByUsername(db.CTX, request.Username)
|
||||||
|
|
||||||
@@ -334,11 +334,10 @@ func (a *authServiceImpl) RegistrationComplete(request models.RegistrationComple
|
|||||||
func (a *authServiceImpl) Login(request models.LoginRequest) (*models.LoginResponse, error) {
|
func (a *authServiceImpl) Login(request models.LoginRequest) (*models.LoginResponse, error) {
|
||||||
var userRow database.GetValidUserByLoginCredentialsRow
|
var userRow database.GetValidUserByLoginCredentialsRow
|
||||||
var session database.Session
|
var session database.Session
|
||||||
|
var err error
|
||||||
|
|
||||||
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
helper, db, _ := database.NewDbHelperTransaction(a.dbctx)
|
||||||
defer helper.Rollback()
|
defer helper.RollbackOnError(err)
|
||||||
|
|
||||||
var err error
|
|
||||||
|
|
||||||
userRow, err = db.TXQueries.GetValidUserByLoginCredentials(db.CTX, database.GetValidUserByLoginCredentialsParams{
|
userRow, err = db.TXQueries.GetValidUserByLoginCredentials(db.CTX, database.GetValidUserByLoginCredentialsParams{
|
||||||
Username: request.Username,
|
Username: request.Username,
|
||||||
@@ -417,7 +416,7 @@ func (a *authServiceImpl) PasswordResetBegin(request models.PasswordResetBeginRe
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
helper, db, err := database.NewDbHelperTransaction(a.dbctx)
|
helper, db, err := database.NewDbHelperTransaction(a.dbctx)
|
||||||
defer helper.Rollback()
|
defer helper.RollbackOnError(err)
|
||||||
|
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user