From 87ee981f62830a7cf5b1540dc44308c4e5870cd7 Mon Sep 17 00:00:00 2001 From: TeoV Date: Fri, 17 Nov 2017 14:20:56 +0200 Subject: [PATCH] Add in console threshol threshold_set threshold_remove --- console/threshold.go | 66 +++++++++++++++++++++++++++++++++++++ console/threshold_remove.go | 63 +++++++++++++++++++++++++++++++++++ console/threshold_set.go | 63 +++++++++++++++++++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 console/threshold.go create mode 100644 console/threshold_remove.go create mode 100644 console/threshold_set.go diff --git a/console/threshold.go b/console/threshold.go new file mode 100644 index 000000000..fa9a4f927 --- /dev/null +++ b/console/threshold.go @@ -0,0 +1,66 @@ +/* +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/engine" + "github.com/cgrates/cgrates/utils" +) + +func init() { + c := &CmdGetThreshold{ + name: "threshold", + rpcMethod: "ApierV1.GetThresholdProfile", + rpcParams: &utils.TenantID{}, + } + commands[c.Name()] = c + c.CommandExecuter = &CommandExecuter{c} +} + +// Commander implementation +type CmdGetThreshold struct { + name string + rpcMethod string + rpcParams *utils.TenantID + *CommandExecuter +} + +func (self *CmdGetThreshold) Name() string { + return self.name +} + +func (self *CmdGetThreshold) RpcMethod() string { + return self.rpcMethod +} + +func (self *CmdGetThreshold) RpcParams(reset bool) interface{} { + if reset || self.rpcParams == nil { + self.rpcParams = &utils.TenantID{} + } + return self.rpcParams +} + +func (self *CmdGetThreshold) PostprocessRpcParams() error { + return nil +} + +func (self *CmdGetThreshold) RpcResult() interface{} { + atr := engine.ThresholdProfile{} + return &atr +} diff --git a/console/threshold_remove.go b/console/threshold_remove.go new file mode 100644 index 000000000..876b74b16 --- /dev/null +++ b/console/threshold_remove.go @@ -0,0 +1,63 @@ +/* +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 := &CmdRemoveThreshold{ + name: "threshold_remove", + rpcMethod: "ApierV1.RemThresholdProfile", + rpcParams: &utils.TenantID{}, + } + commands[c.Name()] = c + c.CommandExecuter = &CommandExecuter{c} +} + +// Commander implementation +type CmdRemoveThreshold struct { + name string + rpcMethod string + rpcParams *utils.TenantID + *CommandExecuter +} + +func (self *CmdRemoveThreshold) Name() string { + return self.name +} + +func (self *CmdRemoveThreshold) RpcMethod() string { + return self.rpcMethod +} + +func (self *CmdRemoveThreshold) RpcParams(reset bool) interface{} { + if reset || self.rpcParams == nil { + self.rpcParams = &utils.TenantID{} + } + return self.rpcParams +} + +func (self *CmdRemoveThreshold) PostprocessRpcParams() error { + return nil +} + +func (self *CmdRemoveThreshold) RpcResult() interface{} { + var s string + return &s +} diff --git a/console/threshold_set.go b/console/threshold_set.go new file mode 100644 index 000000000..2485f2668 --- /dev/null +++ b/console/threshold_set.go @@ -0,0 +1,63 @@ +/* +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/engine" + +func init() { + c := &CmdSetThreshold{ + name: "threshold_set", + rpcMethod: "ApierV1.SetThresholdProfile", + rpcParams: &engine.ThresholdProfile{}, + } + commands[c.Name()] = c + c.CommandExecuter = &CommandExecuter{c} +} + +// Commander implementation +type CmdSetThreshold struct { + name string + rpcMethod string + rpcParams *engine.ThresholdProfile + *CommandExecuter +} + +func (self *CmdSetThreshold) Name() string { + return self.name +} + +func (self *CmdSetThreshold) RpcMethod() string { + return self.rpcMethod +} + +func (self *CmdSetThreshold) RpcParams(reset bool) interface{} { + if reset || self.rpcParams == nil { + self.rpcParams = &engine.ThresholdProfile{} + } + return self.rpcParams +} + +func (self *CmdSetThreshold) PostprocessRpcParams() error { + return nil +} + +func (self *CmdSetThreshold) RpcResult() interface{} { + var s string + return &s +}