mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Made ArgDispatcher as optional when DispatcherSv1 doesn't have a AttributeS connection
This commit is contained in:
committed by
Dan Christian Bogos
parent
d942213abc
commit
6f86d169b3
@@ -26,43 +26,52 @@ import (
|
||||
// AttributeSv1Ping interogates AttributeS server responsible to process the event
|
||||
func (dS *DispatcherService) AttributeSv1Ping(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.AttributeSv1Ping,
|
||||
args.Tenant,
|
||||
args.APIKey, args.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaAttributes, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaAttributes, routeID,
|
||||
utils.AttributeSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
// AttributeSv1GetAttributeForEvent is the dispatcher method for AttributeSv1.GetAttributeForEvent
|
||||
func (dS *DispatcherService) AttributeSv1GetAttributeForEvent(args *engine.AttrArgsProcessEvent,
|
||||
reply *engine.AttributeProfile) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.AttributeSv1GetAttributeForEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaAttributes, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaAttributes, routeID,
|
||||
utils.AttributeSv1GetAttributeForEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) AttributeSv1ProcessEvent(args *engine.AttrArgsProcessEvent,
|
||||
reply *engine.AttrSProcessEventReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.AttributeSv1ProcessEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
@@ -70,6 +79,10 @@ func (dS *DispatcherService) AttributeSv1ProcessEvent(args *engine.AttrArgsProce
|
||||
}
|
||||
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaAttributes, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaAttributes, routeID,
|
||||
utils.AttributeSv1ProcessEvent, args, reply)
|
||||
}
|
||||
|
||||
@@ -28,213 +28,255 @@ import (
|
||||
// CacheSv1Ping interogates CacheSv1 server responsible to process the event
|
||||
func (dS *DispatcherService) CacheSv1Ping(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1Ping, args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
// GetItemIDs returns the IDs for cacheID with given prefix
|
||||
func (dS *DispatcherService) CacheSv1GetItemIDs(args *utils.ArgsGetCacheItemIDsWithArgDispatcher,
|
||||
reply *[]string) (err error) {
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1GetItemIDs,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1GetItemIDs, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1GetItemIDs, &args.ArgsGetCacheItemIDs, reply)
|
||||
}
|
||||
|
||||
// HasItem verifies the existence of an Item in cache
|
||||
func (dS *DispatcherService) CacheSv1HasItem(args *utils.ArgsGetCacheItemWithArgDispatcher,
|
||||
reply *bool) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1HasItem,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1HasItem, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1HasItem, &args.ArgsGetCacheItem, reply)
|
||||
}
|
||||
|
||||
// GetItemExpiryTime returns the expiryTime for an item
|
||||
func (dS *DispatcherService) CacheSv1GetItemExpiryTime(args *utils.ArgsGetCacheItemWithArgDispatcher,
|
||||
reply *time.Time) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1GetItemExpiryTime,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1GetItemExpiryTime, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1GetItemExpiryTime, &args.ArgsGetCacheItem, reply)
|
||||
}
|
||||
|
||||
// RemoveItem removes the Item with ID from cache
|
||||
func (dS *DispatcherService) CacheSv1RemoveItem(args *utils.ArgsGetCacheItemWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1RemoveItem,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1RemoveItem, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1RemoveItem, &args.ArgsGetCacheItem, reply)
|
||||
}
|
||||
|
||||
// Clear will clear partitions in the cache (nil fol all, empty slice for none)
|
||||
func (dS *DispatcherService) CacheSv1Clear(args *utils.AttrCacheIDsWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1Clear,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1Clear, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1Clear, args.CacheIDs, reply)
|
||||
}
|
||||
|
||||
// FlushCache wipes out cache for a prefix or completely
|
||||
func (dS *DispatcherService) CacheSv1FlushCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1FlushCache,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1FlushCache, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1FlushCache, args.AttrReloadCache, reply)
|
||||
}
|
||||
|
||||
// GetCacheStats returns CacheStats filtered by cacheIDs
|
||||
func (dS *DispatcherService) CacheSv1GetCacheStats(args *utils.AttrCacheIDsWithArgDispatcher,
|
||||
reply *map[string]*ltcache.CacheStats) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1GetCacheStats,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1GetCacheStats, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1GetCacheStats, args.CacheIDs, reply)
|
||||
}
|
||||
|
||||
// PrecacheStatus checks status of active precache processes
|
||||
func (dS *DispatcherService) CacheSv1PrecacheStatus(args *utils.AttrCacheIDsWithArgDispatcher, reply *map[string]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1PrecacheStatus,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1PrecacheStatus, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1PrecacheStatus, args.CacheIDs, reply)
|
||||
}
|
||||
|
||||
// HasGroup checks existence of a group in cache
|
||||
func (dS *DispatcherService) CacheSv1HasGroup(args *utils.ArgsGetGroupWithArgDispatcher,
|
||||
reply *bool) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1HasGroup,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1HasGroup, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1HasGroup, args.ArgsGetGroup, reply)
|
||||
}
|
||||
|
||||
// GetGroupItemIDs returns a list of itemIDs in a cache group
|
||||
func (dS *DispatcherService) CacheSv1GetGroupItemIDs(args *utils.ArgsGetGroupWithArgDispatcher,
|
||||
reply *[]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1GetGroupItemIDs,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1GetGroupItemIDs, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1GetGroupItemIDs, args.ArgsGetGroup, reply)
|
||||
}
|
||||
|
||||
// RemoveGroup will remove a group and all items belonging to it from cache
|
||||
func (dS *DispatcherService) CacheSv1RemoveGroup(args *utils.ArgsGetGroupWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
func (dS *DispatcherService) CacheSv1RemoveGroup(args *utils.ArgsGetGroupWithArgDispatcher, reply *string) (err error) {
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1RemoveGroup,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1RemoveGroup, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1RemoveGroup, args.ArgsGetGroup, reply)
|
||||
}
|
||||
|
||||
// ReloadCache reloads cache from DB for a prefix or completely
|
||||
func (dS *DispatcherService) CacheSv1ReloadCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error) {
|
||||
tnt := dS.cfg.GeneralCfg().DefaultTenant
|
||||
if args.TenantArg.Tenant != "" {
|
||||
tnt = args.TenantArg.Tenant
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil &&
|
||||
args.ArgDispatcher.RouteID != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
@@ -244,22 +286,30 @@ func (dS *DispatcherService) CacheSv1ReloadCache(args utils.AttrReloadCacheWithA
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1ReloadCache, args.AttrReloadCache, reply)
|
||||
}
|
||||
|
||||
// LoadCache loads cache from DB for a prefix or completely
|
||||
func (dS *DispatcherService) CacheSv1LoadCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CacheSv1LoadCache,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CacheSv1LoadCache, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCaches, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCaches, routeID,
|
||||
utils.CacheSv1LoadCache, args.AttrReloadCache, reply)
|
||||
}
|
||||
|
||||
@@ -28,121 +28,152 @@ import (
|
||||
// CDRsV1Ping interogates CDRsV1 server responsible to process the event
|
||||
func (dS *DispatcherService) CDRsV1Ping(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1Ping, args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1GetCDRs(args utils.RPCCDRsFilterWithArgDispatcher, reply *[]*engine.CDR) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1GetCDRs,
|
||||
args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1GetCDRs, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1GetCDRs, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1CountCDRs(args *utils.RPCCDRsFilterWithArgDispatcher, reply *int64) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1CountCDRs,
|
||||
args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1CountCDRs, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1CountCDRs, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1StoreSessionCost(args *engine.AttrCDRSStoreSMCost, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1StoreSessionCost,
|
||||
args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1StoreSessionCost, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1StoreSessionCost, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1RateCDRs(args *engine.ArgRateCDRs, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1RateCDRs,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1RateCDRs, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1RateCDRs, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1ProcessExternalCDR(args *engine.ExternalCDRWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1ProcessExternalCDR,
|
||||
args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1ProcessExternalCDR, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1ProcessEvent(args *engine.ArgV1ProcessEvent, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.CDRsV1ProcessEvent,
|
||||
args.CGREvent.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1ProcessEvent, args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1ProcessEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) CDRsV1ProcessCDR(args *engine.CDRWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.CDRsV1ProcessCDR,
|
||||
args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaCDRs, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaCDRs, routeID,
|
||||
utils.CDRsV1ProcessCDR, args, reply)
|
||||
}
|
||||
|
||||
@@ -24,48 +24,61 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) ChargerSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ChargerSv1Ping,
|
||||
args.Tenant,
|
||||
args.APIKey, args.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, routeID,
|
||||
utils.ChargerSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ChargerSv1GetChargersForEvent(args *utils.CGREventWithArgDispatcher,
|
||||
reply *engine.ChargerProfiles) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ChargerSv1GetChargersForEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, routeID,
|
||||
utils.ChargerSv1GetChargersForEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ChargerSv1ProcessEvent(args *utils.CGREventWithArgDispatcher,
|
||||
reply *[]*engine.ChrgSProcessEventReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ChargerSv1ProcessEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaChargers, routeID,
|
||||
utils.ChargerSv1ProcessEvent, args, reply)
|
||||
}
|
||||
|
||||
@@ -26,15 +26,20 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) ConfigSv1GetJSONSection(args *config.StringWithArgDispatcher, reply *map[string]interface{}) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ConfigSv1GetJSONSection,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ConfigSv1GetJSONSection, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant},
|
||||
utils.MetaConfig, args.RouteID, utils.ConfigSv1GetJSONSection, args, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt},
|
||||
utils.MetaConfig, routeID, utils.ConfigSv1GetJSONSection, args, reply)
|
||||
}
|
||||
|
||||
@@ -222,13 +222,12 @@ func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParame
|
||||
}
|
||||
}
|
||||
|
||||
if argD == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
|
||||
tenant, _ := utils.IfaceAsString(parameters[utils.Tenant])
|
||||
tenant = utils.FirstNonEmpty(tenant, config.CgrConfig().GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if argD == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(args.Method,
|
||||
tenant,
|
||||
argD.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
@@ -275,7 +274,12 @@ func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParame
|
||||
if realArgsType.Kind() != reflect.Ptr {
|
||||
realArgs = reflect.ValueOf(realArgs).Elem().Interface()
|
||||
}
|
||||
if err := dS.Dispatch(&utils.CGREvent{Tenant: tenant, Event: parameters}, utils.MetaApier, argD.RouteID,
|
||||
|
||||
var routeID *string
|
||||
if argD != nil {
|
||||
routeID = argD.RouteID
|
||||
}
|
||||
if err := dS.Dispatch(&utils.CGREvent{Tenant: tenant, Event: parameters}, utils.MetaApier, routeID,
|
||||
args.Method, realArgs, realReply); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -27,50 +27,63 @@ import (
|
||||
// GuardianSv1Ping interogates GuardianSv1 server responsible to process the event
|
||||
func (dS *DispatcherService) GuardianSv1Ping(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.GuardianSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaGuardian, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaGuardian, routeID,
|
||||
utils.GuardianSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
// RemoteLock will lock a key from remote
|
||||
func (dS *DispatcherService) GuardianSv1RemoteLock(args AttrRemoteLockWithApiKey,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.GuardianSv1RemoteLock,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.GuardianSv1RemoteLock, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaGuardian, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaGuardian, routeID,
|
||||
utils.GuardianSv1RemoteLock, args.AttrRemoteLock, reply)
|
||||
}
|
||||
|
||||
// RemoteUnlock will unlock a key from remote based on reference ID
|
||||
func (dS *DispatcherService) GuardianSv1RemoteUnlock(args AttrRemoteUnlockWithApiKey,
|
||||
reply *[]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.GuardianSv1RemoteUnlock,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.GuardianSv1RemoteUnlock, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaGuardian, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaGuardian, routeID,
|
||||
utils.GuardianSv1RemoteUnlock, args, reply)
|
||||
}
|
||||
|
||||
@@ -24,26 +24,31 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) ResourceSv1Ping(args *utils.CGREventWithArgDispatcher, rpl *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResourceSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1Ping, args, rpl)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(args utils.ArgRSv1ResourceUsage,
|
||||
reply *engine.Resources) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResourceSv1GetResourcesForEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
@@ -51,16 +56,20 @@ func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(args utils.ArgRSv1R
|
||||
}
|
||||
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1GetResourcesForEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResourceSv1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResourceSv1AuthorizeResources,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
@@ -68,16 +77,20 @@ func (dS *DispatcherService) ResourceSv1AuthorizeResources(args utils.ArgRSv1Res
|
||||
}
|
||||
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1AuthorizeResources, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResourceSv1AllocateResources(args utils.ArgRSv1ResourceUsage,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResourceSv1AllocateResources,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
@@ -85,16 +98,20 @@ func (dS *DispatcherService) ResourceSv1AllocateResources(args utils.ArgRSv1Reso
|
||||
}
|
||||
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1AllocateResources, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResourceSv1ReleaseResources(args utils.ArgRSv1ResourceUsage,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResourceSv1ReleaseResources,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
@@ -102,6 +119,10 @@ func (dS *DispatcherService) ResourceSv1ReleaseResources(args utils.ArgRSv1Resou
|
||||
}
|
||||
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
|
||||
utils.ResourceSv1ReleaseResources, args, reply)
|
||||
}
|
||||
|
||||
@@ -28,157 +28,194 @@ import (
|
||||
// ResponderPing interogates Responder server responsible to process the event
|
||||
func (dS *DispatcherService) ResponderPing(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderPing,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResponder, args.RouteID,
|
||||
utils.ResponderPing, args, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaResponder,
|
||||
routeID, utils.ResponderPing, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderStatus(args *utils.TenantWithArgDispatcher,
|
||||
reply *map[string]interface{}) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ResponderStatus, args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderStatus, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
}, utils.MetaResponder, args.RouteID, utils.ResponderStatus,
|
||||
args, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaResponder,
|
||||
routeID, utils.ResponderStatus, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderGetCost(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *engine.CallCost) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderGetCost, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderGetCost, args, reply)
|
||||
routeID, utils.ResponderGetCost, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderDebit(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *engine.CallCost) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderDebit, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderDebit, args, reply)
|
||||
routeID, utils.ResponderDebit, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderMaxDebit(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *engine.CallCost) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderMaxDebit, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderMaxDebit, args, reply)
|
||||
routeID, utils.ResponderMaxDebit, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderRefundIncrements(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *engine.Account) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderRefundIncrements, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderRefundIncrements, args, reply)
|
||||
routeID, utils.ResponderRefundIncrements, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderRefundRounding(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *float64) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderRefundRounding, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderRefundRounding, args, reply)
|
||||
routeID, utils.ResponderRefundRounding, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderGetMaxSessionTime(args *engine.CallDescriptorWithArgDispatcher,
|
||||
reply *time.Duration) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderGetMaxSessionTime, args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.AsCGREvent(), utils.MetaResponder,
|
||||
args.RouteID, utils.ResponderGetMaxSessionTime, args, reply)
|
||||
routeID, utils.ResponderGetMaxSessionTime, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderShutdown(args *utils.TenantWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ResponderShutdown, args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderShutdown, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
}, utils.MetaResponder, args.RouteID, utils.ResponderShutdown,
|
||||
args, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaResponder,
|
||||
routeID, utils.ResponderShutdown, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ResponderGetTimeout(args *utils.TenantWithArgDispatcher,
|
||||
reply *time.Duration) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ResponderGetTimeout, args.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ResponderGetTimeout, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
}, utils.MetaResponder, args.RouteID, utils.ResponderGetTimeout,
|
||||
0, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaResponder,
|
||||
routeID, utils.ResponderGetTimeout, 0, reply)
|
||||
}
|
||||
|
||||
@@ -23,31 +23,41 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) SchedulerSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SchedulerSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaScheduler, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaScheduler, routeID,
|
||||
utils.SchedulerSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SchedulerSv1Reload(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SchedulerSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaScheduler, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaScheduler, routeID,
|
||||
utils.SchedulerSv1Reload, args, reply)
|
||||
}
|
||||
|
||||
@@ -27,64 +27,81 @@ import (
|
||||
// ServiceManagerV1Ping interogates ServiceManager server responsible to process the event
|
||||
func (dS *DispatcherService) ServiceManagerV1Ping(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ServiceManagerV1Ping,
|
||||
args.Tenant,
|
||||
args.APIKey, args.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaServiceManager, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaServiceManager, routeID,
|
||||
utils.ServiceManagerV1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ServiceManagerV1StartService(args ArgStartServiceWithApiKey,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ServiceManagerV1StartService,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ServiceManagerV1StartService, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaServiceManager, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaServiceManager, routeID,
|
||||
utils.ServiceManagerV1StartService, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ServiceManagerV1StopService(args ArgStartServiceWithApiKey,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ServiceManagerV1StopService,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ServiceManagerV1StopService, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaServiceManager, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaServiceManager, routeID,
|
||||
utils.ServiceManagerV1StopService, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) ServiceManagerV1ServiceStatus(args ArgStartServiceWithApiKey,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.ServiceManagerV1ServiceStatus,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.ServiceManagerV1ServiceStatus, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaServiceManager, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaServiceManager, routeID,
|
||||
utils.ServiceManagerV1ServiceStatus, args, reply)
|
||||
}
|
||||
|
||||
@@ -26,267 +26,336 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) SessionSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1AuthorizeEvent(args *sessions.V1AuthorizeArgs,
|
||||
reply *sessions.V1AuthorizeReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1AuthorizeEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1AuthorizeEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1AuthorizeEventWithDigest(args *sessions.V1AuthorizeArgs,
|
||||
reply *sessions.V1AuthorizeReplyWithDigest) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1AuthorizeEventWithDigest,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1AuthorizeEventWithDigest, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1InitiateSession(args *sessions.V1InitSessionArgs,
|
||||
reply *sessions.V1InitSessionReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1InitiateSession,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1InitiateSession, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1InitiateSessionWithDigest(args *sessions.V1InitSessionArgs,
|
||||
reply *sessions.V1InitReplyWithDigest) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1InitiateSessionWithDigest,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1InitiateSessionWithDigest, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1UpdateSession(args *sessions.V1UpdateSessionArgs,
|
||||
reply *sessions.V1UpdateSessionReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1UpdateSession,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1UpdateSession, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1SyncSessions(args *utils.TenantWithArgDispatcher,
|
||||
reply *sessions.V1UpdateSessionReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.SessionSv1SyncSessions,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1SyncSessions, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
utils.SessionSv1SyncSessions, &args.TenantArg.Tenant, reply)
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1SyncSessions, &tnt, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1TerminateSession(args *sessions.V1TerminateSessionArgs,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1TerminateSession,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1TerminateSession, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1ProcessCDR(args *utils.CGREventWithArgDispatcher,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1ProcessCDR,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1ProcessCDR, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1ProcessEvent(args *sessions.V1ProcessEventArgs,
|
||||
reply *sessions.V1ProcessEventReply) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1ProcessEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1ProcessEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1GetActiveSessions(args *utils.SessionFilter,
|
||||
reply *[]*sessions.ActiveSession) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1GetActiveSessions,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1GetActiveSessions, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1GetActiveSessionsCount(args *utils.SessionFilter,
|
||||
reply *int) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1GetActiveSessionsCount,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1GetActiveSessionsCount, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1ForceDisconnect(args *utils.SessionFilter,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1ForceDisconnect,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1ForceDisconnect, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1GetPassiveSessions(args *utils.SessionFilter,
|
||||
reply *[]*sessions.ActiveSession) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1GetPassiveSessions,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1GetPassiveSessions, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1GetPassiveSessionsCount(args *utils.SessionFilter,
|
||||
reply *int) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1GetPassiveSessionsCount,
|
||||
args.Tenant, args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1GetPassiveSessionsCount, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1ReplicateSessions(args ArgsReplicateSessionsWithApiKey,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
tnt := utils.FirstNonEmpty(args.TenantArg.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if err = dS.authorize(utils.SessionSv1ReplicateSessions,
|
||||
args.TenantArg.Tenant,
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1ReplicateSessions, tnt,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: tnt}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1ReplicateSessions, args.ArgsReplicateSessions, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SessionSv1SetPassiveSession(args *sessions.Session,
|
||||
reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SessionSv1SetPassiveSession,
|
||||
args.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant}, utils.MetaSessionS, routeID,
|
||||
utils.SessionSv1SetPassiveSession, args, reply)
|
||||
}
|
||||
|
||||
@@ -26,103 +26,127 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) StatSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaStats, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaStats, routeID,
|
||||
utils.StatSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) StatSv1GetStatQueuesForEvent(args *engine.StatsArgsProcessEvent,
|
||||
reply *[]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1GetStatQueuesForEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaStats, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaStats, routeID,
|
||||
utils.StatSv1GetStatQueuesForEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) StatSv1GetQueueStringMetrics(args *utils.TenantIDWithArgDispatcher,
|
||||
reply *map[string]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1GetQueueStringMetrics,
|
||||
args.TenantID.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
ID: args.ID,
|
||||
}, utils.MetaStats, args.RouteID, utils.StatSv1GetQueueStringMetrics,
|
||||
}, utils.MetaStats, routeID, utils.StatSv1GetQueueStringMetrics,
|
||||
args.TenantID, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) StatSv1ProcessEvent(args *engine.StatsArgsProcessEvent,
|
||||
reply *[]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1ProcessEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaStats, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaStats, routeID,
|
||||
utils.StatSv1ProcessEvent, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) StatSv1GetQueueFloatMetrics(args *utils.TenantIDWithArgDispatcher,
|
||||
reply *map[string]float64) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1GetQueueFloatMetrics,
|
||||
args.TenantID.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
ID: args.ID,
|
||||
}, utils.MetaStats, args.RouteID, utils.StatSv1GetQueueFloatMetrics,
|
||||
}, utils.MetaStats, routeID, utils.StatSv1GetQueueFloatMetrics,
|
||||
args.TenantID, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) StatSv1GetQueueIDs(args *utils.TenantWithArgDispatcher,
|
||||
reply *[]string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.StatSv1GetQueueIDs,
|
||||
args.TenantArg.Tenant,
|
||||
args.APIKey, utils.TimePointer(time.Now())); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.Tenant},
|
||||
utils.MetaStats, args.RouteID, utils.StatSv1GetQueueIDs,
|
||||
utils.MetaStats, routeID, utils.StatSv1GetQueueIDs,
|
||||
args.TenantArg, reply)
|
||||
}
|
||||
|
||||
@@ -24,48 +24,61 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) SupplierSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SupplierSv1Ping,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSuppliers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSuppliers, routeID,
|
||||
utils.SupplierSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SupplierSv1GetSuppliers(args *engine.ArgsGetSuppliers,
|
||||
reply *engine.SortedSuppliers) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SupplierSv1GetSuppliers,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSuppliers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaSuppliers, routeID,
|
||||
utils.SupplierSv1GetSuppliers, args, reply)
|
||||
}
|
||||
|
||||
func (dS *DispatcherService) SupplierSv1GetSupplierProfilesForEvent(args *utils.CGREventWithArgDispatcher,
|
||||
reply *[]*engine.SupplierProfile) (err error) {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if dS.attrS != nil {
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
if err = dS.authorize(utils.SupplierSv1GetSupplierProfilesForEvent,
|
||||
args.CGREvent.Tenant,
|
||||
args.APIKey, args.CGREvent.Time); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSuppliers, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaSuppliers, routeID,
|
||||
utils.SupplierSv1GetSupplierProfilesForEvent, args, reply)
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import (
|
||||
)
|
||||
|
||||
func (dS *DispatcherService) ThresholdSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error) {
|
||||
args.CGREvent.Tenant = utils.FirstNonEmpty(args.CGREvent.Tenant, dS.cfg.GeneralCfg().DefaultTenant)
|
||||
if args.ArgDispatcher == nil {
|
||||
return utils.NewErrMandatoryIeMissing("ArgDispatcher")
|
||||
}
|
||||
@@ -36,7 +37,11 @@ func (dS *DispatcherService) ThresholdSv1Ping(args *utils.CGREventWithArgDispatc
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaThresholds, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(args.CGREvent, utils.MetaThresholds, routeID,
|
||||
utils.ThresholdSv1Ping, args, reply)
|
||||
}
|
||||
|
||||
@@ -52,7 +57,11 @@ func (dS *DispatcherService) ThresholdSv1GetThresholdsForEvent(args *engine.Args
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaThresholds, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaThresholds, routeID,
|
||||
utils.ThresholdSv1GetThresholdsForEvent, args, t)
|
||||
}
|
||||
|
||||
@@ -68,7 +77,11 @@ func (dS *DispatcherService) ThresholdSv1ProcessEvent(args *engine.ArgsProcessEv
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaThresholds, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&args.CGREvent, utils.MetaThresholds, routeID,
|
||||
utils.ThresholdSv1ProcessEvent, args, tIDs)
|
||||
}
|
||||
|
||||
@@ -82,7 +95,11 @@ func (dS *DispatcherService) ThresholdSv1GetThresholdIDs(args *utils.TenantWithA
|
||||
return
|
||||
}
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaThresholds, args.RouteID,
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{Tenant: args.TenantArg.Tenant}, utils.MetaThresholds, routeID,
|
||||
utils.ThresholdSv1GetThresholdIDs, args.TenantArg, tIDs)
|
||||
}
|
||||
|
||||
@@ -97,8 +114,12 @@ func (dS *DispatcherService) ThresholdSv1GetThreshold(args *utils.TenantIDWithAr
|
||||
return
|
||||
}
|
||||
}
|
||||
var routeID *string
|
||||
if args.ArgDispatcher != nil {
|
||||
routeID = args.ArgDispatcher.RouteID
|
||||
}
|
||||
return dS.Dispatch(&utils.CGREvent{
|
||||
Tenant: args.Tenant,
|
||||
ID: args.ID,
|
||||
}, utils.MetaThresholds, args.RouteID, utils.ThresholdSv1GetThreshold, args.TenantID, th)
|
||||
}, utils.MetaThresholds, routeID, utils.ThresholdSv1GetThreshold, args.TenantID, th)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user