Add SetActionTriggers in DataManager

This commit is contained in:
TeoV
2017-10-19 16:10:43 +03:00
committed by Dan Christian Bogos
parent aa00c1aaba
commit 7b1eb4d46d
9 changed files with 23 additions and 13 deletions

View File

@@ -369,7 +369,7 @@ func (self *ApierV1) RemoveActionTrigger(attr AttrRemoveActionTrigger, reply *st
remainingAtrs = append(remainingAtrs, atr)
}
// set the cleared list back
err = self.DataManager.DataDB().SetActionTriggers(attr.GroupID, remainingAtrs, utils.NonTransactional)
err = self.DataManager.SetActionTriggers(attr.GroupID, remainingAtrs, utils.NonTransactional)
if err != nil {
*reply = err.Error()
} else {
@@ -514,7 +514,7 @@ func (self *ApierV1) SetActionTrigger(attr AttrSetActionTrigger, reply *string)
if attr.ActionsID != nil {
newAtr.ActionsID = *attr.ActionsID
}
if err = self.DataManager.DataDB().SetActionTriggers(attr.GroupID, atrs, utils.NonTransactional); err != nil {
if err = self.DataManager.SetActionTriggers(attr.GroupID, atrs, utils.NonTransactional); err != nil {
return
}
if err = self.DataManager.CacheDataFromDB(utils.ACTION_TRIGGER_PREFIX, []string{attr.GroupID}, true); err != nil {

View File

@@ -544,3 +544,14 @@ func (dm *DataManager) GetLCR(id string, skipCache bool, transactionID string) (
cache.Set(key, lcr, cacheCommit(transactionID), transactionID)
return
}
func (dm *DataManager) SetActionTriggers(key string, attr ActionTriggers, transactionID string) (err error) {
if dm.DataDB().GetStorageType() == utils.MAPSTOR {
if err = dm.DataDB().SetActionTriggersDrv(key, attr); err != nil {
cache.RemKey(utils.ACTION_TRIGGER_PREFIX+key, cacheCommit(transactionID), transactionID)
}
return
} else {
return dm.DataDB().SetActionTriggersDrv(key, attr)
}
}

View File

@@ -556,7 +556,7 @@ func testOnStorITCacheActionTriggers(t *testing.T) {
ActivationDate: time.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC).Local()},
}
atsID := ats[0].ID
if err := onStor.DataDB().SetActionTriggers(atsID, ats, utils.NonTransactional); err != nil {
if err := onStor.SetActionTriggers(atsID, ats, utils.NonTransactional); err != nil {
t.Error(err)
}
expectedCAt := []string{"atr_testOnStorITCacheActionTrigger"}
@@ -1400,7 +1400,7 @@ func testOnStorITCRUDActionTriggers(t *testing.T) {
if _, rcvErr := onStor.GetActionTriggers(atsID, true, utils.NonTransactional); rcvErr != utils.ErrNotFound {
t.Error(rcvErr)
}
if err := onStor.DataDB().SetActionTriggers(atsID, ats, utils.NonTransactional); err != nil {
if err := onStor.SetActionTriggers(atsID, ats, utils.NonTransactional); err != nil {
t.Error(err)
}
if rcv, err := onStor.GetActionTriggers(atsID, true, utils.NonTransactional); err != nil {

View File

@@ -72,7 +72,7 @@ type DataDB interface {
GetSharedGroup(string, bool, string) (*SharedGroup, error)
SetSharedGroup(*SharedGroup, string) error
GetActionTriggersDrv(string) (ActionTriggers, error)
SetActionTriggers(string, ActionTriggers, string) error
SetActionTriggersDrv(string, ActionTriggers) error
RemoveActionTriggersDrv(string) error
GetActionPlan(string, bool, string) (*ActionPlan, error)
SetActionPlan(string, *ActionPlan, bool, string) error

View File

@@ -833,7 +833,7 @@ func (ms *MapStorage) GetActionTriggersDrv(key string) (atrs ActionTriggers, err
return
}
func (ms *MapStorage) SetActionTriggers(key string, atrs ActionTriggers, transactionID string) (err error) {
func (ms *MapStorage) SetActionTriggersDrv(key string, atrs ActionTriggers) (err error) {
ms.mu.Lock()
defer ms.mu.Unlock()
if len(atrs) == 0 {
@@ -843,7 +843,6 @@ func (ms *MapStorage) SetActionTriggers(key string, atrs ActionTriggers, transac
}
result, err := ms.ms.Marshal(&atrs)
ms.dict[utils.ACTION_TRIGGER_PREFIX+key] = result
cache.RemKey(utils.ACTION_TRIGGER_PREFIX+key, cacheCommit(transactionID), transactionID)
return
}

View File

@@ -1416,7 +1416,7 @@ func (ms *MongoStorage) GetActionTriggersDrv(key string) (atrs ActionTriggers, e
return
}
func (ms *MongoStorage) SetActionTriggers(key string, atrs ActionTriggers, transactionID string) (err error) {
func (ms *MongoStorage) SetActionTriggersDrv(key string, atrs ActionTriggers) (err error) {
session, col := ms.conn(colAtr)
defer session.Close()
if len(atrs) == 0 {

View File

@@ -935,7 +935,7 @@ func (rs *RedisStorage) GetActionTriggersDrv(key string) (atrs ActionTriggers, e
return
}
func (rs *RedisStorage) SetActionTriggers(key string, atrs ActionTriggers, transactionID string) (err error) {
func (rs *RedisStorage) SetActionTriggersDrv(key string, atrs ActionTriggers) (err error) {
if len(atrs) == 0 {
// delete the key
return rs.Cmd("DEL", utils.ACTION_TRIGGER_PREFIX+key).Err

View File

@@ -1012,7 +1012,7 @@ func (tpr *TpReader) LoadAccountActionsFiltered(qriedAA *utils.TPAccountActions)
actionIDs = append(actionIDs, atr.ActionsID)
}
// write action triggers
err = tpr.dm.DataDB().SetActionTriggers(accountAction.ActionTriggersId, actionTriggers, utils.NonTransactional)
err = tpr.dm.SetActionTriggers(accountAction.ActionTriggersId, actionTriggers, utils.NonTransactional)
if err != nil {
return errors.New(err.Error() + " (SetActionTriggers): " + accountAction.ActionTriggersId)
}
@@ -1352,7 +1352,7 @@ func (tpr *TpReader) LoadCdrStatsFiltered(tag string, save bool) (err error) {
return fmt.Errorf("could not get action triggers for cdr stats id %s: %s", cs.Id, triggerTag)
}
// write action triggers
err = tpr.dm.DataDB().SetActionTriggers(triggerTag, triggers, utils.NonTransactional)
err = tpr.dm.SetActionTriggers(triggerTag, triggers, utils.NonTransactional)
if err != nil {
return errors.New(err.Error() + " (SetActionTriggers): " + triggerTag)
}
@@ -1902,7 +1902,7 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose, disable_reverse bool) (err
log.Print("Action Triggers:")
}
for k, atrs := range tpr.actionsTriggers {
err = tpr.dm.DataDB().SetActionTriggers(k, atrs, utils.NonTransactional)
err = tpr.dm.SetActionTriggers(k, atrs, utils.NonTransactional)
if err != nil {
return err
}

View File

@@ -70,7 +70,7 @@ func (m *Migrator) migrateActionTriggers() (err error) {
}
if m.dryRun != true {
if err := m.dm.DataDB().SetActionTriggers(acts[0].ID, acts, utils.NonTransactional); err != nil {
if err := m.dm.SetActionTriggers(acts[0].ID, acts, utils.NonTransactional); err != nil {
return err
}
m.stats[utils.ActionTriggers] += 1