From c9badd722f87a4640047b1e4cc2dc85af123dbfd Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Tue, 23 Feb 2016 21:02:23 +0200 Subject: [PATCH] renamed Account Id to ID --- engine/account.go | 16 +++--- engine/account_test.go | 94 +++++++++++++++++----------------- engine/action.go | 10 ++-- engine/action_trigger.go | 4 +- engine/actions_test.go | 68 ++++++++++++------------ engine/balances.go | 16 +++--- engine/calldesc.go | 2 +- engine/calldesc_test.go | 12 ++--- engine/loader_csv_test.go | 6 +-- engine/responder_test.go | 8 +-- engine/sharedgroup.go | 4 +- engine/sharedgroup_test.go | 6 +-- engine/storage_map.go | 6 +-- engine/storage_mongo_datadb.go | 4 +- engine/storage_redis.go | 6 +-- engine/storage_test.go | 2 +- engine/tp_reader.go | 6 +-- 17 files changed, 135 insertions(+), 135 deletions(-) diff --git a/engine/account.go b/engine/account.go index b833ae866..40521dfd9 100644 --- a/engine/account.go +++ b/engine/account.go @@ -36,7 +36,7 @@ Structure containing information about user's credit (minutes, cents, sms...).' This can represent a user or a shared group. */ type Account struct { - Id string + ID string BalanceMap map[string]BalanceChain UnitCounters UnitCounters ActionTriggers ActionTriggers @@ -142,12 +142,12 @@ func (acc *Account) setBalanceAction(a *Action) error { //than is problem utils.Logger.Warning(fmt.Sprintf("Could not get shared group: %v", sgID)) } else { - if _, found := sg.MemberIds[acc.Id]; !found { + if _, found := sg.MemberIds[acc.ID]; !found { // add member and save if sg.MemberIds == nil { sg.MemberIds = make(utils.StringMap) } - sg.MemberIds[acc.Id] = true + sg.MemberIds[acc.ID] = true ratingStorage.SetSharedGroup(sg) } } @@ -228,12 +228,12 @@ func (ub *Account) debitBalanceAction(a *Action, reset bool) error { //than is problem utils.Logger.Warning(fmt.Sprintf("Could not get shared group: %v", sgId)) } else { - if _, found := sg.MemberIds[ub.Id]; !found { + if _, found := sg.MemberIds[ub.ID]; !found { // add member and save if sg.MemberIds == nil { sg.MemberIds = make(utils.StringMap) } - sg.MemberIds[ub.Id] = true + sg.MemberIds[ub.ID] = true ratingStorage.SetSharedGroup(sg) } } @@ -487,7 +487,7 @@ func (ub *Account) debitCreditBalance(cd *CallDescriptor, count bool, dryRun boo defaultBalance := ub.GetDefaultMoneyBalance() defaultBalance.SubstractValue(cost) increment.BalanceInfo.MoneyBalanceUuid = defaultBalance.Uuid - increment.BalanceInfo.AccountId = ub.Id + increment.BalanceInfo.AccountId = ub.ID increment.paid = true if count { ub.countUnits( @@ -787,7 +787,7 @@ type TenantAccount struct { func (acc *Account) Clone() *Account { newAcc := &Account{ - Id: acc.Id, + ID: acc.ID, BalanceMap: make(map[string]BalanceChain, len(acc.BalanceMap)), UnitCounters: nil, // not used when cloned (dryRun) ActionTriggers: nil, // not used when cloned (dryRun) @@ -914,7 +914,7 @@ func (acc *Account) AsOldStructure() interface{} { } result := &Account{ - Id: utils.OUT + ":" + acc.Id, + Id: utils.OUT + ":" + acc.ID, BalanceMap: make(map[string]BalanceChain, len(acc.BalanceMap)), UnitCounters: make([]*UnitsCounter, len(acc.UnitCounters)), ActionTriggers: make(ActionTriggers, len(acc.ActionTriggers)), diff --git a/engine/account_test.go b/engine/account_test.go index dc454c15d..5ea6d4e2a 100644 --- a/engine/account_test.go +++ b/engine/account_test.go @@ -85,7 +85,7 @@ func TestBalanceChainStoreRestore(t *testing.T) { func TestAccountStorageStoreRestore(t *testing.T) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} accountingStorage.SetAccount(rifsBalance) ub1, err := accountingStorage.GetAccount("other") if err != nil || !ub1.BalanceMap[utils.MONETARY].Equal(rifsBalance.BalanceMap[utils.MONETARY]) { @@ -97,7 +97,7 @@ func TestAccountStorageStoreRestore(t *testing.T) { func TestGetSecondsForPrefix(t *testing.T) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - ub1 := &Account{Id: "CUSTOMER_1:rif", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 200}}}} + ub1 := &Account{ID: "CUSTOMER_1:rif", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 200}}}} cd := &CallDescriptor{ Category: "0", Tenant: "vdf", @@ -122,7 +122,7 @@ func TestGetSpecialPricedSeconds(t *testing.T) { b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}, RatingSubject: "minu"} ub1 := &Account{ - Id: "OUT:CUSTOMER_1:rif", + ID: "OUT:CUSTOMER_1:rif", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, @@ -152,10 +152,10 @@ func TestGetSpecialPricedSeconds(t *testing.T) { func TestAccountStorageStore(t *testing.T) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} accountingStorage.SetAccount(rifsBalance) - result, err := accountingStorage.GetAccount(rifsBalance.Id) - if err != nil || rifsBalance.Id != result.Id || + result, err := accountingStorage.GetAccount(rifsBalance.ID) + if err != nil || rifsBalance.ID != result.ID || len(rifsBalance.BalanceMap[utils.VOICE]) < 2 || len(result.BalanceMap[utils.VOICE]) < 2 || !(rifsBalance.BalanceMap[utils.VOICE][0].Equal(result.BalanceMap[utils.VOICE][0])) || !(rifsBalance.BalanceMap[utils.VOICE][1].Equal(result.BalanceMap[utils.VOICE][1])) || @@ -188,7 +188,7 @@ func TestDebitCreditZeroSecond(t *testing.T) { TOR: utils.VOICE, testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Categories: utils.NewStringMap("0"), Value: 21}}}} + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Categories: utils.NewStringMap("0"), Value: 21}}}} var err error cc, err = rifsBalance.debitCreditBalance(cd, false, false, true) if err != nil { @@ -228,7 +228,7 @@ func TestDebitCreditZeroMinute(t *testing.T) { TOR: utils.VOICE, testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -275,7 +275,7 @@ func TestDebitCreditZeroMixedMinute(t *testing.T) { DurationIndex: cc.Timespans[0].GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -327,7 +327,7 @@ func TestDebitCreditNoCredit(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, }} var err error @@ -378,7 +378,7 @@ func TestDebitCreditHasCredit(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 110}}, }} @@ -426,7 +426,7 @@ func TestDebitCreditSplitMinutesMoney(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 50}}, }} @@ -479,7 +479,7 @@ func TestDebitCreditMoreTimespans(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, }} var err error @@ -528,7 +528,7 @@ func TestDebitCreditMoreTimespansMixed(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1, b2}, }} var err error @@ -578,7 +578,7 @@ func TestDebitCreditNoConectFeeCredit(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, }} var err error @@ -622,7 +622,7 @@ func TestDebitCreditMoneyOnly(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "money", Value: 50}}, }} var err error @@ -675,7 +675,7 @@ func TestDebitCreditSubjectMinutes(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 350}}, }} @@ -730,7 +730,7 @@ func TestDebitCreditSubjectMoney(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 75, DestinationIDs: utils.StringMap{"NAT": true}, RatingSubject: "minu"}}, }} var err error @@ -780,7 +780,7 @@ func TestDebitCreditSubjectMoney(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{b1}, utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 19500, RatingSubject: "minu"}}, }} @@ -809,7 +809,7 @@ func TestDebitCreditSubjectMoney(t *testing.T) { func TestAccountdebitBalance(t *testing.T) { ub := &Account{ - Id: "rif", + ID: "rif", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.SMS: BalanceChain{&Balance{Value: 14}}, utils.DATA: BalanceChain{&Balance{Value: 1204}}, utils.VOICE: BalanceChain{&Balance{Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, } @@ -851,7 +851,7 @@ func TestAccountdebitBalance(t *testing.T) { func TestAccountdebitBalanceExists(t *testing.T) { ub := &Account{ - Id: "rif", + ID: "rif", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.SMS: BalanceChain{&Balance{Value: 14}}, utils.DATA: BalanceChain{&Balance{Value: 1024}}, utils.VOICE: BalanceChain{&Balance{Value: 15, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.NewStringMap(utils.OUT)}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, } @@ -871,7 +871,7 @@ func TestAccountdebitBalanceExists(t *testing.T) { func TestAccountAddMinuteNil(t *testing.T) { ub := &Account{ - Id: "rif", + ID: "rif", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.SMS: BalanceChain{&Balance{Value: 14}}, utils.DATA: BalanceChain{&Balance{Value: 1024}}, utils.VOICE: BalanceChain{&Balance{Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, } @@ -920,7 +920,7 @@ func TestAccountAddMinutBucketEmpty(t *testing.T) { func TestAccountExecuteTriggeredActions(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.StringMap{utils.OUT: true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.StringMap{utils.OUT: true})}}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ThresholdType: utils.TRIGGER_MAX_EVENT_COUNTER, ActionsId: "TEST_ACTIONS"}}, @@ -944,7 +944,7 @@ func TestAccountExecuteTriggeredActions(t *testing.T) { func TestAccountExecuteTriggeredActionsBalance(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}}, &Balance{Directions: utils.NewStringMap(utils.OUT), Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Filter: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, Value: 1.0}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 100, ThresholdType: utils.TRIGGER_MIN_EVENT_COUNTER, ActionsId: "TEST_ACTIONS"}}, @@ -957,7 +957,7 @@ func TestAccountExecuteTriggeredActionsBalance(t *testing.T) { func TestAccountExecuteTriggeredActionsOrder(t *testing.T) { ub := &Account{ - Id: "TEST_UB_OREDER", + ID: "TEST_UB_OREDER", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT)), Type: utils.StringPointer(utils.MONETARY)}}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ThresholdType: utils.TRIGGER_MAX_EVENT_COUNTER, ActionsId: "TEST_ACTIONS_ORDER"}}, @@ -972,7 +972,7 @@ func TestAccountExecuteTriggeredActionsOrder(t *testing.T) { func TestAccountExecuteTriggeredDayWeek(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.StringMap{utils.OUT: true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, ActionTriggers: ActionTriggers{ &ActionTrigger{UniqueID: "day_trigger", Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 10, ThresholdType: utils.TRIGGER_MAX_EVENT_COUNTER, ActionsId: "TEST_ACTIONS"}, @@ -1000,7 +1000,7 @@ func TestAccountExecuteTriggeredDayWeek(t *testing.T) { func TestAccountExpActionTrigger(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100, ExpirationDate: time.Date(2015, time.November, 9, 9, 48, 0, 0, time.UTC)}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.StringMap{utils.OUT: true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, ActionTriggers: ActionTriggers{ &ActionTrigger{ID: "check expired balances", Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 10, ThresholdType: utils.TRIGGER_BALANCE_EXPIRED, ActionsId: "TEST_ACTIONS"}, @@ -1018,7 +1018,7 @@ func TestAccountExpActionTrigger(t *testing.T) { func TestAccountExpActionTriggerNotActivated(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.StringMap{utils.OUT: true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, ActionTriggers: ActionTriggers{ &ActionTrigger{ID: "check expired balances", ActivationDate: time.Date(2116, 2, 5, 18, 0, 0, 0, time.UTC), Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 10, ThresholdType: utils.TRIGGER_BALANCE_EXPIRED, ActionsId: "TEST_ACTIONS"}, @@ -1036,7 +1036,7 @@ func TestAccountExpActionTriggerNotActivated(t *testing.T) { func TestAccountExpActionTriggerExpired(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.StringMap{"NAT": true}, Directions: utils.StringMap{utils.OUT: true}}, &Balance{Weight: 10, DestinationIDs: utils.StringMap{"RET": true}}}}, ActionTriggers: ActionTriggers{ &ActionTrigger{ID: "check expired balances", ExpirationDate: time.Date(2016, 2, 4, 18, 0, 0, 0, time.UTC), Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 10, ThresholdType: utils.TRIGGER_BALANCE_EXPIRED, ActionsId: "TEST_ACTIONS"}, @@ -1054,7 +1054,7 @@ func TestAccountExpActionTriggerExpired(t *testing.T) { func TestCleanExpired(t *testing.T) { ub := &Account{ - Id: "TEST_UB_OREDER", + ID: "TEST_UB_OREDER", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{ &Balance{ExpirationDate: time.Now().Add(10 * time.Second)}, &Balance{ExpirationDate: time.Date(2013, 7, 18, 14, 33, 0, 0, time.UTC)}, @@ -1181,14 +1181,14 @@ func TestDebitShared(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rif := &Account{Id: "rif", BalanceMap: map[string]BalanceChain{ + rif := &Account{ID: "rif", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 0, SharedGroups: utils.NewStringMap("SG_TEST")}}, }} - groupie := &Account{Id: "groupie", BalanceMap: map[string]BalanceChain{ + groupie := &Account{ID: "groupie", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneyc", Value: 130, SharedGroups: utils.NewStringMap("SG_TEST")}}, }} - sg := &SharedGroup{Id: "SG_TEST", MemberIds: utils.NewStringMap(rif.Id, groupie.Id), AccountParameters: map[string]*SharingParameters{"*any": &SharingParameters{Strategy: STRATEGY_MINE_RANDOM}}} + sg := &SharedGroup{Id: "SG_TEST", MemberIds: utils.NewStringMap(rif.ID, groupie.ID), AccountParameters: map[string]*SharingParameters{"*any": &SharingParameters{Strategy: STRATEGY_MINE_RANDOM}}} accountingStorage.SetAccount(groupie) ratingStorage.SetSharedGroup(sg) @@ -1251,14 +1251,14 @@ func TestMaxDurationShared(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rif := &Account{Id: "rif", BalanceMap: map[string]BalanceChain{ + rif := &Account{ID: "rif", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 0, SharedGroups: utils.NewStringMap("SG_TEST")}}, }} - groupie := &Account{Id: "groupie", BalanceMap: map[string]BalanceChain{ + groupie := &Account{ID: "groupie", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneyc", Value: 130, SharedGroups: utils.NewStringMap("SG_TEST")}}, }} - sg := &SharedGroup{Id: "SG_TEST", MemberIds: utils.NewStringMap(rif.Id, groupie.Id), AccountParameters: map[string]*SharingParameters{"*any": &SharingParameters{Strategy: STRATEGY_MINE_RANDOM}}} + sg := &SharedGroup{Id: "SG_TEST", MemberIds: utils.NewStringMap(rif.ID, groupie.ID), AccountParameters: map[string]*SharingParameters{"*any": &SharingParameters{Strategy: STRATEGY_MINE_RANDOM}}} accountingStorage.SetAccount(groupie) ratingStorage.SetSharedGroup(sg) @@ -1286,7 +1286,7 @@ func TestMaxDurationConnectFeeOnly(t *testing.T) { TOR: utils.VOICE, DurationIndex: 600, } - rif := &Account{Id: "rif", BalanceMap: map[string]BalanceChain{ + rif := &Account{ID: "rif", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Uuid: "moneya", Value: 0.2}}, }} @@ -1324,7 +1324,7 @@ func TestDebitSMS(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.SMS: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}}}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -1367,7 +1367,7 @@ func TestDebitGeneric(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.GENERIC: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}}}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -1410,7 +1410,7 @@ func TestDebitGenericBalance(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.GENERIC: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}, Factor: ValueFactor{utils.VOICE: 60.0}}}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -1453,7 +1453,7 @@ func TestDebitGenericBalanceWithRatingSubject(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.GENERIC: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}, Factor: ValueFactor{utils.VOICE: 60.0}, RatingSubject: "free"}}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -1503,7 +1503,7 @@ func TestDebitDataUnits(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.DATA: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}}}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}, }} @@ -1557,7 +1557,7 @@ func TestDebitDataMoney(t *testing.T) { DurationIndex: cc.GetDuration(), testCallcost: cc, } - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{ utils.DATA: BalanceChain{&Balance{Uuid: "testm", Value: 0, Weight: 5, DestinationIDs: utils.StringMap{"NAT": true}}}, utils.MONETARY: BalanceChain{&Balance{Value: 160}}, }} @@ -1755,7 +1755,7 @@ func BenchmarkGetSecondForPrefix(b *testing.B) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - ub1 := &Account{Id: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} + ub1 := &Account{ID: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} cd := &CallDescriptor{ Destination: "0723", } @@ -1768,17 +1768,17 @@ func BenchmarkGetSecondForPrefix(b *testing.B) { func BenchmarkAccountStorageStoreRestore(b *testing.B) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} + rifsBalance := &Account{ID: "other", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} for i := 0; i < b.N; i++ { accountingStorage.SetAccount(rifsBalance) - accountingStorage.GetAccount(rifsBalance.Id) + accountingStorage.GetAccount(rifsBalance.ID) } } func BenchmarkGetSecondsForPrefix(b *testing.B) { b1 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.StringMap{"NAT": true}} b2 := &Balance{Value: 100, Weight: 20, DestinationIDs: utils.StringMap{"RET": true}} - ub1 := &Account{Id: "OUT:CUSTOMER_1:rif", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} + ub1 := &Account{ID: "OUT:CUSTOMER_1:rif", BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b1, b2}, utils.MONETARY: BalanceChain{&Balance{Value: 21}}}} cd := &CallDescriptor{ Destination: "0723", } diff --git a/engine/action.go b/engine/action.go index fc300f37f..26e20a5fa 100644 --- a/engine/action.go +++ b/engine/action.go @@ -161,7 +161,7 @@ func parseTemplateValue(rsrFlds utils.RSRFields, acnt *Account, action *Action) var err error var dta *utils.TenantAccount if acnt != nil { - dta, err = utils.NewTAFromAccountKey(acnt.Id) // Account information should be valid + dta, err = utils.NewTAFromAccountKey(acnt.ID) // Account information should be valid } if err != nil || acnt == nil { dta = new(utils.TenantAccount) // Init with empty values @@ -171,7 +171,7 @@ func parseTemplateValue(rsrFlds utils.RSRFields, acnt *Account, action *Action) for _, rsrFld := range rsrFlds { switch rsrFld.Id { case "AccountID": - parsedValue += rsrFld.ParseValue(acnt.Id) + parsedValue += rsrFld.ParseValue(acnt.ID) case "Directions": parsedValue += rsrFld.ParseValue(b.Directions.String()) case utils.TENANT: @@ -469,7 +469,7 @@ func mailAsync(ub *Account, sq *StatsQueueTriggered, a *Action, acs Actions) err if err != nil { return err } - message = []byte(fmt.Sprintf("To: %s\r\nSubject: [CGR Notification] Threshold hit on Balance: %s\r\n\r\nTime: \r\n\t%s\r\n\r\nBalance:\r\n\t%s\r\n\r\nYours faithfully,\r\nCGR Balance Monitor\r\n", toAddrStr, ub.Id, time.Now(), balJsn)) + message = []byte(fmt.Sprintf("To: %s\r\nSubject: [CGR Notification] Threshold hit on Balance: %s\r\n\r\nTime: \r\n\t%s\r\n\r\nBalance:\r\n\t%s\r\n\r\nYours faithfully,\r\nCGR Balance Monitor\r\n", toAddrStr, ub.ID, time.Now(), balJsn)) } else if sq != nil { message = []byte(fmt.Sprintf("To: %s\r\nSubject: [CGR Notification] Threshold hit on StatsQueueId: %s\r\n\r\nTime: \r\n\t%s\r\n\r\nStatsQueueId:\r\n\t%s\r\n\r\nMetrics:\r\n\t%+v\r\n\r\nTrigger:\r\n\t%+v\r\n\r\nYours faithfully,\r\nCGR CDR Stats Monitor\r\n", toAddrStr, sq.Id, time.Now(), sq.Id, sq.Metrics, sq.Trigger)) @@ -481,7 +481,7 @@ func mailAsync(ub *Account, sq *StatsQueueTriggered, a *Action, acs Actions) err break } else if i == 4 { if ub != nil { - utils.Logger.Warning(fmt.Sprintf(" WARNING: Failed emailing, params: [%s], error: [%s], BalanceId: %s", a.ExtraParameters, err.Error(), ub.Id)) + utils.Logger.Warning(fmt.Sprintf(" WARNING: Failed emailing, params: [%s], error: [%s], BalanceId: %s", a.ExtraParameters, err.Error(), ub.ID)) } else if sq != nil { utils.Logger.Warning(fmt.Sprintf(" WARNING: Failed emailing, params: [%s], error: [%s], StatsQueueTriggeredId: %s", a.ExtraParameters, err.Error(), sq.Id)) } @@ -534,7 +534,7 @@ func setddestinations(ub *Account, sq *StatsQueueTriggered, a *Action, acs Actio func removeAccountAction(ub *Account, sq *StatsQueueTriggered, a *Action, acs Actions) error { var accID string if ub != nil { - accID = ub.Id + accID = ub.ID } else { accountInfo := struct { Tenant string diff --git a/engine/action_trigger.go b/engine/action_trigger.go index 0ab88a7bd..cca4336c1 100644 --- a/engine/action_trigger.go +++ b/engine/action_trigger.go @@ -53,7 +53,7 @@ func (at *ActionTrigger) Execute(ub *Account, sq *StatsQueueTriggered) (err erro } at.lastExecutionTime = time.Now() if ub != nil && ub.Disabled { - return fmt.Errorf("User %s is disabled and there are triggers in action!", ub.Id) + return fmt.Errorf("User %s is disabled and there are triggers in action!", ub.ID) } // does NOT need to Lock() because it is triggered from a method that took the Lock var aac Actions @@ -104,7 +104,7 @@ func (at *ActionTrigger) Execute(ub *Account, sq *StatsQueueTriggered) (err erro at.Executed = false } if !transactionFailed && ub != nil && !removeAccountActionFound { - storageLogger.LogActionTrigger(ub.Id, utils.RATER_SOURCE, at, aac) + storageLogger.LogActionTrigger(ub.ID, utils.RATER_SOURCE, at, aac) accountingStorage.SetAccount(ub) } return diff --git a/engine/actions_test.go b/engine/actions_test.go index 6278b54e8..64579af8f 100644 --- a/engine/actions_test.go +++ b/engine/actions_test.go @@ -692,7 +692,7 @@ func TestActionTriggers(t *testing.T) { func TestActionResetTriggres(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 10}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -705,7 +705,7 @@ func TestActionResetTriggres(t *testing.T) { func TestActionResetTriggresExecutesThem(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 10}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -718,7 +718,7 @@ func TestActionResetTriggresExecutesThem(t *testing.T) { func TestActionResetTriggresActionFilter(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 10}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -731,7 +731,7 @@ func TestActionResetTriggresActionFilter(t *testing.T) { func TestActionSetPostpaid(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -744,7 +744,7 @@ func TestActionSetPostpaid(t *testing.T) { func TestActionSetPrepaid(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, @@ -758,7 +758,7 @@ func TestActionSetPrepaid(t *testing.T) { func TestActionResetPrepaid(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, @@ -777,7 +777,7 @@ func TestActionResetPrepaid(t *testing.T) { func TestActionResetPostpaid(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.SMS)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.SMS)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -793,7 +793,7 @@ func TestActionResetPostpaid(t *testing.T) { func TestActionTopupResetCredit(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Directions: utils.NewStringMap(utils.OUT), Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -811,7 +811,7 @@ func TestActionTopupResetCredit(t *testing.T) { func TestActionTopupValueFactor(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{}, } a := &Action{ @@ -830,7 +830,7 @@ func TestActionTopupValueFactor(t *testing.T) { func TestActionTopupResetCreditId(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{Value: 100}, @@ -849,7 +849,7 @@ func TestActionTopupResetCreditId(t *testing.T) { func TestActionTopupResetCreditNoId(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{Value: 100, Directions: utils.NewStringMap(utils.OUT)}, @@ -868,7 +868,7 @@ func TestActionTopupResetCreditNoId(t *testing.T) { func TestActionTopupResetMinutes(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT"), Directions: utils.NewStringMap(utils.OUT)}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, @@ -889,7 +889,7 @@ func TestActionTopupResetMinutes(t *testing.T) { func TestActionTopupCredit(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT"), Directions: utils.NewStringMap(utils.OUT)}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -907,7 +907,7 @@ func TestActionTopupCredit(t *testing.T) { func TestActionTopupMinutes(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT"), Directions: utils.NewStringMap(utils.OUT)}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -926,7 +926,7 @@ func TestActionTopupMinutes(t *testing.T) { func TestActionDebitCredit(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY), Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -944,7 +944,7 @@ func TestActionDebitCredit(t *testing.T) { func TestActionDebitMinutes(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT"), Directions: utils.NewStringMap(utils.OUT)}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1}}}}}, ActionTriggers: ActionTriggers{&ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}, &ActionTrigger{Balance: &BalanceFilter{Type: utils.StringPointer(utils.MONETARY)}, ThresholdValue: 2, ActionsId: "TEST_ACTIONS", Executed: true}}, @@ -963,7 +963,7 @@ func TestActionDebitMinutes(t *testing.T) { func TestActionResetAllCounters(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", AllowNegative: true, BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Value: 100}}, @@ -994,7 +994,7 @@ func TestActionResetAllCounters(t *testing.T) { func TestActionResetCounterOnlyDefault(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", AllowNegative: true, BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Value: 100}}, @@ -1026,7 +1026,7 @@ func TestActionResetCounterOnlyDefault(t *testing.T) { func TestActionResetCounterCredit(t *testing.T) { ub := &Account{ - Id: "TEST_UB", + ID: "TEST_UB", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.MONETARY: BalanceChain{&Balance{Value: 100}}, utils.VOICE: BalanceChain{&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.MONETARY: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}}}}}, utils.SMS: []*UnitCounter{&UnitCounter{Counters: CounterFilters{&CounterFilter{Value: 1, Filter: &BalanceFilter{Directions: utils.StringMapPointer(utils.NewStringMap(utils.OUT))}}}}}}, @@ -1193,7 +1193,7 @@ func TestTopupActionLoaded(t *testing.T) { } func TestActionCdrlogEmpty(t *testing.T) { - acnt := &Account{Id: "cgrates.org:dan2904"} + acnt := &Account{ID: "cgrates.org:dan2904"} cdrlog := &Action{ ActionType: CDRLOG, } @@ -1214,7 +1214,7 @@ func TestActionCdrlogEmpty(t *testing.T) { } func TestActionCdrlogWithParams(t *testing.T) { - acnt := &Account{Id: "cgrates.org:dan2904"} + acnt := &Account{ID: "cgrates.org:dan2904"} cdrlog := &Action{ ActionType: CDRLOG, ExtraParameters: `{"ReqType":"^*pseudoprepaid","Subject":"^rif", "TOR":"~action_type:s/^\\*(.*)$/did_$1/"}`, @@ -1241,7 +1241,7 @@ func TestActionCdrlogWithParams(t *testing.T) { } func TestActionCdrLogParamsWithOverload(t *testing.T) { - acnt := &Account{Id: "cgrates.org:dan2904"} + acnt := &Account{ID: "cgrates.org:dan2904"} cdrlog := &Action{ ActionType: CDRLOG, ExtraParameters: `{"Subject":"^rif","Destination":"^1234","ToR":"~ActionTag:s/^at(.)$/0$1/","AccountID":"~AccountID:s/^\\*(.*)$/$1/"}`, @@ -1318,7 +1318,7 @@ func TestActionSetDDestination(t *testing.T) { func TestActionTransactionFuncType(t *testing.T) { err := accountingStorage.SetAccount(&Account{ - Id: "cgrates.org:trans", + ID: "cgrates.org:trans", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{ Value: 10, @@ -1354,7 +1354,7 @@ func TestActionTransactionFuncType(t *testing.T) { func TestActionTransactionBalanceType(t *testing.T) { err := accountingStorage.SetAccount(&Account{ - Id: "cgrates.org:trans", + ID: "cgrates.org:trans", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{ Value: 10, @@ -1390,7 +1390,7 @@ func TestActionTransactionBalanceType(t *testing.T) { func TestActionTransactionBalanceNotType(t *testing.T) { err := accountingStorage.SetAccount(&Account{ - Id: "cgrates.org:trans", + ID: "cgrates.org:trans", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{ Value: 10, @@ -1426,7 +1426,7 @@ func TestActionTransactionBalanceNotType(t *testing.T) { func TestActionWithExpireWithoutExpire(t *testing.T) { err := accountingStorage.SetAccount(&Account{ - Id: "cgrates.org:exp", + ID: "cgrates.org:exp", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{ Value: 10, @@ -1470,7 +1470,7 @@ func TestActionWithExpireWithoutExpire(t *testing.T) { func TestActionRemoveBalance(t *testing.T) { err := accountingStorage.SetAccount(&Account{ - Id: "cgrates.org:rembal", + ID: "cgrates.org:rembal", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1518,7 +1518,7 @@ func TestActionRemoveBalance(t *testing.T) { func TestActionTransferMonetaryDefault(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:trans", + ID: "cgrates.org:trans", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1574,7 +1574,7 @@ func TestActionTransferMonetaryDefault(t *testing.T) { func TestActionTransferMonetaryDefaultFilter(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:trans", + ID: "cgrates.org:trans", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1635,7 +1635,7 @@ func TestActionTransferMonetaryDefaultFilter(t *testing.T) { func TestActionConditionalTopup(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:cond", + ID: "cgrates.org:cond", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1699,7 +1699,7 @@ func TestActionConditionalTopup(t *testing.T) { func TestActionConditionalTopupNoMatch(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:cond", + ID: "cgrates.org:cond", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1762,7 +1762,7 @@ func TestActionConditionalTopupNoMatch(t *testing.T) { func TestActionConditionalTopupExistingBalance(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:cond", + ID: "cgrates.org:cond", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ @@ -1826,7 +1826,7 @@ func TestActionConditionalTopupExistingBalance(t *testing.T) { func TestActionConditionalDisabledIfNegative(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:af", + ID: "cgrates.org:af", BalanceMap: map[string]BalanceChain{ "*data": BalanceChain{ &Balance{ @@ -1979,7 +1979,7 @@ func TestActionConditionalDisabledIfNegative(t *testing.T) { func TestActionSetBalance(t *testing.T) { err := accountingStorage.SetAccount( &Account{ - Id: "cgrates.org:setb", + ID: "cgrates.org:setb", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{ diff --git a/engine/balances.go b/engine/balances.go index 3b98b7b25..43b5cb207 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -356,7 +356,7 @@ func (b *Balance) debitUnits(cd *CallDescriptor, ub *Account, moneyBalances Bala if b.GetValue() >= amount { b.SubstractValue(amount) inc.BalanceInfo.UnitBalanceUuid = b.Uuid - inc.BalanceInfo.AccountId = ub.Id + inc.BalanceInfo.AccountId = ub.ID inc.UnitInfo = &UnitInfo{cc.Destination, amount, cc.TOR} inc.Cost = 0 inc.paid = true @@ -427,7 +427,7 @@ func (b *Balance) debitUnits(cd *CallDescriptor, ub *Account, moneyBalances Bala if strategy == utils.MAX_COST_FREE && cd.MaxCostSoFar >= maxCost { cost, inc.Cost = 0.0, 0.0 inc.BalanceInfo.MoneyBalanceUuid = b.Uuid - inc.BalanceInfo.AccountId = ub.Id + inc.BalanceInfo.AccountId = ub.ID inc.paid = true if count { ub.countUnits(cost, utils.MONETARY, cc, b) @@ -445,7 +445,7 @@ func (b *Balance) debitUnits(cd *CallDescriptor, ub *Account, moneyBalances Bala if (cost == 0 || moneyBal != nil) && b.GetValue() >= amount { b.SubstractValue(amount) inc.BalanceInfo.UnitBalanceUuid = b.Uuid - inc.BalanceInfo.AccountId = ub.Id + inc.BalanceInfo.AccountId = ub.ID inc.UnitInfo = &UnitInfo{cc.Destination, amount, cc.TOR} if cost != 0 { inc.BalanceInfo.MoneyBalanceUuid = moneyBal.Uuid @@ -534,7 +534,7 @@ func (b *Balance) debitMoney(cd *CallDescriptor, ub *Account, moneyBalances Bala if strategy == utils.MAX_COST_FREE && cd.MaxCostSoFar >= maxCost { amount, inc.Cost = 0.0, 0.0 inc.BalanceInfo.MoneyBalanceUuid = b.Uuid - inc.BalanceInfo.AccountId = ub.Id + inc.BalanceInfo.AccountId = ub.ID inc.paid = true if count { ub.countUnits(amount, utils.MONETARY, cc, b) @@ -549,7 +549,7 @@ func (b *Balance) debitMoney(cd *CallDescriptor, ub *Account, moneyBalances Bala b.SubstractValue(amount) cd.MaxCostSoFar += amount inc.BalanceInfo.MoneyBalanceUuid = b.Uuid - inc.BalanceInfo.AccountId = ub.Id + inc.BalanceInfo.AccountId = ub.ID inc.paid = true if count { ub.countUnits(amount, utils.MONETARY, cc, b) @@ -661,7 +661,7 @@ func (bc BalanceChain) SaveDirtyBalances(acc *Account) { disabled := "" if b.account != nil { // only publish modifications for balances with account set //utils.LogStack() - accountId = b.account.Id + accountId = b.account.ID allowNegative = strconv.FormatBool(b.account.AllowNegative) disabled = strconv.FormatBool(b.account.Disabled) Publish(CgrEvent{ @@ -683,9 +683,9 @@ func (bc BalanceChain) SaveDirtyBalances(acc *Account) { }) } } - if b.account != nil && b.account != acc && b.dirty && savedAccounts[b.account.Id] == false { + if b.account != nil && b.account != acc && b.dirty && savedAccounts[b.account.ID] == false { accountingStorage.SetAccount(b.account) - savedAccounts[b.account.Id] = true + savedAccounts[b.account.ID] = true } } } diff --git a/engine/calldesc.go b/engine/calldesc.go index 2ead17ea5..2d55812bb 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -180,7 +180,7 @@ func (cd *CallDescriptor) getAccount() (ub *Account, err error) { cd.account, err = accountingStorage.GetAccount(cd.GetAccountKey()) } if cd.account != nil && cd.account.Disabled { - return nil, fmt.Errorf("User %s is disabled", cd.account.Id) + return nil, fmt.Errorf("User %s is disabled", cd.account.ID) } return cd.account, err } diff --git a/engine/calldesc_test.go b/engine/calldesc_test.go index 288e9b222..9f174dc4f 100644 --- a/engine/calldesc_test.go +++ b/engine/calldesc_test.go @@ -51,7 +51,7 @@ func populateDB() { } minu := &Account{ - Id: "vdf:minu", + ID: "vdf:minu", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{&Balance{Value: 50}}, utils.VOICE: BalanceChain{ @@ -60,7 +60,7 @@ func populateDB() { }}, } broker := &Account{ - Id: "vdf:broker", + ID: "vdf:broker", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{ &Balance{Value: 20, DestinationIDs: utils.NewStringMap("NAT"), Weight: 10, RatingSubject: "rif"}, @@ -68,7 +68,7 @@ func populateDB() { }}, } luna := &Account{ - Id: "vdf:luna", + ID: "vdf:luna", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{Value: 0, Weight: 20}, @@ -76,7 +76,7 @@ func populateDB() { } // this is added to test if csv load tests account will not overwrite balances minitsboy := &Account{ - Id: "vdf:minitsboy", + ID: "vdf:minitsboy", BalanceMap: map[string]BalanceChain{ utils.VOICE: BalanceChain{ &Balance{Value: 20, DestinationIDs: utils.NewStringMap("NAT"), Weight: 10, RatingSubject: "rif"}, @@ -88,14 +88,14 @@ func populateDB() { }, } max := &Account{ - Id: "cgrates.org:max", + ID: "cgrates.org:max", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{Value: 11, Weight: 20}, }}, } money := &Account{ - Id: "cgrates.org:money", + ID: "cgrates.org:money", BalanceMap: map[string]BalanceChain{ utils.MONETARY: BalanceChain{ &Balance{Value: 10000, Weight: 10}, diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go index 9f9a62abd..5e1c10b32 100644 --- a/engine/loader_csv_test.go +++ b/engine/loader_csv_test.go @@ -1101,7 +1101,7 @@ func TestLoadAccountActions(t *testing.T) { } aa := csvr.accountActions["vdf:minitsboy"] expected := &Account{ - Id: "vdf:minitsboy", + ID: "vdf:minitsboy", UnitCounters: UnitCounters{ utils.VOICE: []*UnitCounter{ &UnitCounter{ @@ -1136,12 +1136,12 @@ func TestLoadAccountActions(t *testing.T) { t.Errorf("Error loading account action: %+v", utils.ToIJSON(aa.UnitCounters[utils.VOICE][0].Counters[0].Filter)) } // test that it does not overwrite balances - existing, err := accountingStorage.GetAccount(aa.Id) + existing, err := accountingStorage.GetAccount(aa.ID) if err != nil || len(existing.BalanceMap) != 2 { t.Errorf("The account was not set before load: %+v", existing) } accountingStorage.SetAccount(aa) - existing, err = accountingStorage.GetAccount(aa.Id) + existing, err = accountingStorage.GetAccount(aa.ID) if err != nil || len(existing.BalanceMap) != 2 { t.Errorf("The set account altered the balances: %+v", existing) } diff --git a/engine/responder_test.go b/engine/responder_test.go index e3f0d7ae4..7fc5d06c5 100644 --- a/engine/responder_test.go +++ b/engine/responder_test.go @@ -73,8 +73,8 @@ func TestResponderGetDerivedMaxSessionTime(t *testing.T) { } b10 := &Balance{Value: 10, Weight: 10, DestinationIDs: utils.NewStringMap("DE_TMOBILE")} b20 := &Balance{Value: 20, Weight: 10, DestinationIDs: utils.NewStringMap("DE_TMOBILE")} - rifsAccount := &Account{Id: utils.ConcatenatedKey(testTenant, "rif"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b10}}} - dansAccount := &Account{Id: utils.ConcatenatedKey(testTenant, "dan"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b20}}} + rifsAccount := &Account{ID: utils.ConcatenatedKey(testTenant, "rif"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b10}}} + dansAccount := &Account{ID: utils.ConcatenatedKey(testTenant, "dan"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{b20}}} if err := accountingStorage.SetAccount(rifsAccount); err != nil { t.Error(err) } @@ -437,8 +437,8 @@ func TestResponderGetLCR(t *testing.T) { } bRif12 := &Balance{Value: 40, Weight: 10, DestinationIDs: utils.NewStringMap(dstDe.Id)} bIvo12 := &Balance{Value: 60, Weight: 10, DestinationIDs: utils.NewStringMap(dstDe.Id)} - rif12sAccount := &Account{Id: utils.ConcatenatedKey("tenant12", "rif12"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{bRif12}}, AllowNegative: true} - ivo12sAccount := &Account{Id: utils.ConcatenatedKey("tenant12", "ivo12"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{bIvo12}}, AllowNegative: true} + rif12sAccount := &Account{ID: utils.ConcatenatedKey("tenant12", "rif12"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{bRif12}}, AllowNegative: true} + ivo12sAccount := &Account{ID: utils.ConcatenatedKey("tenant12", "ivo12"), BalanceMap: map[string]BalanceChain{utils.VOICE: BalanceChain{bIvo12}}, AllowNegative: true} for _, acnt := range []*Account{rif12sAccount, ivo12sAccount} { if err := accountingStorage.SetAccount(acnt); err != nil { t.Error(err) diff --git a/engine/sharedgroup.go b/engine/sharedgroup.go index ab8e4750b..5bec228bc 100644 --- a/engine/sharedgroup.go +++ b/engine/sharedgroup.go @@ -51,7 +51,7 @@ type SharingParameters struct { func (sg *SharedGroup) SortBalancesByStrategy(myBalance *Balance, bc BalanceChain) BalanceChain { sharingParameters := sg.AccountParameters[utils.ANY] - if sp, hasParamsForAccount := sg.AccountParameters[myBalance.account.Id]; hasParamsForAccount { + if sp, hasParamsForAccount := sg.AccountParameters[myBalance.account.ID]; hasParamsForAccount { sharingParameters = sp } @@ -94,7 +94,7 @@ func (sg *SharedGroup) GetBalances(destination, category, direction, balanceType // if len(sg.members) == 0 { for ubId := range sg.MemberIds { var nUb *Account - if ubId == ub.Id { // skip the initiating user + if ubId == ub.ID { // skip the initiating user nUb = ub } else { nUb, _ = accountingStorage.GetAccount(ubId) diff --git a/engine/sharedgroup_test.go b/engine/sharedgroup_test.go index b74df0846..bbf6efc51 100644 --- a/engine/sharedgroup_test.go +++ b/engine/sharedgroup_test.go @@ -52,7 +52,7 @@ func TestSharedSetGet(t *testing.T) { func TestSharedPopBalanceByStrategyLow(t *testing.T) { bc := BalanceChain{ &Balance{Value: 2.0}, - &Balance{Uuid: "uuuu", Value: 1.0, account: &Account{Id: "test"}}, + &Balance{Uuid: "uuuu", Value: 1.0, account: &Account{ID: "test"}}, &Balance{Value: 3.0}, } sg := &SharedGroup{AccountParameters: map[string]*SharingParameters{ @@ -68,7 +68,7 @@ func TestSharedPopBalanceByStrategyLow(t *testing.T) { func TestSharedPopBalanceByStrategyHigh(t *testing.T) { bc := BalanceChain{ - &Balance{Uuid: "uuuu", Value: 2.0, account: &Account{Id: "test"}}, + &Balance{Uuid: "uuuu", Value: 2.0, account: &Account{ID: "test"}}, &Balance{Value: 1.0}, &Balance{Value: 3.0}, } @@ -85,7 +85,7 @@ func TestSharedPopBalanceByStrategyHigh(t *testing.T) { func TestSharedPopBalanceByStrategyMineHigh(t *testing.T) { bc := BalanceChain{ - &Balance{Uuid: "uuuu", Value: 2.0, account: &Account{Id: "test"}}, + &Balance{Uuid: "uuuu", Value: 2.0, account: &Account{ID: "test"}}, &Balance{Value: 1.0}, &Balance{Value: 3.0}, } diff --git a/engine/storage_map.go b/engine/storage_map.go index d1e788745..0e77e3ae1 100644 --- a/engine/storage_map.go +++ b/engine/storage_map.go @@ -464,7 +464,7 @@ func (ms *MapStorage) SetSharedGroup(sg *SharedGroup) (err error) { func (ms *MapStorage) GetAccount(key string) (ub *Account, err error) { if values, ok := ms.dict[utils.ACCOUNT_PREFIX+key]; ok { - ub = &Account{Id: key} + ub = &Account{ID: key} err = ms.ms.Unmarshal(values, ub) } else { return nil, utils.ErrNotFound @@ -477,7 +477,7 @@ func (ms *MapStorage) SetAccount(ub *Account) (err error) { // UPDATE: if all balances expired and were cleaned it makes // sense to write empty balance map if len(ub.BalanceMap) == 0 { - if ac, err := ms.GetAccount(ub.Id); err == nil && !ac.allBalancesExpired() { + if ac, err := ms.GetAccount(ub.ID); err == nil && !ac.allBalancesExpired() { ac.ActionTriggers = ub.ActionTriggers ac.UnitCounters = ub.UnitCounters ac.AllowNegative = ub.AllowNegative @@ -486,7 +486,7 @@ func (ms *MapStorage) SetAccount(ub *Account) (err error) { } } result, err := ms.ms.Marshal(ub) - ms.dict[utils.ACCOUNT_PREFIX+ub.Id] = result + ms.dict[utils.ACCOUNT_PREFIX+ub.ID] = result return } diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 85cd4f7ef..4fb29e84b 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -870,7 +870,7 @@ func (ms *MongoStorage) SetAccount(acc *Account) error { // UPDATE: if all balances expired and were cleaned it makes // sense to write empty balance map if len(acc.BalanceMap) == 0 { - if ac, err := ms.GetAccount(acc.Id); err == nil && !ac.allBalancesExpired() { + if ac, err := ms.GetAccount(acc.ID); err == nil && !ac.allBalancesExpired() { ac.ActionTriggers = acc.ActionTriggers ac.UnitCounters = acc.UnitCounters ac.AllowNegative = acc.AllowNegative @@ -878,7 +878,7 @@ func (ms *MongoStorage) SetAccount(acc *Account) error { acc = ac } } - _, err := ms.db.C(colAcc).Upsert(bson.M{"id": acc.Id}, acc) + _, err := ms.db.C(colAcc).Upsert(bson.M{"id": acc.ID}, acc) return err } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 9c9fe6a51..52d4bb3a7 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -621,7 +621,7 @@ func (rs *RedisStorage) GetAccount(key string) (*Account, error) { if err != nil { return nil, err } - ub := &Account{Id: key} + ub := &Account{ID: key} if err = rs.ms.Unmarshal(values, ub); err != nil { return nil, err } @@ -633,7 +633,7 @@ func (rs *RedisStorage) SetAccount(ub *Account) (err error) { // UPDATE: if all balances expired and were cleaned it makes // sense to write empty balance map if len(ub.BalanceMap) == 0 { - if ac, err := rs.GetAccount(ub.Id); err == nil && !ac.allBalancesExpired() { + if ac, err := rs.GetAccount(ub.ID); err == nil && !ac.allBalancesExpired() { ac.ActionTriggers = ub.ActionTriggers ac.UnitCounters = ub.UnitCounters ac.AllowNegative = ub.AllowNegative @@ -642,7 +642,7 @@ func (rs *RedisStorage) SetAccount(ub *Account) (err error) { } } result, err := rs.ms.Marshal(ub) - err = rs.db.Cmd("SET", utils.ACCOUNT_PREFIX+ub.Id, result).Err + err = rs.db.Cmd("SET", utils.ACCOUNT_PREFIX+ub.ID, result).Err return } diff --git a/engine/storage_test.go b/engine/storage_test.go index bdb245c3e..40273c415 100644 --- a/engine/storage_test.go +++ b/engine/storage_test.go @@ -327,7 +327,7 @@ func GetUB() *Account { var zeroTime time.Time zeroTime = zeroTime.UTC() // for deep equal to find location ub := &Account{ - Id: "rif", + ID: "rif", AllowNegative: true, BalanceMap: map[string]BalanceChain{utils.SMS: BalanceChain{&Balance{Value: 14, ExpirationDate: zeroTime}}, utils.DATA: BalanceChain{&Balance{Value: 1024, ExpirationDate: zeroTime}}, utils.VOICE: BalanceChain{&Balance{Weight: 20, DestinationIDs: utils.NewStringMap("NAT")}, &Balance{Weight: 10, DestinationIDs: utils.NewStringMap("RET")}}}, UnitCounters: UnitCounters{utils.SMS: []*UnitCounter{uc, uc}}, diff --git a/engine/tp_reader.go b/engine/tp_reader.go index f117afd65..439138a4f 100644 --- a/engine/tp_reader.go +++ b/engine/tp_reader.go @@ -1086,7 +1086,7 @@ func (tpr *TpReader) LoadAccountActionsFiltered(qriedAA *TpAccountAction) error ub, err := tpr.accountingStorage.GetAccount(id) if err != nil { ub = &Account{ - Id: id, + ID: id, } } ub.ActionTriggers = actionTriggers @@ -1121,7 +1121,7 @@ func (tpr *TpReader) LoadAccountActions() (err error) { } } ub := &Account{ - Id: aa.KeyId(), + ID: aa.KeyId(), ActionTriggers: aTriggers, AllowNegative: aa.AllowNegative, Disabled: aa.Disabled, @@ -1763,7 +1763,7 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) { return err } if verbose { - log.Println("\t", ub.Id) + log.Println("\t", ub.ID) } } if verbose {