mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 15:18:44 +05:00
Prepared code for pull request, commented not fully integrated code
This commit is contained in:
committed by
Dan Christian Bogos
parent
67a039c0bd
commit
9ad0e2cefe
@@ -438,28 +438,28 @@ func (dm *DataManager) GetStatQueueProfile(tenant, id string, skipCache bool, tr
|
||||
}
|
||||
|
||||
func (dm *DataManager) SetStatQueueProfile(sqp *StatQueueProfile, withIndex bool) (err error) {
|
||||
if withIndex {
|
||||
indexer := NewReqFilterIndexer(dm, utils.ThresholdProfilePrefix, sqp.Tenant)
|
||||
//remove old StatQueueProfile indexes
|
||||
if err = indexer.RemoveItemFromIndex(sqp.ID); err != nil &&
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
return
|
||||
}
|
||||
//Verify matching Filters for every FilterID from StatQueueProfile
|
||||
for _, fltrID := range sqp.FilterIDs {
|
||||
var fltr *Filter
|
||||
if fltr, err = dm.GetFilter(sqp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
if err == utils.ErrNotFound {
|
||||
err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, sqp)
|
||||
}
|
||||
return
|
||||
}
|
||||
indexer.IndexTPFilter(FilterToTPFilter(fltr), sqp.ID)
|
||||
}
|
||||
if err = indexer.StoreIndexes(); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
// if withIndex {
|
||||
// indexer := NewReqFilterIndexer(dm, utils.ThresholdProfilePrefix, sqp.Tenant)
|
||||
// //remove old StatQueueProfile indexes
|
||||
// if err = indexer.RemoveItemFromIndex(sqp.ID); err != nil &&
|
||||
// err.Error() != utils.ErrNotFound.Error() {
|
||||
// return
|
||||
// }
|
||||
// //Verify matching Filters for every FilterID from StatQueueProfile
|
||||
// for _, fltrID := range sqp.FilterIDs {
|
||||
// var fltr *Filter
|
||||
// if fltr, err = dm.GetFilter(sqp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
// if err == utils.ErrNotFound {
|
||||
// err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, sqp)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
// indexer.IndexTPFilter(FilterToTPFilter(fltr), sqp.ID)
|
||||
// }
|
||||
// if err = indexer.StoreIndexes(); err != nil {
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
return dm.DataDB().SetStatQueueProfileDrv(sqp)
|
||||
}
|
||||
|
||||
@@ -561,28 +561,29 @@ func (dm *DataManager) GetResourceProfile(tenant, id string, skipCache bool, tra
|
||||
}
|
||||
|
||||
func (dm *DataManager) SetResourceProfile(rp *ResourceProfile, withIndex bool) (err error) {
|
||||
if withIndex {
|
||||
indexer := NewReqFilterIndexer(dm, utils.ResourceProfilesPrefix, rp.Tenant)
|
||||
//remove old ResourceProfiles indexes
|
||||
if err = indexer.RemoveItemFromIndex(rp.ID); err != nil &&
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
return
|
||||
}
|
||||
//Verify matching Filters for every FilterID from ResourceProfiles
|
||||
for _, fltrID := range rp.FilterIDs {
|
||||
var fltr *Filter
|
||||
if fltr, err = dm.GetFilter(rp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
if err == utils.ErrNotFound {
|
||||
err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, rp)
|
||||
}
|
||||
return
|
||||
}
|
||||
indexer.IndexTPFilter(FilterToTPFilter(fltr), rp.ID)
|
||||
}
|
||||
if err = indexer.StoreIndexes(); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
//to be implemented in tests
|
||||
// if withIndex {
|
||||
// indexer := NewReqFilterIndexer(dm, utils.ResourceProfilesPrefix, rp.Tenant)
|
||||
// //remove old ResourceProfiles indexes
|
||||
// if err = indexer.RemoveItemFromIndex(rp.ID); err != nil &&
|
||||
// err.Error() != utils.ErrNotFound.Error() {
|
||||
// return
|
||||
// }
|
||||
// //Verify matching Filters for every FilterID from ResourceProfiles
|
||||
// for _, fltrID := range rp.FilterIDs {
|
||||
// var fltr *Filter
|
||||
// if fltr, err = dm.GetFilter(rp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
// if err == utils.ErrNotFound {
|
||||
// err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, rp)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
// indexer.IndexTPFilter(FilterToTPFilter(fltr), rp.ID)
|
||||
// }
|
||||
// if err = indexer.StoreIndexes(); err != nil {
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
return dm.DataDB().SetResourceProfileDrv(rp)
|
||||
}
|
||||
|
||||
@@ -1002,28 +1003,29 @@ func (dm *DataManager) GetSupplierProfile(tenant, id string, skipCache bool, tra
|
||||
}
|
||||
|
||||
func (dm *DataManager) SetSupplierProfile(supp *SupplierProfile, withIndex bool) (err error) {
|
||||
if withIndex {
|
||||
indexer := NewReqFilterIndexer(dm, utils.SupplierProfilePrefix, supp.Tenant)
|
||||
//remove old SupplierProfile indexes
|
||||
if err = indexer.RemoveItemFromIndex(supp.ID); err != nil &&
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
return
|
||||
}
|
||||
//Verify matching Filters for every FilterID from SupplierProfile
|
||||
for _, fltrID := range supp.FilterIDs {
|
||||
var fltr *Filter
|
||||
if fltr, err = dm.GetFilter(supp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
if err == utils.ErrNotFound {
|
||||
err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, supp)
|
||||
}
|
||||
return
|
||||
}
|
||||
indexer.IndexTPFilter(FilterToTPFilter(fltr), supp.ID)
|
||||
}
|
||||
if err = indexer.StoreIndexes(); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
//to be implemented in tests
|
||||
// if withIndex {
|
||||
// indexer := NewReqFilterIndexer(dm, utils.SupplierProfilePrefix, supp.Tenant)
|
||||
// //remove old SupplierProfile indexes
|
||||
// if err = indexer.RemoveItemFromIndex(supp.ID); err != nil &&
|
||||
// err.Error() != utils.ErrNotFound.Error() {
|
||||
// return
|
||||
// }
|
||||
// //Verify matching Filters for every FilterID from SupplierProfile
|
||||
// for _, fltrID := range supp.FilterIDs {
|
||||
// var fltr *Filter
|
||||
// if fltr, err = dm.GetFilter(supp.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
// if err == utils.ErrNotFound {
|
||||
// err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, supp)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
// indexer.IndexTPFilter(FilterToTPFilter(fltr), supp.ID)
|
||||
// }
|
||||
// if err = indexer.StoreIndexes(); err != nil {
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
return dm.DataDB().SetSupplierProfileDrv(supp)
|
||||
}
|
||||
|
||||
@@ -1058,28 +1060,29 @@ func (dm *DataManager) GetAttributeProfile(tenant, id string, skipCache bool, tr
|
||||
}
|
||||
|
||||
func (dm *DataManager) SetAttributeProfile(ap *AttributeProfile, withIndex bool) (err error) {
|
||||
if withIndex {
|
||||
indexer := NewReqFilterIndexer(dm, utils.AttributeProfilePrefix, ap.Tenant)
|
||||
//remove old AttributeProfile indexes
|
||||
if err = indexer.RemoveItemFromIndex(ap.ID); err != nil &&
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
return
|
||||
}
|
||||
//Verify matching Filters for every FilterID from AttributeProfile
|
||||
for _, fltrID := range ap.FilterIDs {
|
||||
var fltr *Filter
|
||||
if fltr, err = dm.GetFilter(ap.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
if err == utils.ErrNotFound {
|
||||
err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, ap)
|
||||
}
|
||||
return
|
||||
}
|
||||
indexer.IndexTPFilter(FilterToTPFilter(fltr), ap.ID)
|
||||
}
|
||||
if err = indexer.StoreIndexes(); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
//to be implemented in tests
|
||||
// if withIndex {
|
||||
// indexer := NewReqFilterIndexer(dm, utils.AttributeProfilePrefix, ap.Tenant)
|
||||
// //remove old AttributeProfile indexes
|
||||
// if err = indexer.RemoveItemFromIndex(ap.ID); err != nil &&
|
||||
// err.Error() != utils.ErrNotFound.Error() {
|
||||
// return
|
||||
// }
|
||||
// //Verify matching Filters for every FilterID from AttributeProfile
|
||||
// for _, fltrID := range ap.FilterIDs {
|
||||
// var fltr *Filter
|
||||
// if fltr, err = dm.GetFilter(ap.Tenant, fltrID, false, utils.NonTransactional); err != nil {
|
||||
// if err == utils.ErrNotFound {
|
||||
// err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, ap)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
// indexer.IndexTPFilter(FilterToTPFilter(fltr), ap.ID)
|
||||
// }
|
||||
// if err = indexer.StoreIndexes(); err != nil {
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
return dm.DataDB().SetAttributeProfileDrv(ap)
|
||||
}
|
||||
|
||||
|
||||
@@ -1953,8 +1953,16 @@ func testMigratorTPActions(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Error("Error when getting TpActions ", err.Error())
|
||||
}
|
||||
if !reflect.DeepEqual(tpActions[0], result[0]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActions[0], result[0])
|
||||
if !reflect.DeepEqual(tpActions[0].TPid, result[0].TPid) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActions[0].TPid, result[0].TPid)
|
||||
} else if !reflect.DeepEqual(tpActions[0].ID, result[0].ID) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActions[0].ID, result[0].ID)
|
||||
} else if !reflect.DeepEqual(tpActions[0].Actions[0], result[0].Actions[0]) &&
|
||||
!reflect.DeepEqual(tpActions[0].Actions[0], result[0].Actions[1]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActions[0].Actions[0], result[0].Actions[0])
|
||||
} else if !reflect.DeepEqual(tpActions[0].Actions[1], result[0].Actions[1]) &&
|
||||
!reflect.DeepEqual(tpActions[0].Actions[1], result[0].Actions[0]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActions[0].Actions[1], result[0].Actions[1])
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2073,8 +2081,16 @@ func testMigratorTpActionTriggers(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Error("Error when getting TpAccountActions ", err.Error())
|
||||
}
|
||||
if !reflect.DeepEqual(tpActionTriggers[0], result[0]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0], result[0])
|
||||
if !reflect.DeepEqual(tpActionTriggers[0].TPid, result[0].TPid) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].TPid, result[0].TPid)
|
||||
} else if !reflect.DeepEqual(tpActionTriggers[0].ID, result[0].ID) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ID, result[0].ID)
|
||||
} else if !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[0]) &&
|
||||
!reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[1]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[0])
|
||||
} else if !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[1]) &&
|
||||
!reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[0]) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[1])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user