Add RemoveRatingProfile in DataManager

This commit is contained in:
TeoV
2017-10-21 11:51:02 +03:00
committed by Dan Christian Bogos
parent 96867654f4
commit 714793b7f9
7 changed files with 14 additions and 9 deletions

View File

@@ -1618,7 +1618,7 @@ func (self *ApierV1) RemoveRatingProfile(attr AttrRemoveRatingProfile, reply *st
return utils.ErrMandatoryIeMissing
}
_, err := guardian.Guardian.Guard(func() (interface{}, error) {
err := self.DataManager.DataDB().RemoveRatingProfile(attr.GetId(), utils.NonTransactional)
err := self.DataManager.RemoveRatingProfile(attr.GetId(), utils.NonTransactional)
if err != nil {
return 0, err
}

View File

@@ -729,3 +729,11 @@ func (dm *DataManager) SetRatingProfile(rpf *RatingProfile, transactionID string
return dm.DataDB().SetRatingProfileDrv(rpf)
}
}
func (dm *DataManager) RemoveRatingProfile(key string, transactionID string) (err error) {
if err = dm.DataDB().RemoveRatingProfileDrv(key); err != nil {
return
}
cache.RemKey(utils.RATING_PROFILE_PREFIX+key, cacheCommit(transactionID), transactionID)
return
}

View File

@@ -1096,7 +1096,7 @@ func testOnStorITCRUDRatingProfile(t *testing.T) {
// if err = onStor.DataDB().SelectDatabase(onStorCfg); err != nil {
// t.Error(err)
// }
if err = onStor.DataDB().RemoveRatingProfile(rpf.Id, utils.NonTransactional); err != nil {
if err = onStor.RemoveRatingProfile(rpf.Id, utils.NonTransactional); err != nil {
t.Error(err)
}
if _, rcvErr := onStor.GetRatingProfile(rpf.Id, true, utils.NonTransactional); rcvErr != utils.ErrNotFound {

View File

@@ -52,7 +52,7 @@ type DataDB interface {
SetRatingPlanDrv(*RatingPlan) error
GetRatingProfileDrv(string) (*RatingProfile, error)
SetRatingProfileDrv(*RatingProfile) error
RemoveRatingProfile(string, string) error
RemoveRatingProfileDrv(string) error
GetDestination(string, bool, string) (*Destination, error)
SetDestination(*Destination, string) error
RemoveDestination(string, string) error

View File

@@ -242,13 +242,12 @@ func (ms *MapStorage) SetRatingProfileDrv(rpf *RatingProfile) (err error) {
return
}
func (ms *MapStorage) RemoveRatingProfile(key string, transactionID string) (err error) {
func (ms *MapStorage) RemoveRatingProfileDrv(key string) (err error) {
ms.mu.Lock()
defer ms.mu.Unlock()
for k := range ms.dict {
if strings.HasPrefix(k, key) {
delete(ms.dict, key)
cache.RemKey(k, cacheCommit(transactionID), transactionID)
response := 0
rpf := &RatingProfile{Id: key}
if historyScribe != nil {

View File

@@ -692,7 +692,7 @@ func (ms *MongoStorage) SetRatingProfileDrv(rp *RatingProfile) (err error) {
return
}
func (ms *MongoStorage) RemoveRatingProfile(key, transactionID string) error {
func (ms *MongoStorage) RemoveRatingProfileDrv(key string) error {
session, col := ms.conn(colRpf)
defer session.Close()
iter := col.Find(bson.M{"id": key}).Select(bson.M{"id": 1}).Iter()
@@ -701,7 +701,6 @@ func (ms *MongoStorage) RemoveRatingProfile(key, transactionID string) error {
if err := col.Remove(bson.M{"id": result.Id}); err != nil {
return err
}
cache.RemKey(utils.RATING_PROFILE_PREFIX+key, cacheCommit(transactionID), transactionID)
rpf := &RatingProfile{Id: result.Id}
if historyScribe != nil {
var response int

View File

@@ -286,7 +286,7 @@ func (rs *RedisStorage) SetRatingProfileDrv(rpf *RatingProfile) (err error) {
return
}
func (rs *RedisStorage) RemoveRatingProfile(key string, transactionID string) error {
func (rs *RedisStorage) RemoveRatingProfileDrv(key string) error {
keys, err := rs.Cmd("KEYS", utils.RATING_PROFILE_PREFIX+key+"*").List()
if err != nil {
return err
@@ -295,7 +295,6 @@ func (rs *RedisStorage) RemoveRatingProfile(key string, transactionID string) er
if err = rs.Cmd("DEL", key).Err; err != nil {
return err
}
cache.RemKey(key, cacheCommit(transactionID), transactionID)
rpf := &RatingProfile{Id: key}
if historyScribe != nil {
response := 0