From 8fe9805592e60621dbf5e40dedf98229fe0fbfac Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Thu, 6 Jan 2022 17:55:13 +0200 Subject: [PATCH] The Get*IDs functions now use the new paginate function and include an additional prefix --- apis/account.go | 14 +++++++------- apis/account_test.go | 28 +++++++++------------------- apis/actions.go | 14 +++++++------- apis/actions_test.go | 6 +++--- apis/attributes.go | 14 +++++++------- apis/attributes_test.go | 6 +++--- apis/chargers.go | 14 +++++++------- apis/chargers_test.go | 8 ++++---- apis/dispatchers.go | 30 +++++++++++++++++------------- apis/filters.go | 2 +- apis/rates.go | 14 +++++++------- apis/rates_test.go | 10 ++++------ apis/resources.go | 14 +++++++------- apis/resources_test.go | 6 +++--- apis/routes.go | 14 +++++++------- apis/routes_test.go | 6 +++--- apis/stats.go | 14 +++++++------- apis/stats_test.go | 6 +++--- apis/thresholds.go | 14 +++++++------- apis/thresholds_test.go | 6 +++--- 20 files changed, 116 insertions(+), 124 deletions(-) diff --git a/apis/account.go b/apis/account.go index e079a5e03..5d0d9a7f1 100644 --- a/apis/account.go +++ b/apis/account.go @@ -47,15 +47,15 @@ func (admS *AdminSv1) GetAccount(ctx *context.Context, arg *utils.TenantIDWithAP } // GetAccountIDs returns list of action profile IDs registered for a tenant -func (admS *AdminSv1) GetAccountIDs(ctx *context.Context, args *utils.PaginatorWithTenant, actPrfIDs *[]string) error { +func (admS *AdminSv1) GetAccountIDs(ctx *context.Context, args *utils.ArgsItemIDs, actPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.AccountPrefix + tnt + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.AccountPrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -64,8 +64,8 @@ func (admS *AdminSv1) GetAccountIDs(ctx *context.Context, args *utils.PaginatorW for i, key := range keys { retIDs[i] = key[len(prfx):] } - *actPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *actPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetAccountCount sets in reply var the total number of AccountIDs registered for a tenant diff --git a/apis/account_test.go b/apis/account_test.go index 28eb7516f..788f81277 100644 --- a/apis/account_test.go +++ b/apis/account_test.go @@ -566,10 +566,8 @@ func TestAccountSetGetAccountIDs(t *testing.T) { } var getRply []string err = admS.GetAccountIDs(context.Background(), - &utils.PaginatorWithTenant{ - Tenant: "testTenant", - Paginator: utils.Paginator{}, - APIOpts: nil, + &utils.ArgsItemIDs{ + Tenant: "testTenant", }, &getRply) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -624,10 +622,8 @@ func TestAccountSetGetAccountIDs(t *testing.T) { } var getRply3 []string err = admS.GetAccountIDs(context.Background(), - &utils.PaginatorWithTenant{ - Tenant: "testTenant", - Paginator: utils.Paginator{}, - APIOpts: nil, + &utils.ArgsItemIDs{ + Tenant: "testTenant", }, &getRply3) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -681,10 +677,8 @@ func TestAccountSetGetAccountIDs(t *testing.T) { var getRplyID []string err = admS.GetAccountIDs(context.Background(), - &utils.PaginatorWithTenant{ - Tenant: "testTenant", - Paginator: utils.Paginator{}, - APIOpts: nil, + &utils.ArgsItemIDs{ + Tenant: "testTenant", }, &getRplyID) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -734,10 +728,8 @@ func TestAccountSetGetAccountIDs(t *testing.T) { var getRplyID2 []string err = admS.GetAccountIDs(context.Background(), - &utils.PaginatorWithTenant{ - Tenant: "testTenant", - Paginator: utils.Paginator{}, - APIOpts: nil, + &utils.ArgsItemIDs{ + Tenant: "testTenant", }, &getRplyID2) if err == nil || err != utils.ErrNotFound { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ErrNotFound, err) @@ -770,9 +762,7 @@ func TestAccountGetAccountIDSError(t *testing.T) { admS := NewAdminSv1(cfg, dm, connMgr) var getRplyCount3 []string err := admS.GetAccountIDs(context.Background(), - &utils.PaginatorWithTenant{ - APIOpts: nil, - }, &getRplyCount3) + &utils.ArgsItemIDs{}, &getRplyCount3) if err == nil || err != utils.ErrNotImplemented { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ErrNotImplemented, err) } diff --git a/apis/actions.go b/apis/actions.go index 9ab8043c0..d9c4e48f8 100644 --- a/apis/actions.go +++ b/apis/actions.go @@ -48,15 +48,15 @@ func (admS *AdminSv1) GetActionProfile(ctx *context.Context, arg *utils.TenantID } // GetActionProfileIDs returns list of action profile IDs registered for a tenant -func (admS *AdminSv1) GetActionProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, actPrfIDs *[]string) error { +func (admS *AdminSv1) GetActionProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, actPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.ActionProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.ActionProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -65,8 +65,8 @@ func (admS *AdminSv1) GetActionProfileIDs(ctx *context.Context, args *utils.Pagi for i, key := range keys { retIDs[i] = key[len(prfx):] } - *actPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *actPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetActionProfileCount sets in reply var the total number of ActionProfileIDs registered for a tenant diff --git a/apis/actions_test.go b/apis/actions_test.go index 32688d07f..60083fba7 100644 --- a/apis/actions_test.go +++ b/apis/actions_test.go @@ -76,7 +76,7 @@ func TestActionsSetGetRemActionProfile(t *testing.T) { var actPrfIDs []string expactPrfIDs := []string{"actID"} - if err := adms.GetActionProfileIDs(context.Background(), &utils.PaginatorWithTenant{}, + if err := adms.GetActionProfileIDs(context.Background(), &utils.ArgsItemIDs{}, &actPrfIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(actPrfIDs, expactPrfIDs) { @@ -352,7 +352,7 @@ func TestActionsGetActionProfileIDsErrMock(t *testing.T) { experr := "NOT_IMPLEMENTED" if err := adms.GetActionProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != experr { t.Errorf("expected: <%+v>, received: <%+v>", experr, err) @@ -379,7 +379,7 @@ func TestActionsGetActionProfileIDsErrKeys(t *testing.T) { var reply []string if err := adms.GetActionProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) diff --git a/apis/attributes.go b/apis/attributes.go index a75fa1ea1..887432a67 100644 --- a/apis/attributes.go +++ b/apis/attributes.go @@ -48,15 +48,15 @@ func (admS *AdminSv1) GetAttributeProfile(ctx *context.Context, arg *utils.Tenan } // GetAttributeProfileIDs returns list of attributeProfile IDs registered for a tenant -func (admS *AdminSv1) GetAttributeProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, attrPrfIDs *[]string) error { +func (admS *AdminSv1) GetAttributeProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, attrPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.AttributeProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.AttributeProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -65,8 +65,8 @@ func (admS *AdminSv1) GetAttributeProfileIDs(ctx *context.Context, args *utils.P for i, key := range keys { retIDs[i] = key[len(prfx):] } - *attrPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *attrPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetAttributeProfileCount returns the total number of AttributeProfileIDs registered for a tenant diff --git a/apis/attributes_test.go b/apis/attributes_test.go index 5fbc6e9cb..a24d5cee9 100644 --- a/apis/attributes_test.go +++ b/apis/attributes_test.go @@ -84,7 +84,7 @@ func TestAttributesSetGetAttributeProfile(t *testing.T) { var ids []string expected := []string{"TestGetAttributeProfile"} if err := admS.GetAttributeProfileIDs(context.Background(), - &utils.PaginatorWithTenant{}, &ids); err != nil { + &utils.ArgsItemIDs{}, &ids); err != nil { t.Error(err) } else if len(ids) != len(expected) { t.Errorf("Expected %+v, received %+v", ids, expected) @@ -372,7 +372,7 @@ func TestAttributesGetAttributeProfileIDsMockErr(t *testing.T) { var reply []string expected := "NOT_IMPLEMENTED" if err := admS.GetAttributeProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -398,7 +398,7 @@ func TestAttributesGetAttributeProfileIDsMockErrKeys(t *testing.T) { var reply []string expected := "NOT_FOUND" if err := admS.GetAttributeProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) diff --git a/apis/chargers.go b/apis/chargers.go index d0be457fe..528966265 100644 --- a/apis/chargers.go +++ b/apis/chargers.go @@ -45,15 +45,15 @@ func (adms *AdminSv1) GetChargerProfile(ctx *context.Context, arg *utils.TenantI } // GetChargerProfileIDs returns list of chargerProfile IDs registered for a tenant -func (adms *AdminSv1) GetChargerProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, chPrfIDs *[]string) error { +func (adms *AdminSv1) GetChargerProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, chPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = adms.cfg.GeneralCfg().DefaultTenant } - prfx := utils.ChargerProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := adms.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.ChargerProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = adms.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -62,8 +62,8 @@ func (adms *AdminSv1) GetChargerProfileIDs(ctx *context.Context, args *utils.Pag for i, key := range keys { retIDs[i] = key[len(prfx):] } - *chPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *chPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetChargerProfileCount returns the total number of ChargerProfiles registered for a tenant diff --git a/apis/chargers_test.go b/apis/chargers_test.go index a78fffdd6..d635282f1 100644 --- a/apis/chargers_test.go +++ b/apis/chargers_test.go @@ -354,7 +354,7 @@ func TestChargerSSetGetChargerProfileIDs(t *testing.T) { } var getRply []string err = admS.GetChargerProfileIDs(context.Background(), - &utils.PaginatorWithTenant{}, &getRply) + &utils.ArgsItemIDs{}, &getRply) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) } @@ -385,7 +385,7 @@ func TestChargerSSetGetChargerProfileIDs(t *testing.T) { var getRply2 []string err = admS.GetChargerProfileIDs(context.Background(), - &utils.PaginatorWithTenant{}, &getRply2) + &utils.ArgsItemIDs{}, &getRply2) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) } @@ -413,7 +413,7 @@ func TestChargerSSetGetChargerProfileIDsErr(t *testing.T) { engine.Cache = newCache var getRply []string err := admS.GetChargerProfileIDs(context.Background(), - &utils.PaginatorWithTenant{}, &getRply) + &utils.ArgsItemIDs{}, &getRply) if err == nil || err.Error() != "NOT_FOUND" { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "NOT_FOUND", err) } @@ -434,7 +434,7 @@ func TestChargerSSetGetChargerProfileIDsErr2(t *testing.T) { engine.Cache = newCache var getRply []string err := admS.GetChargerProfileIDs(context.Background(), - &utils.PaginatorWithTenant{}, &getRply) + &utils.ArgsItemIDs{}, &getRply) if err == nil || err.Error() != "NOT_IMPLEMENTED" { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "NOT_IMPLEMENTED", err) } diff --git a/apis/dispatchers.go b/apis/dispatchers.go index b39f90af7..015c9002b 100644 --- a/apis/dispatchers.go +++ b/apis/dispatchers.go @@ -44,25 +44,27 @@ func (admS *AdminSv1) GetDispatcherProfile(ctx *context.Context, arg *utils.Tena } // GetDispatcherProfileIDs returns list of dispatcherProfile IDs registered for a tenant -func (admS *AdminSv1) GetDispatcherProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, dPrfIDs *[]string) error { +func (admS *AdminSv1) GetDispatcherProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, dPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.DispatcherProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.DispatcherProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound } - keys = args.PaginateStringSlice(keys) + if keys, err = utils.Paginate(keys, args.APIOpts); err != nil { + return + } *dPrfIDs = make([]string, len(keys)) for i, key := range keys { (*dPrfIDs)[i] = key[len(prfx):] } - return nil + return } // GetDispatcherProfileCount returns the total number of DispatcherProfiles registered for a tenant @@ -157,25 +159,27 @@ func (admS *AdminSv1) GetDispatcherHost(ctx *context.Context, arg *utils.TenantI } // GetDispatcherHostIDs returns list of dispatcherHost IDs registered for a tenant -func (admS *AdminSv1) GetDispatcherHostIDs(ctx *context.Context, tenantArg *utils.PaginatorWithTenant, dPrfIDs *[]string) error { +func (admS *AdminSv1) GetDispatcherHostIDs(ctx *context.Context, tenantArg *utils.ArgsItemIDs, dPrfIDs *[]string) (err error) { tenant := tenantArg.Tenant if tenant == utils.EmptyString { tenant = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.DispatcherHostPrefix + tenant + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { + prfx := utils.DispatcherHostPrefix + tenant + utils.ConcatenatedKeySep + tenantArg.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { return err } if len(keys) == 0 { return utils.ErrNotFound } - keys = tenantArg.PaginateStringSlice(keys) + if keys, err = utils.Paginate(keys, tenantArg.APIOpts); err != nil { + return + } *dPrfIDs = make([]string, len(keys)) for i, key := range keys { (*dPrfIDs)[i] = key[len(prfx):] } - return nil + return } // GetDispatcherHostCount returns the total number of DispatcherHosts registered for a tenant diff --git a/apis/filters.go b/apis/filters.go index 7f03eff45..7d955edb2 100644 --- a/apis/filters.go +++ b/apis/filters.go @@ -100,7 +100,7 @@ func (adms *AdminSv1) GetFilterIDs(ctx *context.Context, args *utils.ArgsItemIDs for i, key := range keys { retIDs[i] = key[len(prfx):] } - *fltrIDs, err = args.PaginateStringSlice(retIDs) + *fltrIDs, err = utils.Paginate(retIDs, args.APIOpts) return } diff --git a/apis/rates.go b/apis/rates.go index 267b097ce..9290ad60b 100644 --- a/apis/rates.go +++ b/apis/rates.go @@ -48,15 +48,15 @@ func (admS *AdminSv1) GetRateProfile(ctx *context.Context, arg *utils.TenantIDWi } // GetRateProfileIDs returns a list of rate profile IDs registered for a tenant -func (admS *AdminSv1) GetRateProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, attrPrfIDs *[]string) error { +func (admS *AdminSv1) GetRateProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, attrPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = admS.cfg.GeneralCfg().DefaultTenant } - prfx := utils.RateProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := admS.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.RateProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = admS.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -65,8 +65,8 @@ func (admS *AdminSv1) GetRateProfileIDs(ctx *context.Context, args *utils.Pagina for i, key := range keys { retIDs[i] = key[len(prfx):] } - *attrPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *attrPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetRateProfileCount returns the total number of RateProfileIDs registered for a tenant diff --git a/apis/rates_test.go b/apis/rates_test.go index 48c644684..bb3bf7c8a 100644 --- a/apis/rates_test.go +++ b/apis/rates_test.go @@ -158,9 +158,7 @@ func TestRatesGetRateProfileIDs(t *testing.T) { if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) } - args := &utils.PaginatorWithTenant{ - Tenant: utils.EmptyString, - } + args := &utils.ArgsItemIDs{} result := &[]string{} expected := &[]string{"RP1"} err = admS.GetRateProfileIDs(context.Background(), args, result) @@ -197,7 +195,7 @@ func TestRatesGetRateProfile2(t *testing.T) { if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) } - args := &utils.PaginatorWithTenant{ + args := &utils.ArgsItemIDs{ Tenant: "tenant", } result := &[]string{} @@ -219,7 +217,7 @@ func TestRatesGetRateProfileErr(t *testing.T) { dataDBMock := &engine.DataDBMock{} dm := engine.NewDataManager(dataDBMock, nil, connMgr) admS := NewAdminSv1(cfg, dm, connMgr) - args := &utils.PaginatorWithTenant{ + args := &utils.ArgsItemIDs{ Tenant: "tenant", } result := &[]string{} @@ -241,7 +239,7 @@ func TestRatesGetRateProfileErr2(t *testing.T) { } dm := engine.NewDataManager(dataDBMock, nil, connMgr) admS := NewAdminSv1(cfg, dm, connMgr) - args := &utils.PaginatorWithTenant{ + args := &utils.ArgsItemIDs{ Tenant: "tenant", } result := &[]string{} diff --git a/apis/resources.go b/apis/resources.go index e2c526fa9..3aceffaa2 100644 --- a/apis/resources.go +++ b/apis/resources.go @@ -44,15 +44,15 @@ func (adms *AdminSv1) GetResourceProfile(ctx *context.Context, arg *utils.Tenant } // GetResourceProfileIDs returns list of resourceProfile IDs registered for a tenant -func (adms *AdminSv1) GetResourceProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, rsPrfIDs *[]string) error { +func (adms *AdminSv1) GetResourceProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, rsPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = adms.cfg.GeneralCfg().DefaultTenant } - prfx := utils.ResourceProfilesPrefix + tnt + utils.ConcatenatedKeySep - keys, err := adms.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.ResourceProfilesPrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = adms.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -61,8 +61,8 @@ func (adms *AdminSv1) GetResourceProfileIDs(ctx *context.Context, args *utils.Pa for i, key := range keys { retIDs[i] = key[len(prfx):] } - *rsPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *rsPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetResourceProfileCount returns the total number of ResourceProfileIDs registered for a tenant diff --git a/apis/resources_test.go b/apis/resources_test.go index 2f39c522c..0c3cef89a 100644 --- a/apis/resources_test.go +++ b/apis/resources_test.go @@ -72,7 +72,7 @@ func TestResourcesSetGetRemResourceProfile(t *testing.T) { var rsPrfIDs []string expRsPrfIDs := []string{"RES_1"} - if err := adms.GetResourceProfileIDs(context.Background(), &utils.PaginatorWithTenant{}, + if err := adms.GetResourceProfileIDs(context.Background(), &utils.ArgsItemIDs{}, &rsPrfIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(rsPrfIDs, expRsPrfIDs) { @@ -356,7 +356,7 @@ func TestResourcesGetResourceProfileIDsErrMock(t *testing.T) { experr := "NOT_IMPLEMENTED" if err := adms.GetResourceProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -383,7 +383,7 @@ func TestResourcesGetResourceProfileIDsErrKeys(t *testing.T) { var reply []string if err := adms.GetResourceProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) diff --git a/apis/routes.go b/apis/routes.go index 3c7e717d4..c7d63dfd1 100644 --- a/apis/routes.go +++ b/apis/routes.go @@ -44,15 +44,15 @@ func (adms *AdminSv1) GetRouteProfile(ctx *context.Context, arg *utils.TenantIDW } // GetRouteProfileIDs returns list of routeProfile IDs registered for a tenant -func (adms *AdminSv1) GetRouteProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, sppPrfIDs *[]string) error { +func (adms *AdminSv1) GetRouteProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, sppPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = adms.cfg.GeneralCfg().DefaultTenant } - prfx := utils.RouteProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := adms.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.RouteProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = adms.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -61,8 +61,8 @@ func (adms *AdminSv1) GetRouteProfileIDs(ctx *context.Context, args *utils.Pagin for i, key := range keys { retIDs[i] = key[len(prfx):] } - *sppPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *sppPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetRouteProfileCount sets in reply var the total number of RouteProfileIDs registered for the received tenant diff --git a/apis/routes_test.go b/apis/routes_test.go index 9c2447c50..154da243f 100644 --- a/apis/routes_test.go +++ b/apis/routes_test.go @@ -73,7 +73,7 @@ func TestRoutesSetGetRemRouteProfile(t *testing.T) { var rtPrfIDs []string exprtPrfIDs := []string{"routeID"} - if err := adms.GetRouteProfileIDs(context.Background(), &utils.PaginatorWithTenant{}, + if err := adms.GetRouteProfileIDs(context.Background(), &utils.ArgsItemIDs{}, &rtPrfIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(rtPrfIDs, exprtPrfIDs) { @@ -351,7 +351,7 @@ func TestRoutesGetRouteProfileIDsErrMock(t *testing.T) { experr := "NOT_IMPLEMENTED" if err := adms.GetRouteProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -378,7 +378,7 @@ func TestRoutesGetRouteProfileIDsErrKeys(t *testing.T) { var reply []string if err := adms.GetRouteProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) diff --git a/apis/stats.go b/apis/stats.go index b66e20076..7f5cda596 100644 --- a/apis/stats.go +++ b/apis/stats.go @@ -44,15 +44,15 @@ func (adms *AdminSv1) GetStatQueueProfile(ctx *context.Context, arg *utils.Tenan } // GetStatQueueProfileIDs returns list of statQueueProfile IDs registered for a tenant -func (adms *AdminSv1) GetStatQueueProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, stsPrfIDs *[]string) error { +func (adms *AdminSv1) GetStatQueueProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, stsPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = adms.cfg.GeneralCfg().DefaultTenant } - prfx := utils.StatQueueProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := adms.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.StatQueueProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = adms.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -61,8 +61,8 @@ func (adms *AdminSv1) GetStatQueueProfileIDs(ctx *context.Context, args *utils.P for i, key := range keys { retIDs[i] = key[len(prfx):] } - *stsPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *stsPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetStatQueueProfileCount returns the total number of StatQueueProfileIDs registered for a tenant diff --git a/apis/stats_test.go b/apis/stats_test.go index e5b66efa3..e48846fca 100644 --- a/apis/stats_test.go +++ b/apis/stats_test.go @@ -74,7 +74,7 @@ func TestStatsSetGetRemStatQueueProfile(t *testing.T) { var sqPrfIDs []string expsqPrfIDs := []string{"sqID"} - if err := adms.GetStatQueueProfileIDs(context.Background(), &utils.PaginatorWithTenant{}, + if err := adms.GetStatQueueProfileIDs(context.Background(), &utils.ArgsItemIDs{}, &sqPrfIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(sqPrfIDs, expsqPrfIDs) { @@ -351,7 +351,7 @@ func TestStatsGetStatQueueProfileIDsErrMock(t *testing.T) { experr := "NOT_IMPLEMENTED" if err := adms.GetStatQueueProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -378,7 +378,7 @@ func TestStatsGetStatQueueProfileIDsErrKeys(t *testing.T) { var reply []string if err := adms.GetStatQueueProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) diff --git a/apis/thresholds.go b/apis/thresholds.go index a2a596598..bf1e41baa 100644 --- a/apis/thresholds.go +++ b/apis/thresholds.go @@ -44,15 +44,15 @@ func (adms *AdminSv1) GetThresholdProfile(ctx *context.Context, arg *utils.Tenan } // GetThresholdProfileIDs returns list of thresholdProfile IDs registered for a tenant -func (adms *AdminSv1) GetThresholdProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, thPrfIDs *[]string) error { +func (adms *AdminSv1) GetThresholdProfileIDs(ctx *context.Context, args *utils.ArgsItemIDs, thPrfIDs *[]string) (err error) { tnt := args.Tenant if tnt == utils.EmptyString { tnt = adms.cfg.GeneralCfg().DefaultTenant } - prfx := utils.ThresholdProfilePrefix + tnt + utils.ConcatenatedKeySep - keys, err := adms.dm.DataDB().GetKeysForPrefix(ctx, prfx) - if err != nil { - return err + prfx := utils.ThresholdProfilePrefix + tnt + utils.ConcatenatedKeySep + args.Prefix + var keys []string + if keys, err = adms.dm.DataDB().GetKeysForPrefix(ctx, prfx); err != nil { + return } if len(keys) == 0 { return utils.ErrNotFound @@ -61,8 +61,8 @@ func (adms *AdminSv1) GetThresholdProfileIDs(ctx *context.Context, args *utils.P for i, key := range keys { retIDs[i] = key[len(prfx):] } - *thPrfIDs = args.PaginateStringSlice(retIDs) - return nil + *thPrfIDs, err = utils.Paginate(retIDs, args.APIOpts) + return } // GetThresholdProfileCount sets in reply var the total number of ThresholdProfileIDs registered for the received tenant diff --git a/apis/thresholds_test.go b/apis/thresholds_test.go index 40f49d111..9b6b4b37d 100644 --- a/apis/thresholds_test.go +++ b/apis/thresholds_test.go @@ -75,7 +75,7 @@ func TestThresholdsSetGetRemThresholdProfile(t *testing.T) { var thPrfIDs []string expThPrfIDs := []string{"thdID"} - if err := adms.GetThresholdProfileIDs(context.Background(), &utils.PaginatorWithTenant{}, + if err := adms.GetThresholdProfileIDs(context.Background(), &utils.ArgsItemIDs{}, &thPrfIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(thPrfIDs, expThPrfIDs) { @@ -353,7 +353,7 @@ func TestThresholdsGetThresholdProfileIDsErrMock(t *testing.T) { experr := "NOT_IMPLEMENTED" if err := adms.GetThresholdProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -380,7 +380,7 @@ func TestThresholdsGetThresholdProfileIDsErrKeys(t *testing.T) { var reply []string if err := adms.GetThresholdProfileIDs(context.Background(), - &utils.PaginatorWithTenant{ + &utils.ArgsItemIDs{ Tenant: "cgrates.org", }, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err)