From 148e283ad64cf94f0aea275e03197aa2aeb04d5d Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Thu, 17 Mar 2016 10:17:42 +0100 Subject: [PATCH] return ACCOUNT_DISABLED error from debit functions --- engine/calldesc.go | 9 +++++++++ utils/consts.go | 1 + 2 files changed, 10 insertions(+) diff --git a/engine/calldesc.go b/engine/calldesc.go index 5f378dfdf..d5f3c155f 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -639,6 +639,9 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (duration time.Duration, err e utils.Logger.Err(fmt.Sprintf("Account: %s, not found", cd.GetAccountKey())) return 0, utils.ErrAccountNotFound } else { + if account.Disabled { + return 0, utils.ErrAccountDisabled + } if memberIds, err := account.GetUniqueSharedGroupMembers(cd); err == nil { if _, err := Guardian.Guard(func() (interface{}, error) { duration, err = cd.getMaxSessionDuration(account) @@ -706,6 +709,9 @@ func (cd *CallDescriptor) Debit() (cc *CallCost, err error) { utils.Logger.Err(fmt.Sprintf("Account: %s, not found", cd.GetAccountKey())) return nil, utils.ErrAccountNotFound } else { + if account.Disabled { + return nil, utils.ErrAccountDisabled + } if memberIds, sgerr := account.GetUniqueSharedGroupMembers(cd); sgerr == nil { _, err = Guardian.Guard(func() (interface{}, error) { cc, err = cd.debit(account, cd.DryRun, true) @@ -728,6 +734,9 @@ func (cd *CallDescriptor) MaxDebit() (cc *CallCost, err error) { utils.Logger.Err(fmt.Sprintf("Account: %s, not found", cd.GetAccountKey())) return nil, utils.ErrAccountNotFound } else { + if account.Disabled { + return nil, utils.ErrAccountDisabled + } //log.Printf("ACC: %+v", account) if memberIDs, err := account.GetUniqueSharedGroupMembers(cd); err == nil { _, err = Guardian.Guard(func() (interface{}, error) { diff --git a/utils/consts.go b/utils/consts.go index e197a5083..72c15b145 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -28,6 +28,7 @@ var ( ErrUnauthorizedDestination = errors.New("UNAUTHORIZED_DESTINATION") ErrRatingPlanNotFound = errors.New("RATING_PLAN_NOT_FOUND") ErrAccountNotFound = errors.New("ACCOUNT_NOT_FOUND") + ErrAccountDisabled = errors.New("ACCOUNT_DISABLED") ErrUserNotFound = errors.New("USER_NOT_FOUND") ErrInsufficientCredit = errors.New("INSUFFICENT_CREDIT") )