From 11dd95cb5f2328d588b52d34a8fac093311dffd7 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Thu, 28 Jan 2016 13:10:30 +0200 Subject: [PATCH] added debit_max console command --- console/debit_max.go | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 console/debit_max.go diff --git a/console/debit_max.go b/console/debit_max.go new file mode 100644 index 000000000..3861f9388 --- /dev/null +++ b/console/debit_max.go @@ -0,0 +1,67 @@ +/* +Rating system designed to be used in VoIP Carriers World +Copyright (C) 2012-2015 ITsysCOM + +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 := &CmdMaxDebit{ + name: "debit", + rpcMethod: "Responder.MaxDebit", + clientArgs: []string{"Direction", "Category", "TOR", "Tenant", "Subject", "Account", "Destination", "TimeStart", "TimeEnd", "CallDuration", "FallbackSubject"}, + } + commands[c.Name()] = c + c.CommandExecuter = &CommandExecuter{c} +} + +// Commander implementation +type CmdMaxDebit struct { + name string + rpcMethod string + rpcParams *engine.CallDescriptor + clientArgs []string + *CommandExecuter +} + +func (self *CmdMaxDebit) Name() string { + return self.name +} + +func (self *CmdMaxDebit) RpcMethod() string { + return self.rpcMethod +} + +func (self *CmdMaxDebit) RpcParams(reset bool) interface{} { + if reset || self.rpcParams == nil { + self.rpcParams = &engine.CallDescriptor{Direction: "*out"} + } + return self.rpcParams +} + +func (self *CmdMaxDebit) PostprocessRpcParams() error { + return nil +} + +func (self *CmdMaxDebit) RpcResult() interface{} { + return &engine.CallCost{} +} + +func (self *CmdMaxDebit) ClientArgs() []string { + return self.clientArgs +}