Add User Partner and Product
This commit is contained in:
@@ -3,6 +3,7 @@ package users
|
||||
import (
|
||||
"fmt"
|
||||
"furtuna-be/internal/common/mycontext"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
@@ -48,6 +49,31 @@ func (s *UserService) Create(ctx mycontext.Context, userReq *entity.User) (*enti
|
||||
return userDB.ToUser(), nil
|
||||
}
|
||||
|
||||
func (s *UserService) CreateWithTx(ctx mycontext.Context, tx *gorm.DB, userReq *entity.User) (*entity.User, error) {
|
||||
//check
|
||||
userExist, err := s.repo.GetUserByEmail(ctx, userReq.Email)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if userExist != nil {
|
||||
return nil, fmt.Errorf("Email already exist")
|
||||
}
|
||||
|
||||
userDB, err := userReq.ToUserDB(ctx.RequestedBy())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
userDB, err = s.repo.CreateWithTx(ctx, tx, userDB)
|
||||
if err != nil {
|
||||
logger.ContextLogger(ctx).Error("error when create user", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return userDB.ToUser(), nil
|
||||
}
|
||||
|
||||
func (s *UserService) GetAll(ctx mycontext.Context, search entity.UserSearch) ([]*entity.User, int, error) {
|
||||
|
||||
users, total, err := s.repo.GetAllUsers(ctx, search)
|
||||
@@ -82,7 +108,7 @@ func (s *UserService) Update(ctx mycontext.Context, id int64, userReq *entity.Us
|
||||
return nil, err
|
||||
}
|
||||
|
||||
existingUser.BranchName = branch.Name
|
||||
existingUser.PartnerName = branch.Name
|
||||
}
|
||||
|
||||
err = existingUser.ToUpdatedUser(*userReq)
|
||||
|
||||
Reference in New Issue
Block a user