diff --git a/apier/v1/apier.go b/apier/v1/apier.go index 298db217a..be3b7aa25 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -130,9 +130,10 @@ func (self *ApierV1) ExecuteAction(attr *AttrExecuteAction, reply *float64) erro } if err := at.Execute(); err != nil { + *reply = -1 return err } - // what to put in replay + *reply = 0 return nil } diff --git a/console/add_balance.go b/console/add_balance.go index 4adba2c59..c169edb8d 100644 --- a/console/add_balance.go +++ b/console/add_balance.go @@ -20,7 +20,7 @@ type CmdAddBalance struct { // name should be exec's name func (self *CmdAddBalance) Usage(name string) string { - return fmt.Sprintf("\n\tUsage: cgr-console [cfg_opts...{-h}] get_balance [ []]") + return fmt.Sprintf("\n\tUsage: cgr-console [cfg_opts...{-h}] get_balance [ []]") } // set param defaults diff --git a/console/execute_action.go b/console/execute_action.go new file mode 100644 index 000000000..e13263996 --- /dev/null +++ b/console/execute_action.go @@ -0,0 +1,57 @@ +package console + +import ( + "fmt" + "github.com/cgrates/cgrates/apier/v1" +) + +func init() { + commands["add_balance"] = &CmdExecuteAction{} +} + +// Commander implementation +type CmdExecuteAction struct { + rpcMethod string + rpcParams *apier.AttrExecuteAction + rpcResult float64 +} + +// name should be exec's name +func (self *CmdExecuteAction) Usage(name string) string { + return fmt.Sprintf("\n\tUsage: cgr-console [cfg_opts...{-h}] get_balance []") +} + +// set param defaults +func (self *CmdExecuteAction) defaults() error { + self.rpcMethod = "ApierV1.ExecuteAction" + self.rpcParams = &apier.AttrExecuteAction{Direction: "*out"} + return nil +} + +// Parses command line args and builds CmdBalance value +func (self *CmdExecuteAction) FromArgs(args []string) error { + if len(args) < 5 { + return fmt.Errorf(self.Usage("")) + } + // Args look OK, set defaults before going further + self.defaults() + self.rpcParams.Tenant = args[2] + self.rpcParams.Account = args[3] + self.rpcParams.ActionsId = args[4] + if len(args) > 5 { + self.rpcParams.Direction = args[5] + } + return nil +} + +func (self *CmdExecuteAction) RpcMethod() string { + return self.rpcMethod +} + +func (self *CmdExecuteAction) RpcParams() interface{} { + return self.rpcParams +} + +func (self *CmdExecuteAction) RpcResult() interface{} { + return &self.rpcResult +} diff --git a/console/get_balance.go b/console/get_balance.go index 9c61dc539..d69991002 100644 --- a/console/get_balance.go +++ b/console/get_balance.go @@ -19,7 +19,7 @@ type CmdGetBalance struct { // name should be exec's name func (self *CmdGetBalance) Usage(name string) string { - return fmt.Sprintf("\n\tUsage: cgr-console [cfg_opts...{-h}] get_balance [ []]") + return fmt.Sprintf("\n\tUsage: cgr-console [cfg_opts...{-h}] get_balance [ []]") } // set param defaults