diff --git a/data/scripts/generate_dispatchers/generator.go b/data/scripts/generate_dispatchers/generator.go index 1b8ccceb7..c41f8f440 100644 --- a/data/scripts/generate_dispatchers/generator.go +++ b/data/scripts/generate_dispatchers/generator.go @@ -29,6 +29,7 @@ import ( "os" "path" "reflect" + "sort" "strconv" "unicode" @@ -40,6 +41,7 @@ import ( "github.com/cgrates/cgrates/cores" "github.com/cgrates/cgrates/ees" "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/guardian" "github.com/cgrates/cgrates/loaders" "github.com/cgrates/cgrates/rates" "github.com/cgrates/cgrates/sessions" @@ -74,6 +76,8 @@ func main() { {"analyzers.go", "MetaAnalyzer", new(analyzers.AnalyzerS), utils.EmptyString}, {"admins.go", "MetaAdminS", new(apis.AdminSv1), utils.EmptyString}, {"cores.go", "MetaCore", new(cores.CoreS), utils.EmptyString}, + {"guardian.go", "MetaGuardian", guardian.Guardian, utils.GuardianS}, + // {"servicemanager.go", "MetaServiceManager", new(servmanager.ServiceManager), utils.EmptyString}, } { if err := createFile(file.path, file.subsystem, file.customName, file.obj); err != nil { log.Fatal(err) @@ -131,7 +135,13 @@ func generateService(subsystem string, srvs engine.IntService) *ast.File { if unicode.IsLetter(rune(k[len(k)-1])) { continue } - for n, m := range srv.Methods { + methods := make([]string, 0, len(srv.Methods)) + for n := range srv.Methods { + methods = append(methods, n) + } + sort.Strings(methods) + for _, n := range methods { + m := srv.Methods[n] decl = append(decl, generateFunc(srv.Name+n, subsystem, m.ArgType, m.ReplyType)) imports.AddSlice(getImports(m.ArgType)) imports.AddSlice(getImports(m.ReplyType)) diff --git a/dispatchers/accounts.go b/dispatchers/accounts.go index 25d02282d..0e6749193 100644 --- a/dispatchers/accounts.go +++ b/dispatchers/accounts.go @@ -24,6 +24,100 @@ import ( "github.com/cgrates/cgrates/utils" ) +func (dS *DispatcherService) AccountSv1AccountsForEvent(ctx *context.Context, args *utils.CGREvent, reply *[]*utils.Account) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AccountSv1AccountsForEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1AccountsForEvent, args, reply) +} +func (dS *DispatcherService) AccountSv1ActionRemoveBalance(ctx *context.Context, args *utils.ArgsActRemoveBalances, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AccountSv1ActionRemoveBalance, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1ActionRemoveBalance, args, reply) +} +func (dS *DispatcherService) AccountSv1ActionSetBalance(ctx *context.Context, args *utils.ArgsActSetBalance, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AccountSv1ActionSetBalance, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1ActionSetBalance, args, reply) +} +func (dS *DispatcherService) AccountSv1DebitAbstracts(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AccountSv1DebitAbstracts, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1DebitAbstracts, args, reply) +} +func (dS *DispatcherService) AccountSv1DebitConcretes(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AccountSv1DebitConcretes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1DebitConcretes, args, reply) +} func (dS *DispatcherService) AccountSv1GetAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *utils.Account) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -61,24 +155,7 @@ func (dS *DispatcherService) AccountSv1MaxAbstracts(ctx *context.Context, args * } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1MaxAbstracts, args, reply) } -func (dS *DispatcherService) AccountSv1ActionRemoveBalance(ctx *context.Context, args *utils.ArgsActRemoveBalances, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1ActionRemoveBalance, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1ActionRemoveBalance, args, reply) -} -func (dS *DispatcherService) AccountSv1DebitAbstracts(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { +func (dS *DispatcherService) AccountSv1MaxConcretes(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -92,11 +169,11 @@ func (dS *DispatcherService) AccountSv1DebitAbstracts(ctx *context.Context, args opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1DebitAbstracts, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AccountSv1MaxConcretes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1DebitAbstracts, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1MaxConcretes, args, reply) } func (dS *DispatcherService) AccountSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -118,80 +195,3 @@ func (dS *DispatcherService) AccountSv1Ping(ctx *context.Context, args *utils.CG } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1Ping, args, reply) } -func (dS *DispatcherService) AccountSv1MaxConcretes(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1MaxConcretes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1MaxConcretes, args, reply) -} -func (dS *DispatcherService) AccountSv1AccountsForEvent(ctx *context.Context, args *utils.CGREvent, reply *[]*utils.Account) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1AccountsForEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1AccountsForEvent, args, reply) -} -func (dS *DispatcherService) AccountSv1DebitConcretes(ctx *context.Context, args *utils.CGREvent, reply *utils.EventCharges) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1DebitConcretes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1DebitConcretes, args, reply) -} -func (dS *DispatcherService) AccountSv1ActionSetBalance(ctx *context.Context, args *utils.ArgsActSetBalance, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AccountSv1ActionSetBalance, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAccounts, utils.AccountSv1ActionSetBalance, args, reply) -} diff --git a/dispatchers/admins.go b/dispatchers/admins.go index efcc8ae35..0884e035a 100644 --- a/dispatchers/admins.go +++ b/dispatchers/admins.go @@ -26,24 +26,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) AdminSv1GetDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetFilterIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { +func (dS *DispatcherService) AdminSv1ComputeFilterIndexIDs(ctx *context.Context, args *utils.ArgsComputeFilterIndexIDs, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -54,13 +37,13 @@ func (dS *DispatcherService) AdminSv1GetFilterIDs(ctx *context.Context, args *ut opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetFilterIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1ComputeFilterIndexIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilterIDs, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1ComputeFilterIndexIDs, args, reply) } -func (dS *DispatcherService) AdminSv1GetRateProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1ComputeFilterIndexes(ctx *context.Context, args *utils.ArgsComputeFilterIndexes, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -71,79 +54,11 @@ func (dS *DispatcherService) AdminSv1GetRateProfileCount(ctx *context.Context, a opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRateProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1ComputeFilterIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1GetRateProfilesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRateProfilesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfilesIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1GetResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ResourceProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveDispatcherProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1SetFilter(ctx *context.Context, args *engine.FilterWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { - tnt = args.Filter.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetFilter, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1ComputeFilterIndexes, args, reply) } func (dS *DispatcherService) AdminSv1GetAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *utils.Account) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -179,7 +94,7 @@ func (dS *DispatcherService) AdminSv1GetAccountCount(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAccountCount, args, reply) } -func (dS *DispatcherService) AdminSv1GetDispatcherHostCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1GetAccountIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -190,13 +105,13 @@ func (dS *DispatcherService) AdminSv1GetDispatcherHostCount(ctx *context.Context opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHostCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetAccountIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHostCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAccountIDs, args, reply) } -func (dS *DispatcherService) AdminSv1GetDispatcherProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1GetAccountsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -207,28 +122,11 @@ func (dS *DispatcherService) AdminSv1GetDispatcherProfileCount(ctx *context.Cont opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetAccountsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveFilterIndexes(ctx *context.Context, args *apis.AttrRemFilterIndexes, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveFilterIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveFilterIndexes, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAccountsIndexesHealth, args, reply) } func (dS *DispatcherService) AdminSv1GetActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ActionProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -247,7 +145,24 @@ func (dS *DispatcherService) AdminSv1GetActionProfile(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionProfile, args, reply) } -func (dS *DispatcherService) AdminSv1GetFilterCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1GetActionProfileCount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetActionProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionProfileCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetActionProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -258,13 +173,13 @@ func (dS *DispatcherService) AdminSv1GetFilterCount(ctx *context.Context, args * opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetFilterCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetActionProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilterCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionProfileIDs, args, reply) } -func (dS *DispatcherService) AdminSv1GetReverseFilterHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *map[string]*engine.ReverseFilterIHReply) (err error) { +func (dS *DispatcherService) AdminSv1GetActionsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -275,13 +190,30 @@ func (dS *DispatcherService) AdminSv1GetReverseFilterHealth(ctx *context.Context opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetReverseFilterHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetActionsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetReverseFilterHealth, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionsIndexesHealth, args, reply) } -func (dS *DispatcherService) AdminSv1GetRouteProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1GetAttributeProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.APIAttributeProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1GetAttributeProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -292,13 +224,13 @@ func (dS *DispatcherService) AdminSv1GetRouteProfileCount(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRouteProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRouteProfileCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfileCount, args, reply) } -func (dS *DispatcherService) AdminSv1SetRateProfile(ctx *context.Context, args *utils.APIRateProfile, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1GetAttributeProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -309,13 +241,13 @@ func (dS *DispatcherService) AdminSv1SetRateProfile(ctx *context.Context, args * opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRateProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfileIDs, args, reply) } -func (dS *DispatcherService) AdminSv1GetChargersIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { +func (dS *DispatcherService) AdminSv1GetAttributesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -326,28 +258,11 @@ func (dS *DispatcherService) AdminSv1GetChargersIndexesHealth(ctx *context.Conte opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetChargersIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetAttributesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargersIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1SetDispatcherHost(ctx *context.Context, args *engine.DispatcherHostWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { - tnt = args.DispatcherHost.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetDispatcherHost, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributesIndexesHealth, args, reply) } func (dS *DispatcherService) AdminSv1GetChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ChargerProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -366,7 +281,7 @@ func (dS *DispatcherService) AdminSv1GetChargerProfile(ctx *context.Context, arg } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargerProfile, args, reply) } -func (dS *DispatcherService) AdminSv1GetRateProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { +func (dS *DispatcherService) AdminSv1GetChargerProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -377,13 +292,13 @@ func (dS *DispatcherService) AdminSv1GetRateProfileIDs(ctx *context.Context, arg opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRateProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetChargerProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfileIDs, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargerProfileCount, args, reply) } -func (dS *DispatcherService) AdminSv1GetRateRatesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { +func (dS *DispatcherService) AdminSv1GetChargerProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -394,13 +309,30 @@ func (dS *DispatcherService) AdminSv1GetRateRatesIndexesHealth(ctx *context.Cont opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRateRatesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetChargerProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateRatesIndexesHealth, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargerProfileIDs, args, reply) } -func (dS *DispatcherService) AdminSv1GetStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueueProfile) (err error) { +func (dS *DispatcherService) AdminSv1GetChargersIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetChargersIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargersIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherHost) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -411,30 +343,13 @@ func (dS *DispatcherService) AdminSv1GetStatQueueProfile(ctx *context.Context, a opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHost, args, reply) } -func (dS *DispatcherService) AdminSv1SetAccount(ctx *context.Context, args *apis.APIAccountWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.APIAccount != nil && len(args.APIAccount.Tenant) != 0) { - tnt = args.APIAccount.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetAccount, args, reply) -} -func (dS *DispatcherService) AdminSv1ComputeFilterIndexes(ctx *context.Context, args *utils.ArgsComputeFilterIndexes, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1GetDispatcherHostCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -445,11 +360,147 @@ func (dS *DispatcherService) AdminSv1ComputeFilterIndexes(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1ComputeFilterIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHostCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1ComputeFilterIndexes, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHostCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatcherHostIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHostIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHostIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatcherProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfileCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatcherProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfileIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetDispatchersIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetDispatchersIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatchersIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Filter) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilter, args, reply) +} +func (dS *DispatcherService) AdminSv1GetFilterCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetFilterCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilterCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetFilterIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetFilterIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilterIDs, args, reply) } func (dS *DispatcherService) AdminSv1GetFilterIndexes(ctx *context.Context, args *apis.AttrGetFilterIndexes, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -468,7 +519,7 @@ func (dS *DispatcherService) AdminSv1GetFilterIndexes(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilterIndexes, args, reply) } -func (dS *DispatcherService) AdminSv1RemoveAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1GetRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *utils.RateProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -479,13 +530,13 @@ func (dS *DispatcherService) AdminSv1RemoveAccount(ctx *context.Context, args *u opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveAccount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfile, args, reply) } -func (dS *DispatcherService) AdminSv1RemoveRateProfileRates(ctx *context.Context, args *utils.RemoveRPrfRates, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1GetRateProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -496,13 +547,64 @@ func (dS *DispatcherService) AdminSv1RemoveRateProfileRates(ctx *context.Context opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveRateProfileRates, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetRateProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRateProfileRates, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfileCount, args, reply) } -func (dS *DispatcherService) AdminSv1RemoveThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1GetRateProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRateProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfileIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetRateProfilesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRateProfilesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfilesIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetRateRatesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRateRatesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateRatesIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ResourceProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -513,11 +615,79 @@ func (dS *DispatcherService) AdminSv1RemoveThresholdProfile(ctx *context.Context opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveThresholdProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1GetResourceProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfileCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetResourceProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfileIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetResourcesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetResourcesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourcesIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetReverseFilterHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *map[string]*engine.ReverseFilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetReverseFilterHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetReverseFilterHealth, args, reply) } func (dS *DispatcherService) AdminSv1GetRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.APIRouteProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -536,6 +706,159 @@ func (dS *DispatcherService) AdminSv1GetRouteProfile(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRouteProfile, args, reply) } +func (dS *DispatcherService) AdminSv1GetRouteProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRouteProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRouteProfileCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetRouteProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRouteProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRouteProfileIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetRoutesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetRoutesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRoutesIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueueProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1GetStatQueueProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfileCount, args, reply) +} +func (dS *DispatcherService) AdminSv1GetStatQueueProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfileIDs, args, reply) +} +func (dS *DispatcherService) AdminSv1GetStatsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetStatsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatsIndexesHealth, args, reply) +} +func (dS *DispatcherService) AdminSv1GetThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ThresholdProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetThresholdProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1GetThresholdProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1GetThresholdProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetThresholdProfileCount, args, reply) +} func (dS *DispatcherService) AdminSv1GetThresholdProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -570,295 +893,6 @@ func (dS *DispatcherService) AdminSv1GetThresholdsIndexesHealth(ctx *context.Con } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetThresholdsIndexesHealth, args, reply) } -func (dS *DispatcherService) AdminSv1RemoveRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRouteProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetChargerProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetChargerProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargerProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1GetDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherHost) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHost, args, reply) -} -func (dS *DispatcherService) AdminSv1GetRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *utils.RateProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRateProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetRoutesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRoutesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRoutesIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1GetStatsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetStatsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatsIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRateProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1SetDispatcherProfile(ctx *context.Context, args *apis.DispatcherWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { - tnt = args.DispatcherProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetDispatcherProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetAccountsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAccountsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAccountsIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveFilter, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveResourceProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetActionsIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetActionsIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionsIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveChargerProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1SetAttributeProfile(ctx *context.Context, args *engine.APIAttributeProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.APIAttributeProfile != nil && len(args.APIAttributeProfile.Tenant) != 0) { - tnt = args.APIAttributeProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetAttributeProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1SetStatQueueProfile(ctx *context.Context, args *engine.StatQueueProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { - tnt = args.StatQueueProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetStatQueueProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetChargerProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetChargerProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetChargerProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ThresholdProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetThresholdProfile, args, reply) -} func (dS *DispatcherService) AdminSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -879,109 +913,7 @@ func (dS *DispatcherService) AdminSv1Ping(ctx *context.Context, args *utils.CGRE } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1Ping, args, reply) } -func (dS *DispatcherService) AdminSv1GetActionProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetActionProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetAttributesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAttributesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributesIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1GetDispatchersIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatchersIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatchersIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1GetResourcesIndexesHealth(ctx *context.Context, args *engine.IndexHealthArgs, reply *engine.FilterIHReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetResourcesIndexesHealth, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourcesIndexesHealth, args, reply) -} -func (dS *DispatcherService) AdminSv1GetThresholdProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetThresholdProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetThresholdProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1SetResourceProfile(ctx *context.Context, args *engine.ResourceProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { - tnt = args.ResourceProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetResourceProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetActionProfileCount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1RemoveAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -992,266 +924,11 @@ func (dS *DispatcherService) AdminSv1GetActionProfileCount(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetActionProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1RemoveAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetActionProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1GetResourceProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfileCount, args, reply) -} -func (dS *DispatcherService) AdminSv1GetRouteProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetRouteProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetRouteProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1SetRouteProfile(ctx *context.Context, args *engine.APIRouteProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.APIRouteProfile != nil && len(args.APIRouteProfile.Tenant) != 0) { - tnt = args.APIRouteProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRouteProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1SetThresholdProfile(ctx *context.Context, args *engine.ThresholdProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { - tnt = args.ThresholdProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetThresholdProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetAttributeProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.APIAttributeProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfile, args, reply) -} -func (dS *DispatcherService) AdminSv1GetAttributeProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetDispatcherHostIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherHostIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherHostIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetResourceProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetResourceProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetResourceProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetStatQueueProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1RemoveDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1RemoveDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveDispatcherHost, args, reply) -} -func (dS *DispatcherService) AdminSv1SetRateProfileRates(ctx *context.Context, args *utils.APIRateProfile, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetRateProfileRates, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRateProfileRates, args, reply) -} -func (dS *DispatcherService) AdminSv1GetAccountIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAccountIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAccountIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetDispatcherProfileIDs(ctx *context.Context, args *utils.PaginatorWithTenant, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetDispatcherProfileIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetDispatcherProfileIDs, args, reply) -} -func (dS *DispatcherService) AdminSv1GetFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Filter) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetFilter, args, reply) -} -func (dS *DispatcherService) AdminSv1GetStatQueueProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetStatQueueProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetStatQueueProfileCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveAccount, args, reply) } func (dS *DispatcherService) AdminSv1RemoveActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -1287,10 +964,10 @@ func (dS *DispatcherService) AdminSv1RemoveAttributeProfile(ctx *context.Context } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveAttributeProfile, args, reply) } -func (dS *DispatcherService) AdminSv1SetActionProfile(ctx *context.Context, args *engine.ActionProfileWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1RemoveChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ActionProfile != nil && len(args.ActionProfile.Tenant) != 0) { - tnt = args.ActionProfile.Tenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant } ev := make(map[string]interface{}) opts := make(map[string]interface{}) @@ -1298,13 +975,64 @@ func (dS *DispatcherService) AdminSv1SetActionProfile(ctx *context.Context, args opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1SetActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1RemoveChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetActionProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveChargerProfile, args, reply) } -func (dS *DispatcherService) AdminSv1ComputeFilterIndexIDs(ctx *context.Context, args *utils.ArgsComputeFilterIndexIDs, reply *string) (err error) { +func (dS *DispatcherService) AdminSv1RemoveDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveDispatcherHost, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveDispatcherProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveFilter, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveFilterIndexes(ctx *context.Context, args *apis.AttrRemFilterIndexes, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -1315,13 +1043,30 @@ func (dS *DispatcherService) AdminSv1ComputeFilterIndexIDs(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1ComputeFilterIndexIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1RemoveFilterIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1ComputeFilterIndexIDs, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveFilterIndexes, args, reply) } -func (dS *DispatcherService) AdminSv1GetAttributeProfileCount(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *int) (err error) { +func (dS *DispatcherService) AdminSv1RemoveRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRateProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveRateProfileRates(ctx *context.Context, args *utils.RemoveRPrfRates, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -1332,11 +1077,45 @@ func (dS *DispatcherService) AdminSv1GetAttributeProfileCount(ctx *context.Conte opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AdminSv1GetAttributeProfileCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.AdminSv1RemoveRateProfileRates, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1GetAttributeProfileCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRateProfileRates, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveResourceProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1RemoveRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveRouteProfile, args, reply) } func (dS *DispatcherService) AdminSv1RemoveStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -1355,6 +1134,74 @@ func (dS *DispatcherService) AdminSv1RemoveStatQueueProfile(ctx *context.Context } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveStatQueueProfile, args, reply) } +func (dS *DispatcherService) AdminSv1RemoveThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1RemoveThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1RemoveThresholdProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetAccount(ctx *context.Context, args *apis.APIAccountWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.APIAccount != nil && len(args.APIAccount.Tenant) != 0) { + tnt = args.APIAccount.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetAccount, args, reply) +} +func (dS *DispatcherService) AdminSv1SetActionProfile(ctx *context.Context, args *engine.ActionProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ActionProfile != nil && len(args.ActionProfile.Tenant) != 0) { + tnt = args.ActionProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetActionProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetAttributeProfile(ctx *context.Context, args *engine.APIAttributeProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.APIAttributeProfile != nil && len(args.APIAttributeProfile.Tenant) != 0) { + tnt = args.APIAttributeProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetAttributeProfile, args, reply) +} func (dS *DispatcherService) AdminSv1SetChargerProfile(ctx *context.Context, args *apis.ChargerWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.ChargerProfile != nil && len(args.ChargerProfile.Tenant) != 0) { @@ -1372,3 +1219,156 @@ func (dS *DispatcherService) AdminSv1SetChargerProfile(ctx *context.Context, arg } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetChargerProfile, args, reply) } +func (dS *DispatcherService) AdminSv1SetDispatcherHost(ctx *context.Context, args *engine.DispatcherHostWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { + tnt = args.DispatcherHost.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetDispatcherHost, args, reply) +} +func (dS *DispatcherService) AdminSv1SetDispatcherProfile(ctx *context.Context, args *apis.DispatcherWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { + tnt = args.DispatcherProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetDispatcherProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetFilter(ctx *context.Context, args *engine.FilterWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { + tnt = args.Filter.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetFilter, args, reply) +} +func (dS *DispatcherService) AdminSv1SetRateProfile(ctx *context.Context, args *utils.APIRateProfile, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRateProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetRateProfileRates(ctx *context.Context, args *utils.APIRateProfile, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetRateProfileRates, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRateProfileRates, args, reply) +} +func (dS *DispatcherService) AdminSv1SetResourceProfile(ctx *context.Context, args *engine.ResourceProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { + tnt = args.ResourceProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetResourceProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetRouteProfile(ctx *context.Context, args *engine.APIRouteProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.APIRouteProfile != nil && len(args.APIRouteProfile.Tenant) != 0) { + tnt = args.APIRouteProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetRouteProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetStatQueueProfile(ctx *context.Context, args *engine.StatQueueProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { + tnt = args.StatQueueProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetStatQueueProfile, args, reply) +} +func (dS *DispatcherService) AdminSv1SetThresholdProfile(ctx *context.Context, args *engine.ThresholdProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { + tnt = args.ThresholdProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AdminSv1SetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAdminS, utils.AdminSv1SetThresholdProfile, args, reply) +} diff --git a/dispatchers/attributes.go b/dispatchers/attributes.go index be5fb3099..d81f5917d 100644 --- a/dispatchers/attributes.go +++ b/dispatchers/attributes.go @@ -25,26 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) AttributeSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.AttributeSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAttributes, utils.AttributeSv1Ping, args, reply) -} func (dS *DispatcherService) AttributeSv1GetAttributeForEvent(ctx *context.Context, args *utils.CGREvent, reply *engine.APIAttributeProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -65,6 +45,26 @@ func (dS *DispatcherService) AttributeSv1GetAttributeForEvent(ctx *context.Conte } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAttributes, utils.AttributeSv1GetAttributeForEvent, args, reply) } +func (dS *DispatcherService) AttributeSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.AttributeSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAttributes, utils.AttributeSv1Ping, args, reply) +} func (dS *DispatcherService) AttributeSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *engine.AttrSProcessEventReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { diff --git a/dispatchers/caches.go b/dispatchers/caches.go index 796f77314..536c9ea09 100644 --- a/dispatchers/caches.go +++ b/dispatchers/caches.go @@ -26,7 +26,7 @@ import ( "time" ) -func (dS *DispatcherService) CacheSv1GetItemExpiryTime(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *time.Time) (err error) { +func (dS *DispatcherService) CacheSv1Clear(ctx *context.Context, args *utils.AttrCacheIDsWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -37,167 +37,11 @@ func (dS *DispatcherService) CacheSv1GetItemExpiryTime(ctx *context.Context, arg opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1GetItemExpiryTime, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.CacheSv1Clear, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetItemExpiryTime, args, reply) -} -func (dS *DispatcherService) CacheSv1LoadCache(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1LoadCache, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1LoadCache, args, reply) -} -func (dS *DispatcherService) CacheSv1HasItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *bool) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1HasItem, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1HasItem, args, reply) -} -func (dS *DispatcherService) CacheSv1ReplicateSet(ctx *context.Context, args *utils.ArgCacheReplicateSet, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1ReplicateSet, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReplicateSet, args, reply) -} -func (dS *DispatcherService) CacheSv1RemoveGroup(ctx *context.Context, args *utils.ArgsGetGroupWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1RemoveGroup, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveGroup, args, reply) -} -func (dS *DispatcherService) CacheSv1ReloadCache(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1ReloadCache, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReloadCache, args, reply) -} -func (dS *DispatcherService) CacheSv1RemoveItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1RemoveItem, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveItem, args, reply) -} -func (dS *DispatcherService) CacheSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1Ping, args, reply) -} -func (dS *DispatcherService) CacheSv1RemoveItems(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1RemoveItems, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveItems, args, reply) -} -func (dS *DispatcherService) CacheSv1ReplicateRemove(ctx *context.Context, args *utils.ArgCacheReplicateRemove, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1ReplicateRemove, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReplicateRemove, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1Clear, args, reply) } func (dS *DispatcherService) CacheSv1GetCacheStats(ctx *context.Context, args *utils.AttrCacheIDsWithAPIOpts, reply *map[string]*ltcache.CacheStats) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -233,7 +77,7 @@ func (dS *DispatcherService) CacheSv1GetGroupItemIDs(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetGroupItemIDs, args, reply) } -func (dS *DispatcherService) CacheSv1HasGroup(ctx *context.Context, args *utils.ArgsGetGroupWithAPIOpts, reply *bool) (err error) { +func (dS *DispatcherService) CacheSv1GetItemExpiryTime(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *time.Time) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -244,28 +88,11 @@ func (dS *DispatcherService) CacheSv1HasGroup(ctx *context.Context, args *utils. opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1HasGroup, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.CacheSv1GetItemExpiryTime, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1HasGroup, args, reply) -} -func (dS *DispatcherService) CacheSv1PrecacheStatus(ctx *context.Context, args *utils.AttrCacheIDsWithAPIOpts, reply *map[string]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1PrecacheStatus, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1PrecacheStatus, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetItemExpiryTime, args, reply) } func (dS *DispatcherService) CacheSv1GetItemIDs(ctx *context.Context, args *utils.ArgsGetCacheItemIDsWithAPIOpts, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -284,7 +111,7 @@ func (dS *DispatcherService) CacheSv1GetItemIDs(ctx *context.Context, args *util } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetItemIDs, args, reply) } -func (dS *DispatcherService) CacheSv1Clear(ctx *context.Context, args *utils.AttrCacheIDsWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) CacheSv1HasGroup(ctx *context.Context, args *utils.ArgsGetGroupWithAPIOpts, reply *bool) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -295,9 +122,182 @@ func (dS *DispatcherService) CacheSv1Clear(ctx *context.Context, args *utils.Att opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CacheSv1Clear, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.CacheSv1HasGroup, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1Clear, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1HasGroup, args, reply) +} +func (dS *DispatcherService) CacheSv1HasItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *bool) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1HasItem, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1HasItem, args, reply) +} +func (dS *DispatcherService) CacheSv1LoadCache(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1LoadCache, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1LoadCache, args, reply) +} +func (dS *DispatcherService) CacheSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1Ping, args, reply) +} +func (dS *DispatcherService) CacheSv1PrecacheStatus(ctx *context.Context, args *utils.AttrCacheIDsWithAPIOpts, reply *map[string]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1PrecacheStatus, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1PrecacheStatus, args, reply) +} +func (dS *DispatcherService) CacheSv1ReloadCache(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1ReloadCache, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReloadCache, args, reply) +} +func (dS *DispatcherService) CacheSv1RemoveGroup(ctx *context.Context, args *utils.ArgsGetGroupWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1RemoveGroup, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveGroup, args, reply) +} +func (dS *DispatcherService) CacheSv1RemoveItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1RemoveItem, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveItem, args, reply) +} +func (dS *DispatcherService) CacheSv1RemoveItems(ctx *context.Context, args *utils.AttrReloadCacheWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1RemoveItems, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1RemoveItems, args, reply) +} +func (dS *DispatcherService) CacheSv1ReplicateRemove(ctx *context.Context, args *utils.ArgCacheReplicateRemove, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1ReplicateRemove, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReplicateRemove, args, reply) +} +func (dS *DispatcherService) CacheSv1ReplicateSet(ctx *context.Context, args *utils.ArgCacheReplicateSet, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CacheSv1ReplicateSet, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1ReplicateSet, args, reply) } diff --git a/dispatchers/chargers.go b/dispatchers/chargers.go index 3d1574436..45007e4d7 100644 --- a/dispatchers/chargers.go +++ b/dispatchers/chargers.go @@ -25,26 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ChargerSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ChargerSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaChargers, utils.ChargerSv1Ping, args, reply) -} func (dS *DispatcherService) ChargerSv1GetChargersForEvent(ctx *context.Context, args *utils.CGREvent, reply *engine.ChargerProfiles) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -65,6 +45,26 @@ func (dS *DispatcherService) ChargerSv1GetChargersForEvent(ctx *context.Context, } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaChargers, utils.ChargerSv1GetChargersForEvent, args, reply) } +func (dS *DispatcherService) ChargerSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ChargerSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaChargers, utils.ChargerSv1Ping, args, reply) +} func (dS *DispatcherService) ChargerSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *[]*engine.ChrgSProcessEventReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { diff --git a/dispatchers/config.go b/dispatchers/config.go index 527887c90..8853ecec0 100644 --- a/dispatchers/config.go +++ b/dispatchers/config.go @@ -25,23 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ConfigSv1StoreCfgInDB(ctx *context.Context, args *config.SectionWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ConfigSv1StoreCfgInDB, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1StoreCfgInDB, args, reply) -} func (dS *DispatcherService) ConfigSv1GetConfig(ctx *context.Context, args *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -76,6 +59,26 @@ func (dS *DispatcherService) ConfigSv1GetConfigAsJSON(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1GetConfigAsJSON, args, reply) } +func (dS *DispatcherService) ConfigSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ConfigSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1Ping, args, reply) +} func (dS *DispatcherService) ConfigSv1ReloadConfig(ctx *context.Context, args *config.ReloadArgs, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -127,23 +130,20 @@ func (dS *DispatcherService) ConfigSv1SetConfigFromJSON(ctx *context.Context, ar } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1SetConfigFromJSON, args, reply) } -func (dS *DispatcherService) ConfigSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { +func (dS *DispatcherService) ConfigSv1StoreCfgInDB(ctx *context.Context, args *config.SectionWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ConfigSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ConfigSv1StoreCfgInDB, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1Ping, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaConfig, utils.ConfigSv1StoreCfgInDB, args, reply) } diff --git a/dispatchers/cores.go b/dispatchers/cores.go index f579eb73e..d9189f518 100644 --- a/dispatchers/cores.go +++ b/dispatchers/cores.go @@ -24,22 +24,25 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) CoreSv1StopMemoryProfiling(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) CoreSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CoreSv1StopMemoryProfiling, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.CoreSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StopMemoryProfiling, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1Ping, args, reply) } func (dS *DispatcherService) CoreSv1Shutdown(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -95,26 +98,6 @@ func (dS *DispatcherService) CoreSv1StartCPUProfiling(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StartCPUProfiling, args, reply) } -func (dS *DispatcherService) CoreSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.CoreSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1Ping, args, reply) -} func (dS *DispatcherService) CoreSv1StartMemoryProfiling(ctx *context.Context, args *utils.MemoryPrf, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -166,3 +149,20 @@ func (dS *DispatcherService) CoreSv1StopCPUProfiling(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StopCPUProfiling, args, reply) } +func (dS *DispatcherService) CoreSv1StopMemoryProfiling(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.CoreSv1StopMemoryProfiling, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StopMemoryProfiling, args, reply) +} diff --git a/dispatchers/ees.go b/dispatchers/ees.go index 88f0dd5e0..1c2fd9d4c 100644 --- a/dispatchers/ees.go +++ b/dispatchers/ees.go @@ -25,6 +25,23 @@ import ( "github.com/cgrates/cgrates/utils" ) +func (dS *DispatcherService) EeSv1ArchiveEventsInReply(ctx *context.Context, args *ees.ArchiveEventsArgs, reply *[]uint8) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.EeSv1ArchiveEventsInReply, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaEEs, utils.EeSv1ArchiveEventsInReply, args, reply) +} func (dS *DispatcherService) EeSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -45,23 +62,6 @@ func (dS *DispatcherService) EeSv1Ping(ctx *context.Context, args *utils.CGREven } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaEEs, utils.EeSv1Ping, args, reply) } -func (dS *DispatcherService) EeSv1ArchiveEventsInReply(ctx *context.Context, args *ees.ArchiveEventsArgs, reply *[]uint8) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.EeSv1ArchiveEventsInReply, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaEEs, utils.EeSv1ArchiveEventsInReply, args, reply) -} func (dS *DispatcherService) EeSv1ProcessEvent(ctx *context.Context, args *utils.CGREventWithEeIDs, reply *map[string]map[string]interface{}) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.CGREvent != nil && len(args.CGREvent.Tenant) != 0) { diff --git a/dispatchers/guardian.go b/dispatchers/guardian.go index dabf8e61a..1901a54ab 100644 --- a/dispatchers/guardian.go +++ b/dispatchers/guardian.go @@ -16,63 +16,66 @@ You should have received a copy of the GNU General Public License along with this program. If not, see */ +// do not modify this code because it's generated package dispatchers import ( "github.com/cgrates/birpc/context" + "github.com/cgrates/cgrates/guardian" "github.com/cgrates/cgrates/utils" ) -// GuardianSv1Ping interogates GuardianSv1 server responsible to process the event -func (dS *DispatcherService) GuardianSv1Ping(args *utils.CGREvent, - reply *string) (err error) { - if args == nil { - args = new(utils.CGREvent) - } - args.Tenant = utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant) - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize2(utils.GuardianSv1Ping, args.Tenant, - utils.IfaceAsString(args.APIOpts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(context.TODO(), args, utils.MetaGuardian, utils.GuardianSv1Ping, args, reply) -} - -// GuardianSv1RemoteLock will lock a key from remote -func (dS *DispatcherService) GuardianSv1RemoteLock(args AttrRemoteLockWithAPIOpts, - reply *string) (err error) { +func (dS *DispatcherService) GuardianSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args.Tenant != utils.EmptyString { + if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize2(utils.GuardianSv1RemoteLock, tnt, - utils.IfaceAsString(args.APIOpts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.GuardianSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(context.TODO(), &utils.CGREvent{ - Tenant: tnt, - APIOpts: args.APIOpts, - }, utils.MetaGuardian, utils.GuardianSv1RemoteLock, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaGuardian, utils.GuardianSv1Ping, args, reply) } - -// GuardianSv1RemoteUnlock will unlock a key from remote based on reference ID -func (dS *DispatcherService) GuardianSv1RemoteUnlock(args AttrRemoteUnlockWithAPIOpts, - reply *[]string) (err error) { +func (dS *DispatcherService) GuardianSv1RemoteLock(ctx *context.Context, args *guardian.AttrRemoteLockWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args.Tenant != utils.EmptyString { + if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize2(utils.GuardianSv1RemoteUnlock, tnt, - utils.IfaceAsString(args.APIOpts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.GuardianSv1RemoteLock, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(context.TODO(), &utils.CGREvent{ - Tenant: tnt, - APIOpts: args.APIOpts, - }, utils.MetaGuardian, utils.GuardianSv1RemoteUnlock, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaGuardian, utils.GuardianSv1RemoteLock, args, reply) +} +func (dS *DispatcherService) GuardianSv1RemoteUnlock(ctx *context.Context, args *guardian.AttrRemoteUnlockWithAPIOpts, reply *[]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.GuardianSv1RemoteUnlock, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaGuardian, utils.GuardianSv1RemoteUnlock, args, reply) } diff --git a/dispatchers/rates.go b/dispatchers/rates.go index e9429177a..b6fe27a27 100644 --- a/dispatchers/rates.go +++ b/dispatchers/rates.go @@ -24,26 +24,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) RateSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.RateSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.RateS, utils.RateSv1Ping, args, reply) -} func (dS *DispatcherService) RateSv1CostForEvent(ctx *context.Context, args *utils.CGREvent, reply *utils.RateProfileCost) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -64,3 +44,23 @@ func (dS *DispatcherService) RateSv1CostForEvent(ctx *context.Context, args *uti } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.RateS, utils.RateSv1CostForEvent, args, reply) } +func (dS *DispatcherService) RateSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.RateSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.RateS, utils.RateSv1Ping, args, reply) +} diff --git a/dispatchers/replicator.go b/dispatchers/replicator.go index 7f493cd9d..9707db1a5 100644 --- a/dispatchers/replicator.go +++ b/dispatchers/replicator.go @@ -25,298 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ReplicatorSv1RemoveFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveFilter, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetResourceProfile(ctx *context.Context, args *engine.ResourceProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { - tnt = args.ResourceProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetResourceProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueueProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetStatQueueProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveDispatcherProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1Ping, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveChargerProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetDispatcherProfile(ctx *context.Context, args *engine.DispatcherProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { - tnt = args.DispatcherProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetDispatcherProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetRateProfile(ctx *context.Context, args *utils.RateProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.RateProfile != nil && len(args.RateProfile.Tenant) != 0) { - tnt = args.RateProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetRateProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetThreshold(ctx *context.Context, args *engine.ThresholdWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.Threshold != nil && len(args.Threshold.Tenant) != 0) { - tnt = args.Threshold.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetThreshold, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherHost) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetDispatcherHost, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ResourceProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetResourceProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ChargerProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetChargerProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetDispatcherProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveActionProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveAttributeProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveAttributeProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveResourceProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveStatQueueProfile, args, reply) -} func (dS *DispatcherService) ReplicatorSv1GetAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *utils.Account) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -334,6 +42,23 @@ func (dS *DispatcherService) ReplicatorSv1GetAccount(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetAccount, args, reply) } +func (dS *DispatcherService) ReplicatorSv1GetActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ActionProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetActionProfile, args, reply) +} func (dS *DispatcherService) ReplicatorSv1GetAttributeProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.AttributeProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -351,55 +76,7 @@ func (dS *DispatcherService) ReplicatorSv1GetAttributeProfile(ctx *context.Conte } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetAttributeProfile, args, reply) } -func (dS *DispatcherService) ReplicatorSv1SetDispatcherHost(ctx *context.Context, args *engine.DispatcherHostWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { - tnt = args.DispatcherHost.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetDispatcherHost, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetStatQueue(ctx *context.Context, args *engine.StatQueueWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetStatQueue, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetThresholdProfile(ctx *context.Context, args *engine.ThresholdProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { - tnt = args.ThresholdProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetThresholdProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) ReplicatorSv1GetChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ChargerProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -410,47 +87,13 @@ func (dS *DispatcherService) ReplicatorSv1RemoveThresholdProfile(ctx *context.Co opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveThresholdProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetChargerProfile, args, reply) } -func (dS *DispatcherService) ReplicatorSv1SetAccount(ctx *context.Context, args *utils.AccountWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.Account != nil && len(args.Account.Tenant) != 0) { - tnt = args.Account.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetAccount, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveIndexes(ctx *context.Context, args *utils.GetIndexesArg, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveIndexes, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) ReplicatorSv1GetDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherHost) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant @@ -461,16 +104,16 @@ func (dS *DispatcherService) ReplicatorSv1RemoveStatQueue(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveStatQueue, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetDispatcherHost, args, reply) } -func (dS *DispatcherService) ReplicatorSv1SetLoadIDs(ctx *context.Context, args *utils.LoadIDsWithAPIOpts, reply *string) (err error) { +func (dS *DispatcherService) ReplicatorSv1GetDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.DispatcherProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant } ev := make(map[string]interface{}) opts := make(map[string]interface{}) @@ -478,11 +121,11 @@ func (dS *DispatcherService) ReplicatorSv1SetLoadIDs(ctx *context.Context, args opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetLoadIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetLoadIDs, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetDispatcherProfile, args, reply) } func (dS *DispatcherService) ReplicatorSv1GetFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Filter) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -501,57 +144,6 @@ func (dS *DispatcherService) ReplicatorSv1GetFilter(ctx *context.Context, args * } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetFilter, args, reply) } -func (dS *DispatcherService) ReplicatorSv1GetThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ThresholdProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetThresholdProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveRouteProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetIndexes(ctx *context.Context, args *utils.SetIndexesArg, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetIndexes, args, reply) -} func (dS *DispatcherService) ReplicatorSv1GetIndexes(ctx *context.Context, args *utils.GetIndexesArg, reply *map[string]utils.StringSet) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -569,74 +161,6 @@ func (dS *DispatcherService) ReplicatorSv1GetIndexes(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetIndexes, args, reply) } -func (dS *DispatcherService) ReplicatorSv1RemoveResource(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveResource, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveResource, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1GetRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.RouteProfile) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetRouteProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveDispatcherHost, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetChargerProfile(ctx *context.Context, args *engine.ChargerProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.ChargerProfile != nil && len(args.ChargerProfile.Tenant) != 0) { - tnt = args.ChargerProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetChargerProfile, args, reply) -} func (dS *DispatcherService) ReplicatorSv1GetItemLoadIDs(ctx *context.Context, args *utils.StringWithAPIOpts, reply *map[string]int64) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -671,57 +195,6 @@ func (dS *DispatcherService) ReplicatorSv1GetRateProfile(ctx *context.Context, a } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetRateProfile, args, reply) } -func (dS *DispatcherService) ReplicatorSv1RemoveRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveRateProfile, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetFilter(ctx *context.Context, args *engine.FilterWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { - tnt = args.Filter.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetFilter, args, reply) -} -func (dS *DispatcherService) ReplicatorSv1SetStatQueueProfile(ctx *context.Context, args *engine.StatQueueProfileWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { - tnt = args.StatQueueProfile.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1SetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetStatQueueProfile, args, reply) -} func (dS *DispatcherService) ReplicatorSv1GetResource(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Resource) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -739,6 +212,40 @@ func (dS *DispatcherService) ReplicatorSv1GetResource(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetResource, args, reply) } +func (dS *DispatcherService) ReplicatorSv1GetResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ResourceProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetResourceProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1GetRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.RouteProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetRouteProfile, args, reply) +} func (dS *DispatcherService) ReplicatorSv1GetStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueue) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -756,6 +263,77 @@ func (dS *DispatcherService) ReplicatorSv1GetStatQueue(ctx *context.Context, arg } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetStatQueue, args, reply) } +func (dS *DispatcherService) ReplicatorSv1GetStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueueProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetStatQueueProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1GetThreshold(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Threshold) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetThreshold, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1GetThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ThresholdProfile) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1GetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetThresholdProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1Ping, args, reply) +} func (dS *DispatcherService) ReplicatorSv1RemoveAccount(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -773,6 +351,227 @@ func (dS *DispatcherService) ReplicatorSv1RemoveAccount(ctx *context.Context, ar } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveAccount, args, reply) } +func (dS *DispatcherService) ReplicatorSv1RemoveActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveActionProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveAttributeProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveAttributeProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveAttributeProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveChargerProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveChargerProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherHost(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveDispatcherHost, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveDispatcherProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveFilter(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveFilter, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveIndexes(ctx *context.Context, args *utils.GetIndexesArg, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveIndexes, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveRateProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveRateProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveResource(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveResource, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveResource, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveResourceProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveResourceProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveRouteProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveRouteProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveRouteProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveStatQueue, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1RemoveStatQueueProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveStatQueueProfile, args, reply) +} func (dS *DispatcherService) ReplicatorSv1RemoveThreshold(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -790,6 +589,40 @@ func (dS *DispatcherService) ReplicatorSv1RemoveThreshold(ctx *context.Context, } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveThreshold, args, reply) } +func (dS *DispatcherService) ReplicatorSv1RemoveThresholdProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1RemoveThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1RemoveThresholdProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetAccount(ctx *context.Context, args *utils.AccountWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.Account != nil && len(args.Account.Tenant) != 0) { + tnt = args.Account.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetAccount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetAccount, args, reply) +} func (dS *DispatcherService) ReplicatorSv1SetActionProfile(ctx *context.Context, args *engine.ActionProfileWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.ActionProfile != nil && len(args.ActionProfile.Tenant) != 0) { @@ -824,6 +657,125 @@ func (dS *DispatcherService) ReplicatorSv1SetAttributeProfile(ctx *context.Conte } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetAttributeProfile, args, reply) } +func (dS *DispatcherService) ReplicatorSv1SetChargerProfile(ctx *context.Context, args *engine.ChargerProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ChargerProfile != nil && len(args.ChargerProfile.Tenant) != 0) { + tnt = args.ChargerProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetChargerProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetChargerProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetDispatcherHost(ctx *context.Context, args *engine.DispatcherHostWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { + tnt = args.DispatcherHost.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetDispatcherHost, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetDispatcherHost, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetDispatcherProfile(ctx *context.Context, args *engine.DispatcherProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { + tnt = args.DispatcherProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetDispatcherProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetDispatcherProfile, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetFilter(ctx *context.Context, args *engine.FilterWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { + tnt = args.Filter.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetFilter, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetFilter, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetIndexes(ctx *context.Context, args *utils.SetIndexesArg, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetIndexes, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetIndexes, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetLoadIDs(ctx *context.Context, args *utils.LoadIDsWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetLoadIDs, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetLoadIDs, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetRateProfile(ctx *context.Context, args *utils.RateProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.RateProfile != nil && len(args.RateProfile.Tenant) != 0) { + tnt = args.RateProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetRateProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetRateProfile, args, reply) +} func (dS *DispatcherService) ReplicatorSv1SetResource(ctx *context.Context, args *engine.ResourceWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.Resource != nil && len(args.Resource.Tenant) != 0) { @@ -841,6 +793,23 @@ func (dS *DispatcherService) ReplicatorSv1SetResource(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetResource, args, reply) } +func (dS *DispatcherService) ReplicatorSv1SetResourceProfile(ctx *context.Context, args *engine.ResourceProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { + tnt = args.ResourceProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetResourceProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetResourceProfile, args, reply) +} func (dS *DispatcherService) ReplicatorSv1SetRouteProfile(ctx *context.Context, args *engine.RouteProfileWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.RouteProfile != nil && len(args.RouteProfile.Tenant) != 0) { @@ -858,10 +827,24 @@ func (dS *DispatcherService) ReplicatorSv1SetRouteProfile(ctx *context.Context, } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetRouteProfile, args, reply) } -func (dS *DispatcherService) ReplicatorSv1GetActionProfile(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.ActionProfile) (err error) { +func (dS *DispatcherService) ReplicatorSv1SetStatQueue(ctx *context.Context, args *engine.StatQueueWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetStatQueue, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetStatQueueProfile(ctx *context.Context, args *engine.StatQueueProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { + tnt = args.StatQueueProfile.Tenant } ev := make(map[string]interface{}) opts := make(map[string]interface{}) @@ -869,16 +852,16 @@ func (dS *DispatcherService) ReplicatorSv1GetActionProfile(ctx *context.Context, opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetActionProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetStatQueueProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetActionProfile, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetStatQueueProfile, args, reply) } -func (dS *DispatcherService) ReplicatorSv1GetThreshold(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Threshold) (err error) { +func (dS *DispatcherService) ReplicatorSv1SetThreshold(ctx *context.Context, args *engine.ThresholdWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant + if args != nil && (args.Threshold != nil && len(args.Threshold.Tenant) != 0) { + tnt = args.Threshold.Tenant } ev := make(map[string]interface{}) opts := make(map[string]interface{}) @@ -886,9 +869,26 @@ func (dS *DispatcherService) ReplicatorSv1GetThreshold(ctx *context.Context, arg opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ReplicatorSv1GetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1GetThreshold, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetThreshold, args, reply) +} +func (dS *DispatcherService) ReplicatorSv1SetThresholdProfile(ctx *context.Context, args *engine.ThresholdProfileWithAPIOpts, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { + tnt = args.ThresholdProfile.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ReplicatorSv1SetThresholdProfile, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaReplicator, utils.ReplicatorSv1SetThresholdProfile, args, reply) } diff --git a/dispatchers/resources.go b/dispatchers/resources.go index f862e9430..8576f5787 100644 --- a/dispatchers/resources.go +++ b/dispatchers/resources.go @@ -25,26 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ResourceSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ResourceSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaResources, utils.ResourceSv1Ping, args, reply) -} func (dS *DispatcherService) ResourceSv1AllocateResources(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -139,6 +119,26 @@ func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(ctx *context.Contex } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaResources, utils.ResourceSv1GetResourcesForEvent, args, reply) } +func (dS *DispatcherService) ResourceSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ResourceSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaResources, utils.ResourceSv1Ping, args, reply) +} func (dS *DispatcherService) ResourceSv1ReleaseResources(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { diff --git a/dispatchers/routes.go b/dispatchers/routes.go index d3663c664..682bf2439 100644 --- a/dispatchers/routes.go +++ b/dispatchers/routes.go @@ -25,7 +25,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) RouteSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { +func (dS *DispatcherService) RouteSv1GetRouteProfilesForEvent(ctx *context.Context, args *utils.CGREvent, reply *[]*engine.RouteProfile) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -39,11 +39,11 @@ func (dS *DispatcherService) RouteSv1Ping(ctx *context.Context, args *utils.CGRE opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.RouteSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.RouteSv1GetRouteProfilesForEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaRoutes, utils.RouteSv1Ping, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaRoutes, utils.RouteSv1GetRouteProfilesForEvent, args, reply) } func (dS *DispatcherService) RouteSv1GetRoutes(ctx *context.Context, args *utils.CGREvent, reply *engine.SortedRoutesList) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -85,7 +85,7 @@ func (dS *DispatcherService) RouteSv1GetRoutesList(ctx *context.Context, args *u } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaRoutes, utils.RouteSv1GetRoutesList, args, reply) } -func (dS *DispatcherService) RouteSv1GetRouteProfilesForEvent(ctx *context.Context, args *utils.CGREvent, reply *[]*engine.RouteProfile) (err error) { +func (dS *DispatcherService) RouteSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -99,9 +99,9 @@ func (dS *DispatcherService) RouteSv1GetRouteProfilesForEvent(ctx *context.Conte opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.RouteSv1GetRouteProfilesForEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.RouteSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaRoutes, utils.RouteSv1GetRouteProfilesForEvent, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaRoutes, utils.RouteSv1Ping, args, reply) } diff --git a/dispatchers/servicemanager.go b/dispatchers/servicemanager.go deleted file mode 100644 index 1d42ca6c8..000000000 --- a/dispatchers/servicemanager.go +++ /dev/null @@ -1,40 +0,0 @@ -/* -Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments -Copyright (C) ITsysCOM GmbH - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see -*/ - -package dispatchers - -import ( - "github.com/cgrates/birpc/context" - "github.com/cgrates/cgrates/utils" -) - -// ServiceManagerV1Ping interogates ServiceManager server responsible to process the event -func (dS *DispatcherService) ServiceManagerV1Ping(args *utils.CGREvent, - reply *string) (err error) { - if args == nil { - args = new(utils.CGREvent) - } - args.Tenant = utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant) - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize2(utils.ServiceManagerV1Ping, args.Tenant, - utils.IfaceAsString(args.APIOpts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(context.TODO(), args, utils.MetaServiceManager, utils.ServiceManagerV1Ping, args, reply) -} diff --git a/dispatchers/servicemanager_test.go b/dispatchers/servicemanager_test.go deleted file mode 100644 index 2a9eb67e6..000000000 --- a/dispatchers/servicemanager_test.go +++ /dev/null @@ -1,67 +0,0 @@ -/* -Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments -Copyright (C) ITsysCOM GmbH - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see -*/ - -package dispatchers - -import ( - "testing" - - "github.com/cgrates/cgrates/config" - "github.com/cgrates/cgrates/utils" -) - -func TestDspServiceManagerV1PingErrorNilEvent(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - var reply *string - result := dspSrv.ServiceManagerV1Ping(nil, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspServiceManagerV1PingErrorNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - CGREvent := &utils.CGREvent{ - Tenant: "tenant", - } - var reply *string - result := dspSrv.ServiceManagerV1Ping(CGREvent, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspServiceManagerV1PingNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.CGREvent{ - Tenant: "tenant", - } - var reply *string - result := dspSrv.ServiceManagerV1Ping(CGREvent, reply) - expected := "DISPATCHER_ERROR:NO_DATABASE_CONNECTION" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} diff --git a/dispatchers/sessions.go b/dispatchers/sessions.go index c24e4f030..0c108abb6 100644 --- a/dispatchers/sessions.go +++ b/dispatchers/sessions.go @@ -25,74 +25,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) SessionSv1GetPassiveSessions(ctx *context.Context, args *utils.SessionFilter, reply *[]*sessions.ExternalSession) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1GetPassiveSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetPassiveSessions, args, reply) -} -func (dS *DispatcherService) SessionSv1ReplicateSessions(ctx *context.Context, args sessions.ArgsReplicateSessions, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := args.APIOpts - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1ReplicateSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ReplicateSessions, args, reply) -} -func (dS *DispatcherService) SessionSv1AuthorizeEventWithDigest(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1AuthorizeReplyWithDigest) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1AuthorizeEventWithDigest, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1AuthorizeEventWithDigest, args, reply) -} -func (dS *DispatcherService) SessionSv1GetActiveSessions(ctx *context.Context, args *utils.SessionFilter, reply *[]*sessions.ExternalSession) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1GetActiveSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetActiveSessions, args, reply) -} func (dS *DispatcherService) SessionSv1ActivateSessions(ctx *context.Context, args *utils.SessionIDsWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -110,136 +42,6 @@ func (dS *DispatcherService) SessionSv1ActivateSessions(ctx *context.Context, ar } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ActivateSessions, args, reply) } -func (dS *DispatcherService) SessionSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1ProcessEventReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1ProcessEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ProcessEvent, args, reply) -} -func (dS *DispatcherService) SessionSv1DeactivateSessions(ctx *context.Context, args *utils.SessionIDsWithAPIOpts, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1DeactivateSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1DeactivateSessions, args, reply) -} -func (dS *DispatcherService) SessionSv1ForceDisconnect(ctx *context.Context, args *utils.SessionFilter, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1ForceDisconnect, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ForceDisconnect, args, reply) -} -func (dS *DispatcherService) SessionSv1GetActiveSessionsCount(ctx *context.Context, args *utils.SessionFilter, reply *int) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1GetActiveSessionsCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetActiveSessionsCount, args, reply) -} -func (dS *DispatcherService) SessionSv1UpdateSession(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1UpdateSessionReply) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1UpdateSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1UpdateSession, args, reply) -} -func (dS *DispatcherService) SessionSv1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1DisconnectPeer, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1DisconnectPeer, args, reply) -} -func (dS *DispatcherService) SessionSv1STIRIdentity(ctx *context.Context, args *sessions.V1STIRIdentityArgs, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1STIRIdentity, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1STIRIdentity, args, reply) -} -func (dS *DispatcherService) SessionSv1STIRAuthenticate(ctx *context.Context, args *sessions.V1STIRAuthenticateArgs, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1STIRAuthenticate, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1STIRAuthenticate, args, reply) -} func (dS *DispatcherService) SessionSv1AuthorizeEvent(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1AuthorizeReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -260,7 +62,7 @@ func (dS *DispatcherService) SessionSv1AuthorizeEvent(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1AuthorizeEvent, args, reply) } -func (dS *DispatcherService) SessionSv1ProcessCDR(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1AuthorizeEventWithDigest(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1AuthorizeReplyWithDigest) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant @@ -274,62 +76,124 @@ func (dS *DispatcherService) SessionSv1ProcessCDR(ctx *context.Context, args *ut opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1ProcessCDR, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1AuthorizeEventWithDigest, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ProcessCDR, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1AuthorizeEventWithDigest, args, reply) } -func (dS *DispatcherService) SessionSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1DeactivateSessions(ctx *context.Context, args *utils.SessionIDsWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1DeactivateSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1Ping, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1DeactivateSessions, args, reply) } -func (dS *DispatcherService) SessionSv1TerminateSession(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1DisconnectPeer, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1DisconnectPeer, args, reply) +} +func (dS *DispatcherService) SessionSv1ForceDisconnect(ctx *context.Context, args *utils.SessionFilter, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1TerminateSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1ForceDisconnect, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1TerminateSession, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ForceDisconnect, args, reply) } -func (dS *DispatcherService) SessionSv1RegisterInternalBiJSONConn(ctx *context.Context, args string, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1GetActiveSessions(ctx *context.Context, args *utils.SessionFilter, reply *[]*sessions.ExternalSession) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } ev := make(map[string]interface{}) opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1RegisterInternalBiJSONConn, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1GetActiveSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1RegisterInternalBiJSONConn, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetActiveSessions, args, reply) +} +func (dS *DispatcherService) SessionSv1GetActiveSessionsCount(ctx *context.Context, args *utils.SessionFilter, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1GetActiveSessionsCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetActiveSessionsCount, args, reply) +} +func (dS *DispatcherService) SessionSv1GetPassiveSessions(ctx *context.Context, args *utils.SessionFilter, reply *[]*sessions.ExternalSession) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1GetPassiveSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetPassiveSessions, args, reply) +} +func (dS *DispatcherService) SessionSv1GetPassiveSessionsCount(ctx *context.Context, args *utils.SessionFilter, reply *int) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1GetPassiveSessionsCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetPassiveSessionsCount, args, reply) } func (dS *DispatcherService) SessionSv1InitiateSession(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1InitSessionReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -371,53 +235,65 @@ func (dS *DispatcherService) SessionSv1InitiateSessionWithDigest(ctx *context.Co } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1InitiateSessionWithDigest, args, reply) } -func (dS *DispatcherService) SessionSv1ReAuthorize(ctx *context.Context, args *utils.SessionFilter, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1ReAuthorize, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ReAuthorize, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1Ping, args, reply) } -func (dS *DispatcherService) SessionSv1GetPassiveSessionsCount(ctx *context.Context, args *utils.SessionFilter, reply *int) (err error) { +func (dS *DispatcherService) SessionSv1ProcessCDR(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1GetPassiveSessionsCount, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1ProcessCDR, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1GetPassiveSessionsCount, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ProcessCDR, args, reply) } -func (dS *DispatcherService) SessionSv1SetPassiveSession(ctx *context.Context, args *sessions.Session, reply *string) (err error) { +func (dS *DispatcherService) SessionSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1ProcessEventReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.SessionSv1SetPassiveSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.SessionSv1ProcessEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1SetPassiveSession, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ProcessEvent, args, reply) } func (dS *DispatcherService) SessionSv1ProcessMessage(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1ProcessMessageReply) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -439,6 +315,90 @@ func (dS *DispatcherService) SessionSv1ProcessMessage(ctx *context.Context, args } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ProcessMessage, args, reply) } +func (dS *DispatcherService) SessionSv1ReAuthorize(ctx *context.Context, args *utils.SessionFilter, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1ReAuthorize, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ReAuthorize, args, reply) +} +func (dS *DispatcherService) SessionSv1RegisterInternalBiJSONConn(ctx *context.Context, args string, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1RegisterInternalBiJSONConn, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1RegisterInternalBiJSONConn, args, reply) +} +func (dS *DispatcherService) SessionSv1ReplicateSessions(ctx *context.Context, args sessions.ArgsReplicateSessions, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := args.APIOpts + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1ReplicateSessions, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ReplicateSessions, args, reply) +} +func (dS *DispatcherService) SessionSv1STIRAuthenticate(ctx *context.Context, args *sessions.V1STIRAuthenticateArgs, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1STIRAuthenticate, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1STIRAuthenticate, args, reply) +} +func (dS *DispatcherService) SessionSv1STIRIdentity(ctx *context.Context, args *sessions.V1STIRIdentityArgs, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1STIRIdentity, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1STIRIdentity, args, reply) +} +func (dS *DispatcherService) SessionSv1SetPassiveSession(ctx *context.Context, args *sessions.Session, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1SetPassiveSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1SetPassiveSession, args, reply) +} func (dS *DispatcherService) SessionSv1SyncSessions(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -456,3 +416,43 @@ func (dS *DispatcherService) SessionSv1SyncSessions(ctx *context.Context, args * } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1SyncSessions, args, reply) } +func (dS *DispatcherService) SessionSv1TerminateSession(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1TerminateSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1TerminateSession, args, reply) +} +func (dS *DispatcherService) SessionSv1UpdateSession(ctx *context.Context, args *utils.CGREvent, reply *sessions.V1UpdateSessionReply) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.SessionSv1UpdateSession, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1UpdateSession, args, reply) +} diff --git a/dispatchers/stats.go b/dispatchers/stats.go index e075bca23..e5749a683 100644 --- a/dispatchers/stats.go +++ b/dispatchers/stats.go @@ -25,6 +25,23 @@ import ( "github.com/cgrates/cgrates/utils" ) +func (dS *DispatcherService) StatSv1GetQueueDecimalMetrics(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *map[string]*utils.Decimal) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.StatSv1GetQueueDecimalMetrics, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetQueueDecimalMetrics, args, reply) +} func (dS *DispatcherService) StatSv1GetQueueFloatMetrics(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *map[string]float64) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { @@ -59,6 +76,40 @@ func (dS *DispatcherService) StatSv1GetQueueIDs(ctx *context.Context, args *util } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetQueueIDs, args, reply) } +func (dS *DispatcherService) StatSv1GetQueueStringMetrics(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *map[string]string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.StatSv1GetQueueStringMetrics, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetQueueStringMetrics, args, reply) +} +func (dS *DispatcherService) StatSv1GetStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueue) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.StatSv1GetStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetStatQueue, args, reply) +} func (dS *DispatcherService) StatSv1GetStatQueuesForEvent(ctx *context.Context, args *utils.CGREvent, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -79,26 +130,6 @@ func (dS *DispatcherService) StatSv1GetStatQueuesForEvent(ctx *context.Context, } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetStatQueuesForEvent, args, reply) } -func (dS *DispatcherService) StatSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *[]string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.StatSv1ProcessEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1ProcessEvent, args, reply) -} func (dS *DispatcherService) StatSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -119,22 +150,25 @@ func (dS *DispatcherService) StatSv1Ping(ctx *context.Context, args *utils.CGREv } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1Ping, args, reply) } -func (dS *DispatcherService) StatSv1GetQueueStringMetrics(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *map[string]string) (err error) { +func (dS *DispatcherService) StatSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant } ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } opts := make(map[string]interface{}) if args != nil { opts = args.APIOpts } if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.StatSv1GetQueueStringMetrics, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + if err = dS.authorize(ctx, utils.StatSv1ProcessEvent, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { return } } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetQueueStringMetrics, args, reply) + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1ProcessEvent, args, reply) } func (dS *DispatcherService) StatSv1ResetStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant @@ -153,37 +187,3 @@ func (dS *DispatcherService) StatSv1ResetStatQueue(ctx *context.Context, args *u } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1ResetStatQueue, args, reply) } -func (dS *DispatcherService) StatSv1GetQueueDecimalMetrics(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *map[string]*utils.Decimal) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.StatSv1GetQueueDecimalMetrics, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetQueueDecimalMetrics, args, reply) -} -func (dS *DispatcherService) StatSv1GetStatQueue(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.StatQueue) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.StatSv1GetStatQueue, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaStats, utils.StatSv1GetStatQueue, args, reply) -} diff --git a/dispatchers/thresholds.go b/dispatchers/thresholds.go index 920319898..b4afbaae7 100644 --- a/dispatchers/thresholds.go +++ b/dispatchers/thresholds.go @@ -25,6 +25,23 @@ import ( "github.com/cgrates/cgrates/utils" ) +func (dS *DispatcherService) ThresholdSv1GetThreshold(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Threshold) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { + tnt = args.TenantID.Tenant + } + ev := make(map[string]interface{}) + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ThresholdSv1GetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1GetThreshold, args, reply) +} func (dS *DispatcherService) ThresholdSv1GetThresholdIDs(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -62,6 +79,26 @@ func (dS *DispatcherService) ThresholdSv1GetThresholdsForEvent(ctx *context.Cont } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1GetThresholdsForEvent, args, reply) } +func (dS *DispatcherService) ThresholdSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { + tnt := dS.cfg.GeneralCfg().DefaultTenant + if args != nil && len(args.Tenant) != 0 { + tnt = args.Tenant + } + ev := make(map[string]interface{}) + if args != nil { + ev = args.Event + } + opts := make(map[string]interface{}) + if args != nil { + opts = args.APIOpts + } + if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { + if err = dS.authorize(ctx, utils.ThresholdSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { + return + } + } + return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1Ping, args, reply) +} func (dS *DispatcherService) ThresholdSv1ProcessEvent(ctx *context.Context, args *utils.CGREvent, reply *[]string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { @@ -99,40 +136,3 @@ func (dS *DispatcherService) ThresholdSv1ResetThreshold(ctx *context.Context, ar } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1ResetThreshold, args, reply) } -func (dS *DispatcherService) ThresholdSv1Ping(ctx *context.Context, args *utils.CGREvent, reply *string) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && len(args.Tenant) != 0 { - tnt = args.Tenant - } - ev := make(map[string]interface{}) - if args != nil { - ev = args.Event - } - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ThresholdSv1Ping, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1Ping, args, reply) -} -func (dS *DispatcherService) ThresholdSv1GetThreshold(ctx *context.Context, args *utils.TenantIDWithAPIOpts, reply *engine.Threshold) (err error) { - tnt := dS.cfg.GeneralCfg().DefaultTenant - if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { - tnt = args.TenantID.Tenant - } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) - if args != nil { - opts = args.APIOpts - } - if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { - if err = dS.authorize(ctx, utils.ThresholdSv1GetThreshold, tnt, utils.IfaceAsString(opts[utils.OptsAPIKey])); err != nil { - return - } - } - return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaThresholds, utils.ThresholdSv1GetThreshold, args, reply) -} diff --git a/dispatchers/utils.go b/dispatchers/utils.go index b6ec7ff0c..32512cc63 100644 --- a/dispatchers/utils.go +++ b/dispatchers/utils.go @@ -24,18 +24,6 @@ import ( "github.com/cgrates/cgrates/utils" ) -type AttrRemoteLockWithAPIOpts struct { - APIOpts map[string]interface{} - Tenant string - utils.AttrRemoteLock -} - -type AttrRemoteUnlockWithAPIOpts struct { - APIOpts map[string]interface{} - Tenant string - RefID string -} - func ParseStringSet(s string) utils.StringSet { if s == utils.MetaZero { return make(utils.StringSet) diff --git a/guardian/guardian.go b/guardian/guardian.go index 65821ba22..7d78d388d 100644 --- a/guardian/guardian.go +++ b/guardian/guardian.go @@ -181,3 +181,27 @@ func (gl *GuardianLocker) UnguardIDs(refID string) []string { } return nil } + +type AttrRemoteLockWithAPIOpts struct { + APIOpts map[string]interface{} + Tenant string + utils.AttrRemoteLock +} + +type AttrRemoteUnlockWithAPIOpts struct { + APIOpts map[string]interface{} + Tenant string + RefID string +} + +// RemoteLock will lock a key from remote +func (gl *GuardianLocker) V1RemoteLock(_ *context.Context, attr *AttrRemoteLockWithAPIOpts, reply *string) (err error) { + *reply = gl.GuardIDs(attr.ReferenceID, attr.Timeout, attr.LockIDs...) + return +} + +// RemoteUnlock will unlock a key from remote based on reference ID +func (gl *GuardianLocker) V1RemoteUnlock(_ *context.Context, refID *AttrRemoteUnlockWithAPIOpts, reply *[]string) (err error) { + *reply = gl.UnguardIDs(refID.RefID) + return +} diff --git a/services/cgr-engine.go b/services/cgr-engine.go index f31f9dc9c..7525fbbe7 100644 --- a/services/cgr-engine.go +++ b/services/cgr-engine.go @@ -301,8 +301,8 @@ func (cgr *CGREngine) StartServices(ctx *context.Context, shtDw context.CancelFu go cgrStartFilterService(ctx, cgr.iFilterSCh, cgr.cacheS.GetCacheSChan(), cgr.cM, cgr.cfg, cgr.dmS) - cgrInitServiceManagerV1(cgr.iServeManagerCh, cgr.srvManager, cgr.server, cgr.anzS) - cgrInitGuardianSv1(cgr.iGuardianSCh, cgr.server, cgr.anzS) // init GuardianSv1 + cgrInitServiceManagerV1(cgr.iServeManagerCh, cgr.srvManager, cgr.cfg, cgr.server, cgr.anzS) + cgrInitGuardianSv1(cgr.iGuardianSCh, cgr.cfg, cgr.server, cgr.anzS) // init GuardianSv1 cgrInitConfigSv1(cgr.iConfigCh, cgr.cfg, cgr.server, cgr.anzS) if preload != utils.EmptyString { diff --git a/services/libcgr-engine.go b/services/libcgr-engine.go index fdf4825e4..acc8c5be5 100644 --- a/services/libcgr-engine.go +++ b/services/libcgr-engine.go @@ -34,6 +34,7 @@ import ( "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/cores" "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/guardian" "github.com/cgrates/cgrates/loaders" "github.com/cgrates/cgrates/servmanager" "github.com/cgrates/cgrates/utils" @@ -180,22 +181,27 @@ func cgrStartFilterService(ctx *context.Context, iFilterSCh chan *engine.FilterS } } -func cgrInitGuardianSv1(iGuardianSCh chan birpc.ClientConnector, +func cgrInitGuardianSv1(iGuardianSCh chan birpc.ClientConnector, cfg *config.CGRConfig, server *cores.Server, anz *AnalyzerService) { - // grdSv1 := v1.NewGuardianSv1() - // if !cfg.DispatcherSCfg().Enabled { - // server.RpcRegister(grdSv1) - // } - // iGuardianSCh <- anz.GetInternalCodec(grdSv1, utils.GuardianS) + srv, _ := engine.NewServiceWithName(guardian.Guardian, utils.GuardianS, true) + if !cfg.DispatcherSCfg().Enabled { + for _, s := range srv { + server.RpcRegister(s) + } + } + iGuardianSCh <- anz.GetInternalCodec(srv, utils.GuardianS) } func cgrInitServiceManagerV1(iServMngrCh chan birpc.ClientConnector, - srvMngr *servmanager.ServiceManager, server *cores.Server, - anz *AnalyzerService) { - // if !cfg.DispatcherSCfg().Enabled { - // server.RpcRegister(v1.NewServiceManagerV1(srvMngr)) - // } - // iServMngrCh <- anz.GetInternalCodec(srvMngr, utils.ServiceManager) + srvMngr *servmanager.ServiceManager, cfg *config.CGRConfig, + server *cores.Server, anz *AnalyzerService) { + srv, _ := engine.NewServiceWithName(srvMngr, utils.ServiceManager, true) + if !cfg.DispatcherSCfg().Enabled { + for _, s := range srv { + server.RpcRegister(s) + } + } + iServMngrCh <- anz.GetInternalCodec(srv, utils.ServiceManager) } func cgrInitConfigSv1(iConfigCh chan birpc.ClientConnector,