diff --git a/console/passive_sessions.go b/console/passive_sessions.go index ee4afc64d..e3b8c5250 100644 --- a/console/passive_sessions.go +++ b/console/passive_sessions.go @@ -40,33 +40,33 @@ type CmdPassiveSessions struct { *CommandExecuter } -func (self *CmdPassiveSessions) Name() string { - return self.name +func (cmd *CmdPassiveSessions) Name() string { + return cmd.name } -func (self *CmdPassiveSessions) RpcMethod() string { - return self.rpcMethod +func (cmd *CmdPassiveSessions) RpcMethod() string { + return cmd.rpcMethod } -func (self *CmdPassiveSessions) RpcParams(reset bool) interface{} { - if reset || self.rpcParams == nil { - self.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} +func (cmd *CmdPassiveSessions) RpcParams(reset bool) interface{} { + if reset || cmd.rpcParams == nil { + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} } - return self.rpcParams + return cmd.rpcParams } -func (self *CmdPassiveSessions) PostprocessRpcParams() error { - param := self.rpcParams.(*utils.SessionFilter) - self.rpcParams = param +func (cmd *CmdPassiveSessions) PostprocessRpcParams() error { + param := cmd.rpcParams.(*utils.SessionFilter) + cmd.rpcParams = param return nil } -func (self *CmdPassiveSessions) RpcResult() interface{} { +func (cmd *CmdPassiveSessions) RpcResult() interface{} { var sessions []*sessions.ExternalSession return &sessions } -func (self *CmdPassiveSessions) GetFormatedResult(result interface{}) string { +func (cmd *CmdPassiveSessions) GetFormatedResult(result interface{}) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/session_force_disconnect.go b/console/session_force_disconnect.go new file mode 100644 index 000000000..3753b6435 --- /dev/null +++ b/console/session_force_disconnect.go @@ -0,0 +1,75 @@ +/* +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 console + +import ( + "github.com/cgrates/cgrates/utils" +) + +func init() { + c := &CmdSessionsForceDisconnect{ + name: "session_force_disconnect", + rpcMethod: utils.SessionSv1ForceDisconnect, + rpcParams: &utils.SessionFilter{}, + } + commands[c.Name()] = c + c.CommandExecuter = &CommandExecuter{c} +} + +type CmdSessionsForceDisconnect struct { + name string + rpcMethod string + rpcParams *utils.SessionFilter + *CommandExecuter +} + +func (cmd *CmdSessionsForceDisconnect) Name() string { + return cmd.name +} + +func (cmd *CmdSessionsForceDisconnect) RpcMethod() string { + return cmd.rpcMethod +} + +func (cmd *CmdSessionsForceDisconnect) RpcParams(reset bool) interface{} { + if reset || cmd.rpcParams == nil { + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + } + return cmd.rpcParams +} + +func (cmd *CmdSessionsForceDisconnect) PostprocessRpcParams() error { + param := cmd.rpcParams + cmd.rpcParams = param + return nil +} + +func (cmd *CmdSessionsForceDisconnect) RpcResult() interface{} { + var sessions string + return &sessions +} + +func (cmd *CmdSessionsForceDisconnect) GetFormatedResult(result interface{}) string { + return GetFormatedSliceResult(result, utils.StringSet{ + utils.Usage: {}, + utils.DurationIndex: {}, + utils.MaxRateUnit: {}, + utils.DebitInterval: {}, + }) +}