From 98a172ebbf10f3cd0b6afb51bf6412de833c1bef Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Wed, 12 Aug 2015 15:41:14 +0300 Subject: [PATCH] apier load fixes --- apier/v1/apier.go | 6 +++++- apier/v2/apier.go | 2 +- engine/tp_reader.go | 25 +++++++++++++++---------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/apier/v1/apier.go b/apier/v1/apier.go index f77f6fd71..72ca292f4 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -265,7 +265,11 @@ func (self *ApierV1) LoadRatingPlan(attrs AttrLoadRatingPlan, reply *string) err //Automatic cache of the newly inserted rating plan var changedRPlKeys []string if len(attrs.TPid) != 0 { - changedRPlKeys = []string{utils.RATING_PLAN_PREFIX + attrs.RatingPlanId} + if attrs.RatingPlanId != "" { + changedRPlKeys = []string{utils.RATING_PLAN_PREFIX + attrs.RatingPlanId} + } else { + changedRPlKeys = nil + } } if err := self.RatingDb.CacheRatingPrefixValues(map[string][]string{ utils.DESTINATION_PREFIX: nil, diff --git a/apier/v2/apier.go b/apier/v2/apier.go index 8d4035ffc..df7fb9e20 100644 --- a/apier/v2/apier.go +++ b/apier/v2/apier.go @@ -81,7 +81,7 @@ func (self *ApierV2) LoadAccountActions(attrs AttrLoadAccountActions, reply *str } // ToDo: Get the action keys loaded by dbReader so we reload only these in cache // Need to do it before scheduler otherwise actions to run will be unknown - if err := self.RatingDb.CacheRatingPrefixes(utils.DERIVED_CHARGERS_CSV, utils.ACTION_PREFIX, utils.SHARED_GROUP_PREFIX); err != nil { + if err := self.RatingDb.CacheRatingPrefixes(utils.DERIVEDCHARGERS_PREFIX, utils.ACTION_PREFIX, utils.SHARED_GROUP_PREFIX); err != nil { return err } if self.Sched != nil { diff --git a/engine/tp_reader.go b/engine/tp_reader.go index b41e1eeed..aebc7d650 100644 --- a/engine/tp_reader.go +++ b/engine/tp_reader.go @@ -681,17 +681,22 @@ func (tpr *TpReader) LoadAccountActionsFiltered(qriedAA *TpAccountAction) error } else if len(actions) == 0 { return fmt.Errorf("no action with id <%s>", at.ActionsId) } - tptm, err := tpr.lr.GetTpTimings(tpr.tpid, at.TimingId) - if err != nil { - return errors.New(err.Error() + " (Timing): " + at.TimingId) - } else if len(tptm) == 0 { - return fmt.Errorf("no timing with id <%s>", at.TimingId) + var t *utils.TPTiming + if at.TimingId != utils.ASAP { + tptm, err := tpr.lr.GetTpTimings(tpr.tpid, at.TimingId) + if err != nil { + return errors.New(err.Error() + " (Timing): " + at.TimingId) + } else if len(tptm) == 0 { + return fmt.Errorf("no timing with id <%s>", at.TimingId) + } + tm, err := TpTimings(tptm).GetTimings() + if err != nil { + return err + } + t = tm[at.TimingId] + } else { + t = tpr.timings[at.TimingId] // *asap } - tm, err := TpTimings(tptm).GetTimings() - if err != nil { - return err - } - t := tm[at.TimingId] actTmg := &ActionPlan{ Uuid: utils.GenUUID(), Id: accountAction.ActionPlanId,