Update Partner
This commit is contained in:
@@ -15,16 +15,20 @@ type PartnerService struct {
|
||||
trx repository.TransactionManager
|
||||
userSvc *users.UserService
|
||||
walletRepo repository.WalletRepository
|
||||
userRepo repository.User
|
||||
}
|
||||
|
||||
func NewPartnerService(repo repository.PartnerRepository,
|
||||
userSvc *users.UserService, repoManager repository.TransactionManager,
|
||||
walletRepo repository.WalletRepository) *PartnerService {
|
||||
walletRepo repository.WalletRepository,
|
||||
userRepo repository.User,
|
||||
) *PartnerService {
|
||||
return &PartnerService{
|
||||
repo: repo,
|
||||
userSvc: userSvc,
|
||||
trx: repoManager,
|
||||
walletRepo: walletRepo,
|
||||
userRepo: userRepo,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +110,14 @@ func (s *PartnerService) Update(ctx mycontext.Context, req *entity.PartnerUpdate
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if req.AdminUserID != 0 {
|
||||
partnerAdmin, err := s.userRepo.GetPartnerAdmin(ctx, req.ID)
|
||||
if err != nil {
|
||||
logger.ContextLogger(ctx).Error("error when get Partner admin", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if partnerAdmin != nil {
|
||||
req.AdminUserID = partnerAdmin.ID
|
||||
adminUser := req.ToUserAdmin(&req.ID)
|
||||
if adminUser, err = s.userSvc.UpdateWithTx(ctx, tx, adminUser); err != nil {
|
||||
logger.ContextLogger(ctx).Error("error when creating admin user", zap.Error(err))
|
||||
|
||||
@@ -53,7 +53,7 @@ func NewServiceManagerImpl(cfg *config.Config, repo *repository.RepoManagerImpl)
|
||||
OrderSvc: order.NewOrderService(repo.Order, repo.Product, repo.Crypto, repo.Midtrans, repo.Payment, repo.Trx, repo.Wallet, &cfg.Order),
|
||||
OSSSvc: oss.NewOSSService(repo.OSS),
|
||||
PartnerSvc: partner.NewPartnerService(
|
||||
repo.Partner, users.NewUserService(repo.User, repo.Branch), repo.Trx, repo.Wallet),
|
||||
repo.Partner, users.NewUserService(repo.User, repo.Branch), repo.Trx, repo.Wallet, repo.User),
|
||||
SiteSvc: site.NewSiteService(repo.Site),
|
||||
LicenseSvc: service.NewLicenseService(repo.License),
|
||||
Transaction: transaction.New(repo.Transaction, repo.Wallet, repo.Trx),
|
||||
|
||||
Reference in New Issue
Block a user