mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Replacing CGREvent with *CGRevent when inherited for ResourceService
This commit is contained in:
committed by
Dan Christian Bogos
parent
d1c7ca3369
commit
eaeddd581b
@@ -1144,7 +1144,7 @@ func testV1FIdxCaGetResourceProfileWithNotFound(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1220,7 +1220,7 @@ func testV1FIdxCaSetResourceProfile(t *testing.T) {
|
||||
}
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1249,7 +1249,7 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e63",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1274,7 +1274,7 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) {
|
||||
|
||||
argsReU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1350,7 +1350,7 @@ func testV1FIdxCaUpdateResourceProfile(t *testing.T) {
|
||||
}
|
||||
argsReU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1416,7 +1416,7 @@ func testV1FIdxCaUpdateResourceProfileFromTP(t *testing.T) {
|
||||
}
|
||||
argsReU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e65",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1437,7 +1437,7 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) {
|
||||
var resp string
|
||||
argsReU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "653a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -1459,7 +1459,7 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) {
|
||||
}
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "654a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -128,7 +128,7 @@ func testV1RsFromFolder(t *testing.T) {
|
||||
func testV1RsGetResourcesForEvent(t *testing.T) {
|
||||
var reply *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event1",
|
||||
Event: map[string]interface{}{"Unknown": "unknown"},
|
||||
@@ -192,7 +192,7 @@ func testV1RsGetResourcesForEvent(t *testing.T) {
|
||||
func testV1RsTTL0(t *testing.T) {
|
||||
// only matching Resource3
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -209,7 +209,7 @@ func testV1RsTTL0(t *testing.T) {
|
||||
}
|
||||
// overwrite the first allocation
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -224,7 +224,7 @@ func testV1RsTTL0(t *testing.T) {
|
||||
}
|
||||
// too many units should be rejected
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -241,7 +241,7 @@ func testV1RsTTL0(t *testing.T) {
|
||||
// check the record
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -285,7 +285,7 @@ func testV1RsTTL0(t *testing.T) {
|
||||
var releaseReply string
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e25", // same ID should be accepted by first group since the previous resource should be expired
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -304,7 +304,7 @@ func testV1RsAllocateResource(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -325,7 +325,7 @@ func testV1RsAllocateResource(t *testing.T) {
|
||||
// Second event to test matching of exact limit of first resource
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e52",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -346,7 +346,7 @@ func testV1RsAllocateResource(t *testing.T) {
|
||||
// Third event testing overflow to second resource which still has one resource available
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e53",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -367,7 +367,7 @@ func testV1RsAllocateResource(t *testing.T) {
|
||||
// Test resource unavailable
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e54", // same ID should be accepted by first group since the previous resource should be expired
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -385,7 +385,7 @@ func testV1RsAllocateResource(t *testing.T) {
|
||||
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -409,7 +409,7 @@ func testV1RsAuthorizeResources(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -426,7 +426,7 @@ func testV1RsAuthorizeResources(t *testing.T) {
|
||||
}
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -447,7 +447,7 @@ func testV1RsReleaseResource(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -464,7 +464,7 @@ func testV1RsReleaseResource(t *testing.T) {
|
||||
// only match Resource1 since we don't want for storing of the resource2 bellow
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -481,7 +481,7 @@ func testV1RsReleaseResource(t *testing.T) {
|
||||
}
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event5",
|
||||
Event: map[string]interface{}{
|
||||
@@ -515,7 +515,7 @@ func testV1RsReleaseResource(t *testing.T) {
|
||||
func testV1RsDBStore(t *testing.T) {
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e71",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -534,7 +534,7 @@ func testV1RsDBStore(t *testing.T) {
|
||||
}
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event3",
|
||||
Event: map[string]interface{}{
|
||||
@@ -579,7 +579,7 @@ func testV1RsDBStore(t *testing.T) {
|
||||
}
|
||||
rs = new(engine.Resources)
|
||||
args = &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event4",
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -60,7 +60,7 @@ func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(args utils.ArgRSv1R
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1GetResourcesForEvent, args, reply)
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ func (dS *DispatcherService) ResourceSv1AuthorizeResources(args utils.ArgRSv1Res
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1AuthorizeResources, args, reply)
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ func (dS *DispatcherService) ResourceSv1AllocateResources(args utils.ArgRSv1Reso
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1AllocateResources, args, reply)
|
||||
}
|
||||
|
||||
@@ -123,6 +123,6 @@ func (dS *DispatcherService) ResourceSv1ReleaseResources(args utils.ArgRSv1Resou
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1ReleaseResources, args, reply)
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ func testDspResPing(t *testing.T) {
|
||||
func testDspResTestAuthKey(t *testing.T) {
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -127,7 +127,7 @@ func testDspResTestAuthKey(t *testing.T) {
|
||||
func testDspResTestAuthKey2(t *testing.T) {
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -161,7 +161,7 @@ func testDspResTestAuthKey3(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -190,7 +190,7 @@ func testDspResTestAuthKey3(t *testing.T) {
|
||||
}
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -211,7 +211,7 @@ func testDspResTestAuthKey3(t *testing.T) {
|
||||
// relase the only resource active for Resource1
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -231,7 +231,7 @@ func testDspResTestAuthKey3(t *testing.T) {
|
||||
// only match Resource1 since we don't want for storing of the resource2 bellow
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -251,7 +251,7 @@ func testDspResTestAuthKey3(t *testing.T) {
|
||||
}
|
||||
var rs *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event5",
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -527,7 +527,10 @@ func (rS *ResourceService) matchingResourcesForEvent(ev *utils.CGREvent,
|
||||
|
||||
// V1ResourcesForEvent returns active resource configs matching the event
|
||||
func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage, reply *Resources) (err error) {
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
if args.CGREvent == nil {
|
||||
return utils.NewErrMandatoryIeMissing(utils.Event)
|
||||
}
|
||||
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
} else if args.UsageID == "" {
|
||||
return utils.NewErrMandatoryIeMissing(utils.UsageID)
|
||||
@@ -553,7 +556,7 @@ func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage,
|
||||
// end of RPC caching
|
||||
|
||||
var mtcRLs Resources
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
|
||||
return err
|
||||
}
|
||||
*reply = mtcRLs
|
||||
@@ -562,7 +565,10 @@ func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage,
|
||||
|
||||
// V1AuthorizeResources queries service to find if an Usage is allowed
|
||||
func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
if args.CGREvent == nil {
|
||||
return utils.NewErrMandatoryIeMissing(utils.Event)
|
||||
}
|
||||
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
} else if args.UsageID == "" {
|
||||
return utils.NewErrMandatoryIeMissing(utils.UsageID)
|
||||
@@ -588,7 +594,7 @@ func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
|
||||
// end of RPC caching
|
||||
|
||||
var mtcRLs Resources
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
|
||||
return err
|
||||
}
|
||||
var alcMessage string
|
||||
@@ -608,7 +614,10 @@ func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
|
||||
|
||||
// V1AllocateResource is called when a resource requires allocation
|
||||
func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
if args.CGREvent == nil {
|
||||
return utils.NewErrMandatoryIeMissing(utils.Event)
|
||||
}
|
||||
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
} else if args.UsageID == "" {
|
||||
return utils.NewErrMandatoryIeMissing(utils.UsageID)
|
||||
@@ -634,7 +643,7 @@ func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, r
|
||||
// end of RPC caching
|
||||
|
||||
var mtcRLs Resources
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID,
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID,
|
||||
args.UsageTTL); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -667,7 +676,10 @@ func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, r
|
||||
|
||||
// V1ReleaseResource is called when we need to clear an allocation
|
||||
func (rS *ResourceService) V1ReleaseResource(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
if args.CGREvent == nil {
|
||||
return utils.NewErrMandatoryIeMissing(utils.Event)
|
||||
}
|
||||
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
} else if args.UsageID == "" {
|
||||
return utils.NewErrMandatoryIeMissing(utils.UsageID)
|
||||
@@ -693,7 +705,7 @@ func (rS *ResourceService) V1ReleaseResource(args utils.ArgRSv1ResourceUsage, re
|
||||
// end of RPC caching
|
||||
|
||||
var mtcRLs Resources
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID,
|
||||
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID,
|
||||
args.UsageTTL); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ func TestResourcePopulateResourceService(t *testing.T) {
|
||||
func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) {
|
||||
var reply *string
|
||||
argsMissingTenant := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
ID: "id1",
|
||||
Event: map[string]interface{}{},
|
||||
},
|
||||
@@ -387,7 +387,7 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) {
|
||||
Units: 20,
|
||||
}
|
||||
argsMissingUsageID := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "id1",
|
||||
Event: map[string]interface{}{},
|
||||
|
||||
@@ -400,7 +400,7 @@ func testV1FltrPopulateResources(t *testing.T) {
|
||||
|
||||
// Allocate 3 units for resource ResTest
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -128,7 +128,7 @@ func testV1RsSetProfile(t *testing.T) {
|
||||
|
||||
func testV1RsAllocate(t *testing.T) {
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -148,7 +148,7 @@ func testV1RsAllocate(t *testing.T) {
|
||||
}
|
||||
|
||||
argsRU2 := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -170,7 +170,7 @@ func testV1RsAllocate(t *testing.T) {
|
||||
func testV1RsAuthorize(t *testing.T) {
|
||||
var reply *engine.Resources
|
||||
args := &utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
@@ -204,7 +204,7 @@ func testV1RsAuthorize(t *testing.T) {
|
||||
var reply2 string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "chan_1",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: utils.UUIDSha1Prefix(),
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -324,7 +324,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "RandomID",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event1",
|
||||
Event: map[string]interface{}{
|
||||
@@ -347,7 +347,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "RandomID2",
|
||||
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event2",
|
||||
Event: map[string]interface{}{
|
||||
@@ -369,7 +369,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
|
||||
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "RandomID3",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event3",
|
||||
Event: map[string]interface{}{
|
||||
@@ -391,7 +391,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
|
||||
|
||||
argsRU = utils.ArgRSv1ResourceUsage{
|
||||
UsageID: "RandomID4",
|
||||
CGREvent: utils.CGREvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "Event4",
|
||||
Event: map[string]interface{}{
|
||||
|
||||
@@ -379,11 +379,6 @@ func (sS *SessionS) forceSTerminate(s *Session, extraDebit time.Duration, lastUs
|
||||
"<%s> failed force terminating session with ID <%s>, err: <%s>",
|
||||
utils.SessionS, s.CGRid(), err.Error()))
|
||||
}
|
||||
cgrEv := utils.CGREvent{
|
||||
Tenant: s.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Event: s.EventStart.AsMapInterface(),
|
||||
}
|
||||
// post the CDRs
|
||||
if sS.cdrS != nil {
|
||||
if cgrEvs, err := s.asCGREvents(); err != nil {
|
||||
@@ -417,7 +412,11 @@ func (sS *SessionS) forceSTerminate(s *Session, extraDebit time.Duration, lastUs
|
||||
if sS.resS != nil && s.ResourceID != "" {
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: cgrEv,
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: s.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Event: s.EventStart.AsMapInterface(),
|
||||
},
|
||||
UsageID: s.ResourceID,
|
||||
Units: 1,
|
||||
ArgDispatcher: s.ArgDispatcher,
|
||||
@@ -1816,7 +1815,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(clnt rpcclient.RpcClientConnection,
|
||||
}
|
||||
var allocMsg string
|
||||
attrRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: args.CGREvent,
|
||||
CGREvent: &args.CGREvent,
|
||||
UsageID: originID,
|
||||
Units: 1,
|
||||
ArgDispatcher: args.ArgDispatcher,
|
||||
@@ -2063,7 +2062,7 @@ func (sS *SessionS) BiRPCv1InitiateSession(clnt rpcclient.RpcClientConnection,
|
||||
return utils.NewErrMandatoryIeMissing(utils.OriginID)
|
||||
}
|
||||
attrRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: args.CGREvent,
|
||||
CGREvent: &args.CGREvent,
|
||||
UsageID: originID,
|
||||
Units: 1,
|
||||
ArgDispatcher: args.ArgDispatcher,
|
||||
@@ -2415,7 +2414,7 @@ func (sS *SessionS) BiRPCv1TerminateSession(clnt rpcclient.RpcClientConnection,
|
||||
}
|
||||
var reply string
|
||||
argsRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: args.CGREvent,
|
||||
CGREvent: &args.CGREvent,
|
||||
UsageID: originID, // same ID should be accepted by first group since the previous resource should be expired
|
||||
Units: 1,
|
||||
ArgDispatcher: args.ArgDispatcher,
|
||||
@@ -2691,7 +2690,7 @@ func (sS *SessionS) BiRPCv1ProcessEvent(clnt rpcclient.RpcClientConnection,
|
||||
return utils.NewErrMandatoryIeMissing(utils.OriginID)
|
||||
}
|
||||
attrRU := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: args.CGREvent,
|
||||
CGREvent: &args.CGREvent,
|
||||
UsageID: originID,
|
||||
Units: 1,
|
||||
ArgDispatcher: args.ArgDispatcher,
|
||||
|
||||
@@ -1022,7 +1022,7 @@ type AttrRLsCache struct {
|
||||
}
|
||||
|
||||
type ArgRSv1ResourceUsage struct {
|
||||
CGREvent
|
||||
*CGREvent
|
||||
UsageID string // ResourceUsage Identifier
|
||||
UsageTTL *time.Duration
|
||||
Units float64
|
||||
|
||||
Reference in New Issue
Block a user