diff --git a/agents/agentreq.go b/agents/agentreq.go index 7eb3ec521..809a59d14 100644 --- a/agents/agentreq.go +++ b/agents/agentreq.go @@ -96,7 +96,7 @@ func (ar *AgentRequest) String() string { } // FieldAsInterface implements utils.DataProvider -func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: dp, has := ar.ExtraDP[fldPath[0]] @@ -181,7 +181,7 @@ func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err // FieldAsString implements utils.DataProvider func (ar *AgentRequest) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any if iface, err = ar.FieldAsInterface(fldPath); err != nil { return } @@ -212,7 +212,7 @@ func (ar *AgentRequest) SetFields(tplFlds []*config.FCTemplate) (err error) { return } default: - var out interface{} + var out any out, err = ar.ParseField(tplFld) if err != nil { if err == utils.ErrNotFound { @@ -350,7 +350,7 @@ func (ar *AgentRequest) Remove(fullPath *utils.FullPath) error { // ParseField outputs the value based on the template item func (ar *AgentRequest) ParseField( - cfgFld *config.FCTemplate) (out interface{}, err error) { + cfgFld *config.FCTemplate) (out any, err error) { tmpType := cfgFld.Type switch tmpType { case utils.MetaFiller: @@ -457,7 +457,7 @@ func (ar *AgentRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) ( case utils.MetaTmp: return ar.tmp.Compose(fullPath.PathSlice[1:], val) case utils.MetaOpts: - var prv interface{} + var prv any if prv, err = ar.Opts.FieldAsInterface(fullPath.PathSlice[1:]); err != nil { if err != utils.ErrNotFound { return @@ -470,7 +470,7 @@ func (ar *AgentRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) ( case utils.MetaUCH: path := fullPath.Path[5:] - var prv interface{} + var prv any if prvI, ok := engine.Cache.Get(utils.CacheUCH, path); !ok { prv = val.Data } else { diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index 5650466f1..75dce0bf5 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -135,7 +135,7 @@ func TestAgReqSetFields(t *testing.T) { } func TestAgentRequestSetFields(t *testing.T) { - req := map[string]interface{}{ + req := map[string]any{ utils.AccountField: 1009, utils.Tenant: "cgrates.org", } @@ -959,7 +959,7 @@ func TestAgReqFieldAsInterface(t *testing.T) { agReq.CGRRequest.Set(&utils.FullPath{Path: utils.Destination, PathSlice: []string{utils.Destination}}, utils.NewLeafNode("1002")) path := []string{utils.MetaCgreq, utils.Usage} - var expVal interface{} + var expVal any expVal = 3 * time.Minute if rply, err := agReq.FieldAsInterface(path); err != nil { t.Error(err) diff --git a/agents/astagent.go b/agents/astagent.go index 374859b9d..e9ee08169 100644 --- a/agents/astagent.go +++ b/agents/astagent.go @@ -73,7 +73,7 @@ type AsteriskAgent struct { connMgr *engine.ConnManager astConnIdx int astConn *aringo.ARInGO - astEvChan chan map[string]interface{} + astEvChan chan map[string]any astErrChan chan error eventsCache map[string]*utils.CGREvent // used to gather information about events during various phases evCacheMux sync.RWMutex // Protect eventsCache @@ -81,7 +81,7 @@ type AsteriskAgent struct { func (sma *AsteriskAgent) connectAsterisk(stopChan <-chan struct{}) (err error) { connCfg := sma.cgrCfg.AsteriskAgentCfg().AsteriskConns[sma.astConnIdx] - sma.astEvChan = make(chan map[string]interface{}) + sma.astEvChan = make(chan map[string]any) sma.astErrChan = make(chan error) sma.astConn, err = aringo.NewARInGO(fmt.Sprintf("ws://%s/ari/events?api_key=%s:%s&app=%s", connCfg.Address, connCfg.User, connCfg.Password, CGRAuthAPP), "http://cgrates.org", @@ -323,7 +323,7 @@ func (sma *AsteriskAgent) handleChannelDestroyed(ev *SMAsteriskEvent) { } // Call implements rpcclient.ClientConnector interface -func (sma *AsteriskAgent) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (sma *AsteriskAgent) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(sma, serviceMethod, args, reply) } @@ -338,7 +338,7 @@ func (sma *AsteriskAgent) V1DisconnectSession(args utils.AttrDisconnectSession, // V1GetActiveSessionIDs is internal method to get all active sessions in asterisk func (sma *AsteriskAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) error { - var slMpIface []map[string]interface{} // decode the result from ari into a slice of map[string]interface{} + var slMpIface []map[string]any // decode the result from ari into a slice of map[string]any if byts, err := sma.astConn.Call( aringo.HTTP_GET, fmt.Sprintf("http://%s/ari/channels", @@ -374,12 +374,12 @@ func (*AsteriskAgent) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (err } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (sma *AsteriskAgent) V1WarnDisconnect(args map[string]interface{}, reply *string) (err error) { +func (sma *AsteriskAgent) V1WarnDisconnect(args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } // CallBiRPC is part of utils.BiRPCServer interface to help internal connections do calls over rpcclient.ClientConnector interface -func (sma *AsteriskAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args interface{}, reply interface{}) error { +func (sma *AsteriskAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args any, reply any) error { return utils.BiRPCCall(sma, clnt, serviceMethod, args, reply) } @@ -405,18 +405,18 @@ func (sma *AsteriskAgent) BiRPCv1DisconnectPeer(clnt rpcclient.ClientConnector, } // BiRPCv1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (sma *AsteriskAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]interface{}, reply *string) (err error) { +func (sma *AsteriskAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]any, reply *string) (err error) { return sma.V1WarnDisconnect(args, reply) } // BiRPCv1CapsError is used to return error when the caps limit is hit -func (sma *AsteriskAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args interface{}, reply *string) (err error) { +func (sma *AsteriskAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args any, reply *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } // Handlers is used to implement the rpcclient.BiRPCConector interface -func (sma *AsteriskAgent) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (sma *AsteriskAgent) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1DisconnectSession: func(clnt *rpc2.Client, args utils.AttrDisconnectSession, rply *string) error { return sma.BiRPCv1DisconnectSession(clnt, args, rply) }, @@ -429,10 +429,10 @@ func (sma *AsteriskAgent) Handlers() map[string]interface{} { utils.SessionSv1DisconnectPeer: func(clnt *rpc2.Client, args *utils.DPRArgs, rply *string) (err error) { return sma.BiRPCv1DisconnectPeer(clnt, args, rply) }, - utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]interface{}, rply *string) (err error) { + utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]any, rply *string) (err error) { return sma.BiRPCv1WarnDisconnect(clnt, args, rply) }, - utils.SessionSv1CapsError: func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { + utils.SessionSv1CapsError: func(clnt *rpc2.Client, args any, rply *string) (err error) { return sma.BiRPCv1CapsError(clnt, args, rply) }, } diff --git a/agents/asterisk_event.go b/agents/asterisk_event.go index db711bf2e..d43b53ae5 100644 --- a/agents/asterisk_event.go +++ b/agents/asterisk_event.go @@ -28,30 +28,30 @@ import ( "github.com/cgrates/cgrates/utils" ) -func NewSMAsteriskEvent(ariEv map[string]interface{}, asteriskIP, asteriskAlias string) *SMAsteriskEvent { +func NewSMAsteriskEvent(ariEv map[string]any, asteriskIP, asteriskAlias string) *SMAsteriskEvent { smsmaEv := &SMAsteriskEvent{ ariEv: ariEv, asteriskIP: asteriskIP, asteriskAlias: asteriskAlias, cachedFields: make(map[string]string), - opts: make(map[string]interface{}), + opts: make(map[string]any), } smsmaEv.parseStasisArgs() // Populate appArgs return smsmaEv } type SMAsteriskEvent struct { // Standalone struct so we can cache the fields while we parse them - ariEv map[string]interface{} // stasis event + ariEv map[string]any // stasis event asteriskIP string asteriskAlias string cachedFields map[string]string // Cache replies here - opts map[string]interface{} + opts map[string]any } // parseStasisArgs will convert the args passed to Stasis into CGRateS attribute/value pairs understood by CGRateS and store them in cachedFields // args need to be in the form of []string{"key=value", "key2=value2"} func (smaEv *SMAsteriskEvent) parseStasisArgs() { - args, _ := smaEv.ariEv["args"].([]interface{}) + args, _ := smaEv.ariEv["args"].([]any) for _, arg := range args { if splt := strings.Split(arg.(string), "="); len(splt) > 1 { if !utils.CGROptionsSet.Has(splt[0]) { @@ -81,7 +81,7 @@ func (smaEv *SMAsteriskEvent) ChannelID() string { cachedKey := channelID cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["id"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -102,7 +102,7 @@ func (smaEv *SMAsteriskEvent) ChannelState() string { cachedKey := channelState cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["state"].(string) } return cachedVal @@ -112,7 +112,7 @@ func (smaEv *SMAsteriskEvent) SetupTime() string { cachedKey := utils.SetupTime cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["creationtime"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -123,8 +123,8 @@ func (smaEv *SMAsteriskEvent) Account() string { cachedKey := utils.CGRAccount cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) - callerData, _ := channelData["caller"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) + callerData, _ := channelData["caller"].(map[string]any) cachedVal, _ = callerData["number"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -135,8 +135,8 @@ func (smaEv *SMAsteriskEvent) Destination() string { cachedKey := utils.CGRDestination cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) - dialplanData, _ := channelData["dialplan"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) + dialplanData, _ := channelData["dialplan"].(map[string]any) cachedVal, _ = dialplanData["exten"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -232,8 +232,8 @@ func (smaEv *SMAsteriskEvent) UpdateCGREvent(cgrEv *utils.CGREvent) error { return nil } -func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]any) { + mp = make(map[string]any) switch smaEv.EventType() { case ARIStasisStart: mp[utils.EventName] = SMAAuthorization diff --git a/agents/asterisk_event_test.go b/agents/asterisk_event_test.go index 347d3c389..94a917684 100644 --- a/agents/asterisk_event_test.go +++ b/agents/asterisk_event_test.go @@ -36,7 +36,7 @@ var ( ) func TestSMAParseStasisArgs(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -45,7 +45,7 @@ func TestSMAParseStasisArgs(t *testing.T) { if !reflect.DeepEqual(smaEv.cachedFields, expAppArgs) { t.Errorf("Expecting: %+v, received: %+v", smaEv.cachedFields, expAppArgs) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -57,7 +57,7 @@ func TestSMAParseStasisArgs(t *testing.T) { } func TestSMAEventType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -65,7 +65,7 @@ func TestSMAEventType(t *testing.T) { if smaEv.EventType() != "StasisStart" { t.Error("Received:", smaEv.EventType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -76,7 +76,7 @@ func TestSMAEventType(t *testing.T) { } func TestSMAEventChannelID(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -84,7 +84,7 @@ func TestSMAEventChannelID(t *testing.T) { if smaEv.ChannelID() != "1473681228.6" { t.Error("Received:", smaEv.ChannelID()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -95,7 +95,7 @@ func TestSMAEventChannelID(t *testing.T) { } func TestSMAEventOriginatorIP(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -106,7 +106,7 @@ func TestSMAEventOriginatorIP(t *testing.T) { } func TestSMAEventAccount(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -114,7 +114,7 @@ func TestSMAEventAccount(t *testing.T) { if smaEv.Account() != "1001" { t.Error("Received:", smaEv.Account()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -125,7 +125,7 @@ func TestSMAEventAccount(t *testing.T) { } func TestSMAEventDestination(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -133,7 +133,7 @@ func TestSMAEventDestination(t *testing.T) { if smaEv.Destination() != "1002" { t.Error("Received:", smaEv.Destination()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -144,7 +144,7 @@ func TestSMAEventDestination(t *testing.T) { } func TestSMAEventTimestamp(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -152,7 +152,7 @@ func TestSMAEventTimestamp(t *testing.T) { if smaEv.Timestamp() != "2016-09-12T13:53:48.919+0200" { t.Error("Received:", smaEv.Timestamp()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -163,7 +163,7 @@ func TestSMAEventTimestamp(t *testing.T) { } func TestSMAEventChannelState(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(channelStateChange), &ev); err != nil { t.Error(err) } @@ -171,7 +171,7 @@ func TestSMAEventChannelState(t *testing.T) { if smaEv.ChannelState() != "Up" { t.Error("Received:", smaEv.ChannelState()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -182,7 +182,7 @@ func TestSMAEventChannelState(t *testing.T) { } func TestSMASetupTime(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(channelStateChange), &ev); err != nil { t.Error(err) } @@ -190,7 +190,7 @@ func TestSMASetupTime(t *testing.T) { if smaEv.SetupTime() != "2016-09-12T13:53:48.918+0200" { t.Error("Received:", smaEv.SetupTime()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -201,7 +201,7 @@ func TestSMASetupTime(t *testing.T) { } func TestSMAEventRequestType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -209,7 +209,7 @@ func TestSMAEventRequestType(t *testing.T) { if smaEv.RequestType() != "*prepaid" { t.Error("Received:", smaEv.RequestType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { t.Error("Received:", smaEv.RequestType()) @@ -217,7 +217,7 @@ func TestSMAEventRequestType(t *testing.T) { } func TestSMAEventTenant(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -225,7 +225,7 @@ func TestSMAEventTenant(t *testing.T) { if smaEv.Tenant() != "" { t.Error("Received:", smaEv.Tenant()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_tenant=cgrates.org"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_tenant=cgrates.org"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Tenant() != "cgrates.org" { t.Error("Received:", smaEv.Tenant()) @@ -233,7 +233,7 @@ func TestSMAEventTenant(t *testing.T) { } func TestSMAEventCategory(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -241,7 +241,7 @@ func TestSMAEventCategory(t *testing.T) { if smaEv.Category() != "" { t.Error("Received:", smaEv.Category()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_category=premium_call"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_category=premium_call"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Category() != "premium_call" { t.Error("Received:", smaEv.Category()) @@ -249,7 +249,7 @@ func TestSMAEventCategory(t *testing.T) { } func TestSMAEventSubject(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -257,7 +257,7 @@ func TestSMAEventSubject(t *testing.T) { if smaEv.Subject() != "" { t.Error("Received:", smaEv.Subject()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_subject=dan"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_subject=dan"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Subject() != "dan" { t.Error("Received:", smaEv.Subject()) @@ -265,7 +265,7 @@ func TestSMAEventSubject(t *testing.T) { } func TestSMAEventPDD(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -273,7 +273,7 @@ func TestSMAEventPDD(t *testing.T) { if smaEv.PDD() != "" { t.Error("Received:", smaEv.PDD()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_pdd=2.1"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_pdd=2.1"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.PDD() != "2.1" { t.Error("Received:", smaEv.PDD()) @@ -281,7 +281,7 @@ func TestSMAEventPDD(t *testing.T) { } func TestSMAEventRoute(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -289,7 +289,7 @@ func TestSMAEventRoute(t *testing.T) { if smaEv.Route() != "supplier1" { t.Error("Received:", smaEv.Route()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_route=supplier1"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_route=supplier1"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Route() != "supplier1" { t.Error("Received:", smaEv.Route()) @@ -297,7 +297,7 @@ func TestSMAEventRoute(t *testing.T) { } func TestSMAEventDisconnectCause(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -305,18 +305,18 @@ func TestSMAEventDisconnectCause(t *testing.T) { if smaEv.DisconnectCause() != "" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_disconnectcause=NORMAL_DISCONNECT"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_disconnectcause=NORMAL_DISCONNECT"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "NORMAL_DISCONNECT" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"cause": 16} // Clear previous data + ev = map[string]any{"cause": 16} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "16" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"cause_txt": "NORMAL_DISCONNECT"} // Clear previous data + ev = map[string]any{"cause_txt": "NORMAL_DISCONNECT"} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "NORMAL_DISCONNECT" { t.Error("Received:", smaEv.DisconnectCause()) @@ -328,7 +328,7 @@ func TestSMAEventExtraParameters(t *testing.T) { "extra1": "val1", "extra2": "val2", } - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -343,7 +343,7 @@ func TestSMAEventExtraParameters(t *testing.T) { func TestSMAEventV1AuthorizeArgs(t *testing.T) { timezone := config.CgrConfig().GeneralCfg().DefaultTimezone - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -361,7 +361,7 @@ func TestSMAEventV1AuthorizeArgs(t *testing.T) { } stasisStart2 := `{"type":"StasisStart","timestamp":"2018-11-25T05:03:26.464-0500","args":["cgr_reqtype=*prepaid","cgr_route=route1","cgr_flags=*accounts+*attributes+*resources+*stats+*routes+*thresholds"],"channel":{"id":"1543140206.0","dialplan":{"context":"internal","exten":"1002","priority":4},"caller":{"name":"","number":"1001"},"name":"PJSIP/1001-00000000","state":"Ring","connected":{"name":"","number":""},"language":"en","accountcode":"","creationtime":"2018-11-25T05:03:26.463-0500"},"asterisk_id":"08:00:27:b7:b8:1f","application":"cgrates_auth"}` - var ev2 map[string]interface{} + var ev2 map[string]any if err := json.Unmarshal([]byte(stasisStart2), &ev2); err != nil { t.Error(err) } @@ -398,7 +398,7 @@ func TestSMAEventV1InitSessionArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AsteriskEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "MissingCGRSubsustems": "", }, } @@ -406,7 +406,7 @@ func TestSMAEventV1InitSessionArgs(t *testing.T) { InitSession: true, CGREvent: cgrEv, } - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -431,7 +431,7 @@ func TestSMAEventV1TerminateSessionArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AsteriskEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "MissingCGRSubsustems": "", }, } @@ -439,7 +439,7 @@ func TestSMAEventV1TerminateSessionArgs(t *testing.T) { TerminateSession: true, CGREvent: cgrEv, } - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -461,7 +461,7 @@ func TestSMAEventV1TerminateSessionArgs(t *testing.T) { } func TestRequestType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -469,7 +469,7 @@ func TestRequestType(t *testing.T) { if smaEv.RequestType() != "*prepaid" { t.Error("Received:", smaEv.RequestType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { t.Error("Received:", smaEv.RequestType()) @@ -480,7 +480,7 @@ func TestSMAsteriskEventUpdateCGREvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: make(map[string]interface{}), + Event: make(map[string]any), } testCases := []struct { diff --git a/agents/diam_it_test.go b/agents/diam_it_test.go index f84756671..d6f368074 100644 --- a/agents/diam_it_test.go +++ b/agents/diam_it_test.go @@ -415,7 +415,7 @@ func testDiamItDryRun(t *testing.T) { } // Result-Code eVal := "2002" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -426,7 +426,7 @@ func testDiamItDryRun(t *testing.T) { } eVal = "cgrates;1451911932;00082" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -436,7 +436,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "CGR-DA" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Host"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Origin-Host"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -446,7 +446,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "cgrates.org" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -456,7 +456,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "4" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Auth-Application-Id"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Auth-Application-Id"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -466,7 +466,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "1" - if avps, err := msg.FindAVPsWithPath([]interface{}{"CC-Request-Type"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"CC-Request-Type"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -476,7 +476,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "1" - if avps, err := msg.FindAVPsWithPath([]interface{}{"CC-Request-Number"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"CC-Request-Number"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -485,7 +485,7 @@ func testDiamItDryRun(t *testing.T) { } else if val != eVal { t.Errorf("expecting: %s, received: <%s>", eVal, val) } - if avps, err := msg.FindAVPsWithPath([]interface{}{"Multiple-Services-Credit-Control", "Rating-Group"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Multiple-Services-Credit-Control", "Rating-Group"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) != 2 { t.Errorf("Unexpected number of Multiple-Services-Credit-Control.Rating-Group : %d", len(avps)) @@ -501,7 +501,7 @@ func testDiamItDryRun(t *testing.T) { t.Errorf("expecting: 2, received: <%s>", val) } } - if avps, err := msg.FindAVPsWithPath([]interface{}{"Multiple-Services-Credit-Control", "Used-Service-Unit", "CC-Total-Octets"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Multiple-Services-Credit-Control", "Used-Service-Unit", "CC-Total-Octets"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) != 2 { t.Errorf("Unexpected number of Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets : %d", len(avps)) @@ -518,7 +518,7 @@ func testDiamItDryRun(t *testing.T) { } } eVal = "6" // sum of items - if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -557,7 +557,7 @@ func testDiamItDryRunMaxConn(t *testing.T) { } // Result-Code eVal := "5012" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -567,7 +567,7 @@ func testDiamItDryRunMaxConn(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "cgrates;1451911932;00082" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -577,7 +577,7 @@ func testDiamItDryRunMaxConn(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "CGR-DA" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Host"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Origin-Host"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -587,7 +587,7 @@ func testDiamItDryRunMaxConn(t *testing.T) { t.Errorf("expecting: %s, received: <%s>", eVal, val) } eVal = "cgrates.org" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -664,7 +664,7 @@ func testDiamItCCRInit(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -675,7 +675,7 @@ func testDiamItCCRInit(t *testing.T) { } // Result-Code eVal = "300" // 5 mins of session - if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, + if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { @@ -752,7 +752,7 @@ func testDiamItCCRInitWithForceDuration(t *testing.T) { } // Result-Code eVal := "5030" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -829,7 +829,7 @@ func testDiamItCCRUpdate(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -840,7 +840,7 @@ func testDiamItCCRUpdate(t *testing.T) { } // Result-Code eVal = "300" // 5 mins of session - if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, + if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { @@ -917,7 +917,7 @@ func testDiamItCCRTerminate(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1107,7 +1107,7 @@ func testDiamInitWithSessionDisconnect(t *testing.T) { Account: "testDiamInitWithSessionDisconnect", BalanceType: utils.MetaVoice, Value: float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testDiamInitWithSessionDisconnect", utils.RatingSubject: "*zero1ms", }, @@ -1184,7 +1184,7 @@ func testDiamInitWithSessionDisconnect(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1198,7 +1198,7 @@ func testDiamInitWithSessionDisconnect(t *testing.T) { if msg == nil { t.Fatal("No message returned") } - if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1303,7 +1303,7 @@ func testDiamItRAR(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1314,7 +1314,7 @@ func testDiamItRAR(t *testing.T) { } // Result-Code eVal = "301" // 5 mins of session - if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, + if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { @@ -1369,7 +1369,7 @@ func testDiamItDRR(t *testing.T) { wait.Wait() eVal := "1" - if avps, err := drr.FindAVPsWithPath([]interface{}{avp.DisconnectCause}, dict.UndefinedVendorID); err != nil { + if avps, err := drr.FindAVPsWithPath([]any{avp.DisconnectCause}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1453,7 +1453,7 @@ func testDiamItTemplateErr(t *testing.T) { } // Result-Code eVal := "5012" // error code diam.UnableToComply - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1507,7 +1507,7 @@ func testDiamItEmulateTerminate(t *testing.T) { Account: "testDiamItEmulateTerminate", Value: float64(time.Hour), BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testDiamItEmulateTerminate", utils.Categories: "custom_charger", }, @@ -1590,7 +1590,7 @@ func testDiamItEmulateTerminate(t *testing.T) { } // Result-Code eVal := "2001" - if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { + if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { t.Error("Missing AVP") @@ -1601,7 +1601,7 @@ func testDiamItEmulateTerminate(t *testing.T) { } // Result-Code eVal = "0" // 0 from sessions - if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, + if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { t.Error(err) } else if len(avps) == 0 { diff --git a/agents/diamagent.go b/agents/diamagent.go index 0c2401e89..5c558602e 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -313,7 +313,7 @@ func (da *DiameterAgent) handleMessage(c diam.Conn, m *diam.Message) { } // Call implements rpcclient.ClientConnector interface -func (da *DiameterAgent) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (da *DiameterAgent) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(da, serviceMethod, args, reply) } @@ -433,13 +433,13 @@ func (da *DiameterAgent) V1ReAuthorize(originID string, reply *string) (err erro select { case raa := <-raaCh: var avps []*diam.AVP - if avps, err = raa.FindAVPsWithPath([]interface{}{avp.ResultCode}, dict.UndefinedVendorID); err != nil { + if avps, err = raa.FindAVPsWithPath([]any{avp.ResultCode}, dict.UndefinedVendorID); err != nil { return } if len(avps) == 0 { return fmt.Errorf("Missing AVP") } - var data interface{} + var data any if data, err = diamAVPAsIface(avps[0]); err != nil { return } else if data != uint32(diam.Success) { @@ -546,13 +546,13 @@ func (da *DiameterAgent) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (e select { case dpa := <-dpaCh: var avps []*diam.AVP - if avps, err = dpa.FindAVPsWithPath([]interface{}{avp.ResultCode}, dict.UndefinedVendorID); err != nil { + if avps, err = dpa.FindAVPsWithPath([]any{avp.ResultCode}, dict.UndefinedVendorID); err != nil { return } if len(avps) == 0 { return fmt.Errorf("Missing AVP") } - var data interface{} + var data any if data, err = diamAVPAsIface(avps[0]); err != nil { return } else if data != uint32(diam.Success) { @@ -566,12 +566,12 @@ func (da *DiameterAgent) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (e } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (*DiameterAgent) V1WarnDisconnect(args map[string]interface{}, reply *string) (err error) { +func (*DiameterAgent) V1WarnDisconnect(args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } // CallBiRPC is part of utils.BiRPCServer interface to help internal connections do calls over rpcclient.ClientConnector interface -func (da *DiameterAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args interface{}, reply interface{}) error { +func (da *DiameterAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args any, reply any) error { return utils.BiRPCCall(da, clnt, serviceMethod, args, reply) } @@ -598,18 +598,18 @@ func (da *DiameterAgent) BiRPCv1DisconnectPeer(clnt rpcclient.ClientConnector, a } // BiRPCv1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (da *DiameterAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]interface{}, reply *string) (err error) { +func (da *DiameterAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]any, reply *string) (err error) { return da.V1WarnDisconnect(args, reply) } // BiRPCv1CapsError is used to return error when the caps limit is hit -func (da *DiameterAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args interface{}, reply *string) (err error) { +func (da *DiameterAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args any, reply *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } // Handlers is used to implement the rpcclient.BiRPCConector interface -func (da *DiameterAgent) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (da *DiameterAgent) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1DisconnectSession: func(clnt *rpc2.Client, args utils.AttrDisconnectSession, rply *string) error { return da.BiRPCv1DisconnectSession(clnt, args, rply) }, @@ -622,10 +622,10 @@ func (da *DiameterAgent) Handlers() map[string]interface{} { utils.SessionSv1DisconnectPeer: func(clnt *rpc2.Client, args *utils.DPRArgs, rply *string) (err error) { return da.BiRPCv1DisconnectPeer(clnt, args, rply) }, - utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]interface{}, rply *string) (err error) { + utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]any, rply *string) (err error) { return da.BiRPCv1WarnDisconnect(clnt, args, rply) }, - utils.SessionSv1CapsError: func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { + utils.SessionSv1CapsError: func(clnt *rpc2.Client, args any, rply *string) (err error) { return da.BiRPCv1CapsError(clnt, args, rply) }, } diff --git a/agents/diamagent_test.go b/agents/diamagent_test.go index c8b661d8b..39fc2b7aa 100644 --- a/agents/diamagent_test.go +++ b/agents/diamagent_test.go @@ -34,22 +34,22 @@ func TestDAsSessionSClientIface(t *testing.T) { } type testMockSessionConn struct { - calls map[string]func(arg interface{}, rply interface{}) error + calls map[string]func(arg any, rply any) error } -func (s *testMockSessionConn) Call(method string, arg interface{}, rply interface{}) error { +func (s *testMockSessionConn) Call(method string, arg any, rply any) error { if call, has := s.calls[method]; has { return call(arg, rply) } return rpcclient.ErrUnsupporteServiceMethod } -func (s *testMockSessionConn) CallBiRPC(_ rpcclient.ClientConnector, method string, arg interface{}, rply interface{}) error { +func (s *testMockSessionConn) CallBiRPC(_ rpcclient.ClientConnector, method string, arg any, rply any) error { return s.Call(method, arg, rply) } -func (s *testMockSessionConn) Handlers() (b map[string]interface{}) { - b = make(map[string]interface{}) +func (s *testMockSessionConn) Handlers() (b map[string]any) { + b = make(map[string]any) for n, f := range s.calls { b[n] = f } @@ -122,11 +122,11 @@ func TestProcessRequest(t *testing.T) { utils.RemoteHost: utils.NewLeafNode(utils.LocalAddr().String()), }} - sS := &testMockSessionConn{calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.SessionSv1RegisterInternalBiJSONConn: func(arg interface{}, rply interface{}) error { + sS := &testMockSessionConn{calls: map[string]func(arg any, rply any) error{ + utils.SessionSv1RegisterInternalBiJSONConn: func(arg any, rply any) error { return nil }, - utils.SessionSv1AuthorizeEvent: func(arg interface{}, rply interface{}) error { + utils.SessionSv1AuthorizeEvent: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -143,7 +143,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -152,7 +152,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if !reflect.DeepEqual(expargs, arg) { @@ -168,7 +168,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1InitiateSession: func(arg interface{}, rply interface{}) error { + utils.SessionSv1InitiateSession: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -186,7 +186,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -195,7 +195,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if !reflect.DeepEqual(expargs, arg) { @@ -213,7 +213,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "CGRID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", "Category": "call", @@ -233,7 +233,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1UpdateSession: func(arg interface{}, rply interface{}) error { + utils.SessionSv1UpdateSession: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -251,7 +251,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -260,7 +260,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if !reflect.DeepEqual(expargs, arg) { @@ -278,7 +278,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "CGRID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", "Category": "call", @@ -298,7 +298,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1ProcessCDR: func(arg interface{}, rply interface{}) error { + utils.SessionSv1ProcessCDR: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -313,7 +313,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -322,7 +322,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if !reflect.DeepEqual(expargs, arg) { t.Errorf("Expected:%s ,received: %s", utils.ToJSON(expargs), utils.ToJSON(arg)) @@ -335,7 +335,7 @@ func TestProcessRequest(t *testing.T) { *prply = utils.OK return nil }, - utils.SessionSv1TerminateSession: func(arg interface{}, rply interface{}) error { + utils.SessionSv1TerminateSession: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -353,7 +353,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -362,7 +362,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if !reflect.DeepEqual(expargs, arg) { @@ -376,7 +376,7 @@ func TestProcessRequest(t *testing.T) { *prply = utils.OK return nil }, - utils.SessionSv1ProcessMessage: func(arg interface{}, rply interface{}) error { + utils.SessionSv1ProcessMessage: func(arg any, rply any) error { var tm *time.Time var id string if arg == nil { @@ -394,7 +394,7 @@ func TestProcessRequest(t *testing.T) { Tenant: "cgrates.org", ID: id, Time: tm, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -403,7 +403,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if !reflect.DeepEqual(expargs, arg) { @@ -421,7 +421,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "CGRID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", "Category": "call", diff --git a/agents/fsagent.go b/agents/fsagent.go index 2395dfc58..7585ebefe 100644 --- a/agents/fsagent.go +++ b/agents/fsagent.go @@ -375,7 +375,7 @@ func (fsa *FSsessions) Shutdown() (err error) { } // Call implements rpcclient.ClientConnector interface -func (fsa *FSsessions) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (fsa *FSsessions) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(fsa, serviceMethod, args, reply) } @@ -454,7 +454,7 @@ func (*FSsessions) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (err err } // V1WarnDisconnect is called when call goes under the minimum duration threshold, so FreeSWITCH can play an announcement message -func (fsa *FSsessions) V1WarnDisconnect(args map[string]interface{}, reply *string) (err error) { +func (fsa *FSsessions) V1WarnDisconnect(args map[string]any, reply *string) (err error) { if fsa.cfg.LowBalanceAnnFile == utils.EmptyString { *reply = utils.OK return @@ -483,7 +483,7 @@ func (fsa *FSsessions) V1WarnDisconnect(args map[string]interface{}, reply *stri } // CallBiRPC is part of utils.BiRPCServer interface to help internal connections do calls over rpcclient.ClientConnector interface -func (fsa *FSsessions) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args interface{}, reply interface{}) error { +func (fsa *FSsessions) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args any, reply any) error { return utils.BiRPCCall(fsa, clnt, serviceMethod, args, reply) } @@ -510,18 +510,18 @@ func (fsa *FSsessions) BiRPCv1DisconnectPeer(clnt rpcclient.ClientConnector, arg } // BiRPCv1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (fsa *FSsessions) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]interface{}, reply *string) (err error) { +func (fsa *FSsessions) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]any, reply *string) (err error) { return fsa.V1WarnDisconnect(args, reply) } // BiRPCv1CapsError is used to return error when the caps limit is hit -func (fsa *FSsessions) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args interface{}, reply *string) (err error) { +func (fsa *FSsessions) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args any, reply *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } // Handlers is used to implement the rpcclient.BiRPCConector interface -func (fsa *FSsessions) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (fsa *FSsessions) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1DisconnectSession: func(clnt *rpc2.Client, args utils.AttrDisconnectSession, rply *string) error { return fsa.BiRPCv1DisconnectSession(clnt, args, rply) }, @@ -534,10 +534,10 @@ func (fsa *FSsessions) Handlers() map[string]interface{} { utils.SessionSv1DisconnectPeer: func(clnt *rpc2.Client, args *utils.DPRArgs, rply *string) (err error) { return fsa.BiRPCv1DisconnectPeer(clnt, args, rply) }, - utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]interface{}, rply *string) (err error) { + utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]any, rply *string) (err error) { return fsa.BiRPCv1WarnDisconnect(clnt, args, rply) }, - utils.SessionSv1CapsError: func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { + utils.SessionSv1CapsError: func(clnt *rpc2.Client, args any, rply *string) (err error) { return fsa.BiRPCv1CapsError(clnt, args, rply) }, } diff --git a/agents/fsevent.go b/agents/fsevent.go index 753bd3131..97eecb50e 100644 --- a/agents/fsevent.go +++ b/agents/fsevent.go @@ -371,8 +371,8 @@ func (fsev FSEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err erro } // Used with RLs -func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]interface{} { - mp := make(map[string]interface{}) +func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]any { + mp := make(map[string]any) for fld, val := range fsev.GetExtraFields() { mp[fld] = val } @@ -471,8 +471,8 @@ func SliceAsFsArray(slc []string) (arry string) { } // GetOptions returns the possible options -func (fsev FSEvent) GetOptions() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (fsev FSEvent) GetOptions() (mp map[string]any) { + mp = make(map[string]any) opts, has := fsev[VarCGROpts] if !has { return diff --git a/agents/fsevent_test.go b/agents/fsevent_test.go index 9f5e04395..0f5d8b600 100644 --- a/agents/fsevent_test.go +++ b/agents/fsevent_test.go @@ -580,7 +580,7 @@ func TestFsEvAsMapStringInterface(t *testing.T) { ev := NewFSEvent(hangupEv) setupTime, _ := utils.ParseTimeDetectLayout("1436280728", "") aTime, _ := utils.ParseTimeDetectLayout("1436280728", "") - expectedMap := make(map[string]interface{}) + expectedMap := make(map[string]any) expectedMap[utils.ToR] = utils.MetaVoice expectedMap[utils.OriginID] = "e3133bf7-dcde-4daf-9663-9a79ffcef5ad" expectedMap[utils.OriginHost] = "10.0.3.15" @@ -644,13 +644,13 @@ func TestSliceAsArraySortingParameter(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "rt1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, { RouteID: "rt2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, @@ -661,13 +661,13 @@ func TestSliceAsArraySortingParameter(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "RT1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, { RouteID: "RT2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, diff --git a/agents/httpagent_it_test.go b/agents/httpagent_it_test.go index 883c66d3a..65891a934 100644 --- a/agents/httpagent_it_test.go +++ b/agents/httpagent_it_test.go @@ -226,7 +226,7 @@ func testHAitAuth1001(t *testing.T) { Account: acnt, BalanceType: utils.MetaVoice, Value: float64(maxDuration) * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero5ms", }, diff --git a/agents/kamagent.go b/agents/kamagent.go index cfede5a25..9a9840956 100644 --- a/agents/kamagent.go +++ b/agents/kamagent.go @@ -107,7 +107,7 @@ func (self *KamailioAgent) Shutdown() (err error) { } // rpcclient.ClientConnector interface -func (ka *KamailioAgent) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (ka *KamailioAgent) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(ka, serviceMethod, args, reply) } @@ -446,12 +446,12 @@ func (*KamailioAgent) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (err } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (*KamailioAgent) V1WarnDisconnect(args map[string]interface{}, reply *string) (err error) { +func (*KamailioAgent) V1WarnDisconnect(args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } // CallBiRPC is part of utils.BiRPCServer interface to help internal connections do calls over rpcclient.ClientConnector interface -func (ka *KamailioAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args interface{}, reply interface{}) error { +func (ka *KamailioAgent) CallBiRPC(clnt rpcclient.ClientConnector, serviceMethod string, args any, reply any) error { return utils.BiRPCCall(ka, clnt, serviceMethod, args, reply) } @@ -478,18 +478,18 @@ func (ka *KamailioAgent) BiRPCv1DisconnectPeer(clnt rpcclient.ClientConnector, a } // BiRPCv1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (ka *KamailioAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]interface{}, reply *string) (err error) { +func (ka *KamailioAgent) BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]any, reply *string) (err error) { return ka.V1WarnDisconnect(args, reply) } // BiRPCv1CapsError is used to return error when the caps limit is hit -func (ka *KamailioAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args interface{}, reply *string) (err error) { +func (ka *KamailioAgent) BiRPCv1CapsError(clnt rpcclient.ClientConnector, args any, reply *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } // Handlers is used to implement the rpcclient.BiRPCConector interface -func (ka *KamailioAgent) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (ka *KamailioAgent) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1DisconnectSession: func(clnt *rpc2.Client, args utils.AttrDisconnectSession, rply *string) error { return ka.BiRPCv1DisconnectSession(clnt, args, rply) }, @@ -502,10 +502,10 @@ func (ka *KamailioAgent) Handlers() map[string]interface{} { utils.SessionSv1DisconnectPeer: func(clnt *rpc2.Client, args *utils.DPRArgs, rply *string) (err error) { return ka.BiRPCv1DisconnectPeer(clnt, args, rply) }, - utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]interface{}, rply *string) (err error) { + utils.SessionSv1WarnDisconnect: func(clnt *rpc2.Client, args map[string]any, rply *string) (err error) { return ka.BiRPCv1WarnDisconnect(clnt, args, rply) }, - utils.SessionSv1CapsError: func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { + utils.SessionSv1CapsError: func(clnt *rpc2.Client, args any, rply *string) (err error) { return ka.BiRPCv1CapsError(clnt, args, rply) }, } diff --git a/agents/kamevent.go b/agents/kamevent.go index 41537ea5f..4fb9c4132 100644 --- a/agents/kamevent.go +++ b/agents/kamevent.go @@ -134,8 +134,8 @@ func (kev KamEvent) MissingParameter() bool { } // AsMapStringInterface converts KamEvent into event used by other subsystems -func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (kev KamEvent) AsMapStringInterface() (mp map[string]any) { + mp = make(map[string]any) for k, v := range kev { if k == utils.Usage { v += "s" // mark the Usage as seconds @@ -455,8 +455,8 @@ func (kdr *KamDlgReply) String() string { } // GetOptions returns the posible options -func (kev KamEvent) GetOptions() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (kev KamEvent) GetOptions() (mp map[string]any) { + mp = make(map[string]any) for k := range utils.CGROptionsSet { if val, has := kev[k]; has { mp[k] = val diff --git a/agents/kamevent_test.go b/agents/kamevent_test.go index 0bfaf8082..27dbdfc48 100644 --- a/agents/kamevent_test.go +++ b/agents/kamevent_test.go @@ -90,7 +90,7 @@ func TestKamEvAsMapStringInterface(t *testing.T) { "cgr_duration": "3", "cgr_pdd": "4", utils.CGRRoute: "supplier2", utils.CGRDisconnectCause: "200"} - expMp := make(map[string]interface{}) + expMp := make(map[string]any) expMp["cgr_account"] = "1001" expMp["cgr_duration"] = "3" expMp["cgr_pdd"] = "4" @@ -298,7 +298,7 @@ func TestKamEvAsKamAuthReply(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestKamEvAsKamAuthReply", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1001", "Password": "check123", @@ -485,7 +485,7 @@ func TestKamEvAsKamProcessEventReply(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestKamEvAsKamAuthReply", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1001", "Password": "check123", diff --git a/agents/libdiam.go b/agents/libdiam.go index 17974cde4..1b8f178ef 100644 --- a/agents/libdiam.go +++ b/agents/libdiam.go @@ -69,7 +69,7 @@ func loadDictionaries(dictsDir, componentID string) error { } // diamAVPValue will extract the go primary value out of diameter type value -func diamAVPAsIface(dAVP *diam.AVP) (val interface{}, err error) { +func diamAVPAsIface(dAVP *diam.AVP) (val any, err error) { if dAVP == nil { return nil, errors.New("nil AVP") } @@ -112,7 +112,7 @@ func diamAVPAsIface(dAVP *diam.AVP) (val interface{}, err error) { } func diamAVPAsString(dAVP *diam.AVP) (s string, err error) { - var iface interface{} + var iface any if iface, err = diamAVPAsIface(dAVP); err != nil { return } @@ -310,7 +310,7 @@ func (dP *diameterDP) String() string { // FieldAsString is part of utils.DataProvider interface func (dP *diameterDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = dP.FieldAsInterface(fldPath) if err != nil { return @@ -319,7 +319,7 @@ func (dP *diameterDP) FieldAsString(fldPath []string) (data string, err error) { } // FieldAsInterface is part of utils.DataProvider interface -func (dP *diameterDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (dP *diameterDP) FieldAsInterface(fldPath []string) (data any, err error) { if data, err = dP.cache.FieldAsInterface(fldPath); err != nil { if err != utils.ErrNotFound { // item found in cache return nil, err diff --git a/agents/libdiam_test.go b/agents/libdiam_test.go index 0a8442091..650b4ab1e 100644 --- a/agents/libdiam_test.go +++ b/agents/libdiam_test.go @@ -71,19 +71,19 @@ func TestDPFieldAsInterface(t *testing.T) { }}) dP := newDADataProvider(nil, m) - eOut := interface{}("simuhuawei;1449573472;00002") + eOut := any("simuhuawei;1449573472;00002") if out, err := dP.FieldAsInterface([]string{"Session-Id"}); err != nil { t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}(int64(10000)) + eOut = any(int64(10000)) if out, err := dP.FieldAsInterface([]string{"Requested-Service-Unit", "CC-Money", "Unit-Value", "Value-Digits"}); err != nil { t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}("208708000003") // with filter on second group item + eOut = any("208708000003") // with filter on second group item if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data[1]"}); err != nil { // on index t.Error(err) @@ -96,14 +96,14 @@ func TestDPFieldAsInterface(t *testing.T) { } else if out != eOut { // can be any result since both entries are matching single filter t.Errorf("expecting: %v, received: %v", eOut, out) } - eOut = interface{}("208708000004") + eOut = any("208708000004") if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data[~Subscription-Id-Type(2)|~Value-Digits(20000)]"}); err != nil { // on multiple filter t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}("33708000003") + eOut = any("33708000003") if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data"}); err != nil { t.Error(err) } else if eOut != out { @@ -743,7 +743,7 @@ func TestUpdateDiamMsgFromNavMap4(t *testing.T) { func TestDiamAVPAsIface(t *testing.T) { args := diam.NewAVP(435, avp.Mbit, 0, datatype.Address("127.0.0.1")) - var exp interface{} = net.IP([]byte("127.0.0.1")) + var exp any = net.IP([]byte("127.0.0.1")) if rply, err := diamAVPAsIface(args); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -1103,7 +1103,7 @@ func TestDiamAvpGroupIface(t *testing.T) { diam.NewAVP(432, avp.Mbit, 0, datatype.Unsigned32(99)), }}) dP := newDADataProvider(nil, avps) - eOut := interface{}(uint32(1)) + eOut := any(uint32(1)) if out, err := dP.FieldAsInterface([]string{"Multiple-Services-Credit-Control", "Rating-Group"}); err != nil { t.Error(err) } else if eOut != out { @@ -1116,7 +1116,7 @@ func TestDiamAvpGroupIface(t *testing.T) { t.Errorf("Expecting: %v, received: %v", eOut, out) } dP.(*diameterDP).cache = utils.MapStorage{} - eOut = interface{}(uint32(99)) + eOut = any(uint32(99)) if out, err := dP.FieldAsInterface([]string{"Multiple-Services-Credit-Control", "Rating-Group[1]"}); err != nil { t.Error(err) } else if eOut != out { diff --git a/agents/libdns.go b/agents/libdns.go index d45db3f0f..c182793bd 100644 --- a/agents/libdns.go +++ b/agents/libdns.go @@ -67,7 +67,7 @@ type dnsDP struct { } func (dp dnsDP) String() string { return dp.req.String() } -func (dp dnsDP) FieldAsInterface(fldPath []string) (o interface{}, e error) { +func (dp dnsDP) FieldAsInterface(fldPath []string) (o any, e error) { if len(fldPath) != 0 && strings.HasPrefix(fldPath[0], utils.DNSOption) { return dp.opts.FieldAsInterface(fldPath) } @@ -186,7 +186,7 @@ func updateDNSMsgFromNM(msg *dns.Msg, nm *utils.OrderedNavigableMap, qType uint1 } // updateDnsQuestion -func updateDnsQuestions(q []dns.Question, path []string, value interface{}, newBranch bool) (_ []dns.Question, err error) { +func updateDnsQuestions(q []dns.Question, path []string, value any, newBranch bool) (_ []dns.Question, err error) { var idx int var field string switch len(path) { @@ -234,7 +234,7 @@ func updateDnsQuestions(q []dns.Question, path []string, value interface{}, newB return q, nil } -func updateDnsOption(q []dns.EDNS0, path []string, value interface{}, newBranch bool) (_ []dns.EDNS0, err error) { +func updateDnsOption(q []dns.EDNS0, path []string, value any, newBranch bool) (_ []dns.EDNS0, err error) { var idx int var field string switch len(path) { @@ -447,7 +447,7 @@ func updateDnsOption(q []dns.EDNS0, path []string, value interface{}, newBranch return q, err } -func createDnsOption(field string, value interface{}) (o dns.EDNS0, err error) { +func createDnsOption(field string, value any) (o dns.EDNS0, err error) { switch field { case utils.DNSNsid: // EDNS0_NSID o = &dns.EDNS0_NSID{Nsid: utils.IfaceAsString(value)} @@ -557,7 +557,7 @@ func createDnsOption(field string, value interface{}) (o dns.EDNS0, err error) { return } -func updateDnsAnswer(q []dns.RR, qType uint16, qName string, path []string, value interface{}, newBranch bool) (_ []dns.RR, err error) { +func updateDnsAnswer(q []dns.RR, qType uint16, qName string, path []string, value any, newBranch bool) (_ []dns.RR, err error) { var idx int if lPath := len(path); lPath == 0 { err = utils.ErrWrongPath @@ -638,7 +638,7 @@ func newDNSAnswer(qType uint16, qName string) (a dns.RR, err error) { return } -func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value interface{}) (err error) { +func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value any) (err error) { if len(path) < 1 || (path[0] != utils.DNSHdr && len(path) != 1) || (path[0] == utils.DNSHdr && len(path) != 2) { @@ -673,7 +673,7 @@ func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value interface{}) (err e return } -func updateDnsRRHeader(v *dns.RR_Header, path []string, value interface{}) (err error) { +func updateDnsRRHeader(v *dns.RR_Header, path []string, value any) (err error) { if len(path) != 1 { return utils.ErrWrongPath } diff --git a/agents/libhttpagent.go b/agents/libhttpagent.go index 69b40a321..3787bf263 100644 --- a/agents/libhttpagent.go +++ b/agents/libhttpagent.go @@ -65,7 +65,7 @@ func (hU *httpUrlDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -84,7 +84,7 @@ func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data interface{}, err e // FieldAsString is part of utils.DataProvider interface func (hU *httpUrlDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = hU.FieldAsInterface(fldPath) if err != nil { return @@ -121,7 +121,7 @@ func (hU *httpXmlDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data any, err error) { //if path is missing return here error because if it arrived in xmlquery library will panic if len(fldPath) == 0 { return nil, fmt.Errorf("Empty path") @@ -165,7 +165,7 @@ func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data interface{}, err e // FieldAsString is part of utils.DataProvider interface func (hU *httpXmlDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = hU.FieldAsInterface(fldPath) if err != nil { return diff --git a/agents/librad.go b/agents/librad.go index e05aacc0f..90b04ab67 100644 --- a/agents/librad.go +++ b/agents/librad.go @@ -71,7 +71,7 @@ func (pk *radiusDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (pk *radiusDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (pk *radiusDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -92,7 +92,7 @@ func (pk *radiusDP) FieldAsInterface(fldPath []string) (data interface{}, err er // FieldAsString is part of utils.DataProvider interface func (pk *radiusDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = pk.FieldAsInterface(fldPath) if err != nil { return diff --git a/agents/sipagent.go b/agents/sipagent.go index 29def5824..d83dee200 100644 --- a/agents/sipagent.go +++ b/agents/sipagent.go @@ -297,7 +297,7 @@ func (sa *SIPAgent) handleMessage(sipMessage sipingo.Message, remoteHost string) if sipMessage[userAgentHeader] != "" { sipMessage[userAgentHeader] = fmt.Sprintf("%s@%s", utils.CGRateS, utils.Version) } - sipMessageIface := make(map[string]interface{}) + sipMessageIface := make(map[string]any) for k, v := range sipMessage { sipMessageIface[k] = v } diff --git a/analyzers/analyzers.go b/analyzers/analyzers.go index 784c9f79a..456173525 100644 --- a/analyzers/analyzers.go +++ b/analyzers/analyzers.go @@ -126,7 +126,7 @@ func (aS *AnalyzerService) Shutdown() error { } func (aS *AnalyzerService) logTrafic(id uint64, method string, - params, result, err interface{}, + params, result, err any, enc, from, to string, sTime, eTime time.Time) error { if strings.HasPrefix(method, utils.AnalyzerSv1) { return nil @@ -144,7 +144,7 @@ type QueryArgs struct { } // V1StringQuery returns a list of API that match the query -func (aS *AnalyzerService) V1StringQuery(args *QueryArgs, reply *[]map[string]interface{}) error { +func (aS *AnalyzerService) V1StringQuery(args *QueryArgs, reply *[]map[string]any) error { var q query.Query if args.HeaderFilters == utils.EmptyString { q = bleve.NewMatchAllQuery() @@ -157,7 +157,7 @@ func (aS *AnalyzerService) V1StringQuery(args *QueryArgs, reply *[]map[string]in if err != nil { return err } - rply := make([]map[string]interface{}, 0, searchResults.Hits.Len()) + rply := make([]map[string]any, 0, searchResults.Hits.Len()) lenContentFltrs := len(args.ContentFilters) for _, obj := range searchResults.Hits { // make sure that the result is corectly marshaled diff --git a/analyzers/analyzers_it_test.go b/analyzers/analyzers_it_test.go index a2920e8ec..64232c50c 100644 --- a/analyzers/analyzers_it_test.go +++ b/analyzers/analyzers_it_test.go @@ -135,7 +135,7 @@ func testAnalyzerSRPCConn(t *testing.T) { t.Fatal(err) } anzBiRPC = rpc2.NewClientWithCodec(jsonrpc2.NewJSONCodec(conn)) - anzBiRPC.Handle(utils.SessionSv1DisconnectPeer, func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { return utils.ErrNotFound }) + anzBiRPC.Handle(utils.SessionSv1DisconnectPeer, func(clnt *rpc2.Client, args any, rply *string) (err error) { return utils.ErrNotFound }) go anzBiRPC.Run() } @@ -154,7 +154,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_inter", utils.Destination: "999", @@ -169,13 +169,13 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "Destination": "999", "RunID": "*default", "Subject": "Something_inter", }, - APIOpts: map[string]interface{}{"*subsys": "*chargers"}, + APIOpts: map[string]any{"*subsys": "*chargers"}, }, }, { @@ -185,16 +185,16 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "Destination": "999", "RequestType": "*none", "RunID": "*raw", "Subject": "Something_inter", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*subsys": "*chargers", - utils.OptsAttributesProfileIDs: []interface{}{"*constant:*req.RequestType:*none"}, + utils.OptsAttributesProfileIDs: []any{"*constant:*req.RequestType:*none"}, }, }, }, @@ -215,7 +215,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { func testAnalyzerSV1Search(t *testing.T) { // need to wait in order for the log gorutine to execute time.Sleep(10 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*internal +RequestMethod:AttributeSv1\.ProcessEvent`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { @@ -224,7 +224,7 @@ func testAnalyzerSV1Search(t *testing.T) { } func testAnalyzerSV1Search2(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*json +RequestMethod:ChargerSv1\.ProcessEvent`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { @@ -233,7 +233,7 @@ func testAnalyzerSV1Search2(t *testing.T) { } func testAnalyzerSV1SearchWithContentFilters(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{ HeaderFilters: `+RequestEncoding:\*json`, ContentFilters: []string{"*string:~*req.Event.Account:1010"}, @@ -253,7 +253,7 @@ func testAnalyzerSV1BirPCSession(t *testing.T) { t.Fatal(err) } time.Sleep(10 * time.Second) - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*birpc_json +RequestMethod:"SessionSv1.DisconnectPeer"`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { diff --git a/analyzers/analyzers_test.go b/analyzers/analyzers_test.go index efef37170..fabe493a6 100644 --- a/analyzers/analyzers_test.go +++ b/analyzers/analyzers_test.go @@ -200,7 +200,7 @@ func TestAnalyzersV1Search(t *testing.T) { t1 := time.Now() if err = anz.logTrafic(0, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaCDRs, }, }, utils.Pong, nil, utils.MetaJSON, "127.0.0.1:5565", @@ -210,7 +210,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(1, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -222,7 +222,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(2, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -234,7 +234,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(3, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -245,7 +245,7 @@ func TestAnalyzersV1Search(t *testing.T) { } if err = anz.logTrafic(3, utils.CoreSv1Status, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaEEs, }, }, utils.Pong, nil, @@ -254,20 +254,20 @@ func TestAnalyzersV1Search(t *testing.T) { t1.Add(-11*time.Hour), t1.Add(-10*time.Hour-30*time.Minute)); err != nil { t.Fatal(err) } - reply := []map[string]interface{}{} + reply := []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{HeaderFilters: `"` + utils.CoreSv1Ping + `"`}, &reply); err != nil { t.Fatal(err) } else if len(reply) != 4 { t.Errorf("Expected 4 hits received: %v", len(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{HeaderFilters: "RequestMethod:" + `"` + utils.CoreSv1Ping + `"`}, &reply); err != nil { t.Fatal(err) } else if len(reply) != 4 { t.Errorf("Expected 4 hits received: %v", len(reply)) } - expRply := []map[string]interface{}{{ + expRply := []map[string]any{{ "RequestDestination": "127.0.0.1:2013", "RequestDuration": "1h0m0s", "RequestEncoding": "*gob", @@ -279,27 +279,27 @@ func TestAnalyzersV1Search(t *testing.T) { "RequestStartTime": t1.Add(-24 * time.Hour).UTC().Format(time.RFC3339), "ReplyError": nil, }} - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{HeaderFilters: utils.RequestDuration + ":>=" + strconv.FormatInt(int64(time.Hour), 10)}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{HeaderFilters: utils.RequestStartTime + ":<=\"" + t1.Add(-23*time.Hour).UTC().Format(time.RFC3339) + "\""}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{HeaderFilters: "RequestEncoding:*gob"}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*rep:Pong"}, @@ -308,7 +308,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*attributes"}, @@ -317,7 +317,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*gt:~*hdr.RequestDuration:1m"}, @@ -326,7 +326,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*attributes"}, @@ -335,7 +335,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - expRply = []map[string]interface{}{{ + expRply = []map[string]any{{ "RequestDestination": "127.0.0.1:2013", "RequestDuration": "30m0s", "RequestEncoding": "*birpc_json", @@ -347,7 +347,7 @@ func TestAnalyzersV1Search(t *testing.T) { "RequestStartTime": t1.Add(-11 * time.Hour).UTC().Format(time.RFC3339), "ReplyError": nil, }} - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*ees"}, }, &reply); err != nil { @@ -356,8 +356,8 @@ func TestAnalyzersV1Search(t *testing.T) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - expRply = []map[string]interface{}{} - reply = []map[string]interface{}{} + expRply = []map[string]any{} + reply = []map[string]any{} if err = anz.V1StringQuery(&QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*cdrs"}, diff --git a/analyzers/codec.go b/analyzers/codec.go index aa50914ef..b9caf1f7d 100644 --- a/analyzers/codec.go +++ b/analyzers/codec.go @@ -63,7 +63,7 @@ func (c *AnalyzerServerCodec) ReadRequestHeader(r *rpc.Request) (err error) { return } -func (c *AnalyzerServerCodec) ReadRequestBody(x interface{}) (err error) { +func (c *AnalyzerServerCodec) ReadRequestBody(x any) (err error) { err = c.sc.ReadRequestBody(x) c.reqsLk.Lock() c.reqs[c.reqIdx].Params = x @@ -71,7 +71,7 @@ func (c *AnalyzerServerCodec) ReadRequestBody(x interface{}) (err error) { return } -func (c *AnalyzerServerCodec) WriteResponse(r *rpc.Response, x interface{}) error { +func (c *AnalyzerServerCodec) WriteResponse(r *rpc.Response, x any) error { c.reqsLk.Lock() api := c.reqs[r.Seq] delete(c.reqs, r.Seq) @@ -134,7 +134,7 @@ func (c *AnalyzerBiRPCCodec) ReadHeader(req *rpc2.Request, resp *rpc2.Response) } // ReadRequestBody into args argument of handler function. -func (c *AnalyzerBiRPCCodec) ReadRequestBody(x interface{}) (err error) { +func (c *AnalyzerBiRPCCodec) ReadRequestBody(x any) (err error) { err = c.sc.ReadRequestBody(x) c.reqsLk.Lock() c.reqs[c.reqIdx].Params = x @@ -143,7 +143,7 @@ func (c *AnalyzerBiRPCCodec) ReadRequestBody(x interface{}) (err error) { } // ReadResponseBody into reply argument of handler function. -func (c *AnalyzerBiRPCCodec) ReadResponseBody(x interface{}) (err error) { +func (c *AnalyzerBiRPCCodec) ReadResponseBody(x any) (err error) { err = c.sc.ReadResponseBody(x) c.repsLk.Lock() api := c.reps[c.repIdx] @@ -154,7 +154,7 @@ func (c *AnalyzerBiRPCCodec) ReadResponseBody(x interface{}) (err error) { } // WriteRequest must be safe for concurrent use by multiple goroutines. -func (c *AnalyzerBiRPCCodec) WriteRequest(req *rpc2.Request, x interface{}) error { +func (c *AnalyzerBiRPCCodec) WriteRequest(req *rpc2.Request, x any) error { c.repsLk.Lock() c.repIdx = req.Seq c.reps[c.repIdx] = &rpcAPI{ @@ -167,7 +167,7 @@ func (c *AnalyzerBiRPCCodec) WriteRequest(req *rpc2.Request, x interface{}) erro } // WriteResponse must be safe for concurrent use by multiple goroutines. -func (c *AnalyzerBiRPCCodec) WriteResponse(r *rpc2.Response, x interface{}) error { +func (c *AnalyzerBiRPCCodec) WriteResponse(r *rpc2.Response, x any) error { c.reqsLk.Lock() api := c.reqs[r.Seq] delete(c.reqs, r.Seq) diff --git a/analyzers/codec_test.go b/analyzers/codec_test.go index 3ce4c078e..478b2aa81 100644 --- a/analyzers/codec_test.go +++ b/analyzers/codec_test.go @@ -40,10 +40,10 @@ func (c *mockServerCodec) ReadRequestHeader(r *rpc.Request) (err error) { return } -func (c *mockServerCodec) ReadRequestBody(x interface{}) (err error) { +func (c *mockServerCodec) ReadRequestBody(x any) (err error) { return } -func (c *mockServerCodec) WriteResponse(r *rpc.Response, x interface{}) error { +func (c *mockServerCodec) WriteResponse(r *rpc.Response, x any) error { return nil } func (c *mockServerCodec) Close() error { return nil } @@ -107,11 +107,11 @@ func (mockBiRPCCodec) ReadHeader(r *rpc2.Request, _ *rpc2.Response) error { r.Method = utils.CoreSv1Ping return nil } -func (mockBiRPCCodec) ReadRequestBody(interface{}) error { return nil } -func (mockBiRPCCodec) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec) WriteRequest(*rpc2.Request, interface{}) error { return nil } -func (mockBiRPCCodec) WriteResponse(*rpc2.Response, interface{}) error { return nil } -func (mockBiRPCCodec) Close() error { return nil } +func (mockBiRPCCodec) ReadRequestBody(any) error { return nil } +func (mockBiRPCCodec) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec) WriteRequest(*rpc2.Request, any) error { return nil } +func (mockBiRPCCodec) WriteResponse(*rpc2.Response, any) error { return nil } +func (mockBiRPCCodec) Close() error { return nil } func TestNewBiRPCCodec(t *testing.T) { cfg := config.NewDefaultCGRConfig() @@ -171,11 +171,11 @@ func (mockBiRPCCodec2) ReadHeader(_ *rpc2.Request, r *rpc2.Response) error { r.Error = "error" return nil } -func (mockBiRPCCodec2) ReadRequestBody(interface{}) error { return nil } -func (mockBiRPCCodec2) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec2) WriteRequest(*rpc2.Request, interface{}) error { return nil } -func (mockBiRPCCodec2) WriteResponse(*rpc2.Response, interface{}) error { return nil } -func (mockBiRPCCodec2) Close() error { return nil } +func (mockBiRPCCodec2) ReadRequestBody(any) error { return nil } +func (mockBiRPCCodec2) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec2) WriteRequest(*rpc2.Request, any) error { return nil } +func (mockBiRPCCodec2) WriteResponse(*rpc2.Response, any) error { return nil } +func (mockBiRPCCodec2) Close() error { return nil } func TestNewBiRPCCodec2(t *testing.T) { cfg := config.NewDefaultCGRConfig() diff --git a/analyzers/connector.go b/analyzers/connector.go index a045cad28..585749b7f 100644 --- a/analyzers/connector.go +++ b/analyzers/connector.go @@ -43,7 +43,7 @@ type AnalyzerConnector struct { to string } -func (c *AnalyzerConnector) Call(serviceMethod string, args, reply interface{}) (err error) { +func (c *AnalyzerConnector) Call(serviceMethod string, args, reply any) (err error) { sTime := time.Now() err = c.conn.Call(serviceMethod, args, reply) go c.aS.logTrafic(0, serviceMethod, args, reply, err, c.enc, c.from, c.to, sTime, time.Now()) @@ -69,20 +69,20 @@ type AnalyzerBiRPCConnector struct { to string } -func (c *AnalyzerBiRPCConnector) Call(serviceMethod string, args, reply interface{}) (err error) { +func (c *AnalyzerBiRPCConnector) Call(serviceMethod string, args, reply any) (err error) { sTime := time.Now() err = c.conn.Call(serviceMethod, args, reply) go c.aS.logTrafic(0, serviceMethod, args, reply, err, c.enc, c.from, c.to, sTime, time.Now()) return } -func (c *AnalyzerBiRPCConnector) CallBiRPC(cl rpcclient.ClientConnector, serviceMethod string, args, reply interface{}) (err error) { +func (c *AnalyzerBiRPCConnector) CallBiRPC(cl rpcclient.ClientConnector, serviceMethod string, args, reply any) (err error) { sTime := time.Now() err = c.conn.CallBiRPC(cl, serviceMethod, args, reply) go c.aS.logTrafic(0, serviceMethod, args, reply, err, c.enc, c.from, c.to, sTime, time.Now()) return } -func (c *AnalyzerBiRPCConnector) Handlers() map[string]interface{} { +func (c *AnalyzerBiRPCConnector) Handlers() map[string]any { return c.conn.Handlers() } diff --git a/analyzers/connector_test.go b/analyzers/connector_test.go index be90c1811..6d65dd5db 100644 --- a/analyzers/connector_test.go +++ b/analyzers/connector_test.go @@ -33,7 +33,7 @@ import ( type mockConnector struct{} -func (c *mockConnector) Call(_ string, _, _ interface{}) (err error) { +func (c *mockConnector) Call(_ string, _, _ any) (err error) { return errors.New("error") } func TestNewAnalyzeConnector(t *testing.T) { @@ -66,10 +66,10 @@ func TestNewAnalyzeConnector(t *testing.T) { } } -func (c *mockConnector) CallBiRPC(cl rpcclient.ClientConnector, serviceMethod string, args, reply interface{}) (err error) { +func (c *mockConnector) CallBiRPC(cl rpcclient.ClientConnector, serviceMethod string, args, reply any) (err error) { return c.Call(serviceMethod, args, reply) } -func (c *mockConnector) Handlers() map[string]interface{} { return make(map[string]interface{}) } +func (c *mockConnector) Handlers() map[string]any { return make(map[string]any) } func TestNewAnalyzeBiRPCConnector1(t *testing.T) { cfg := config.NewDefaultCGRConfig() @@ -129,7 +129,7 @@ func TestNewAnalyzeBiRPCConnector2(t *testing.T) { t.Fatal(err) } - exp := make(map[string]interface{}) + exp := make(map[string]any) if rply := rpc.Handlers(); !reflect.DeepEqual(rply, exp) { t.Errorf("Expected: %v ,received:%v", exp, rply) } diff --git a/analyzers/libanalyzers.go b/analyzers/libanalyzers.go index d99246ad9..49403f151 100644 --- a/analyzers/libanalyzers.go +++ b/analyzers/libanalyzers.go @@ -33,9 +33,9 @@ import ( // NewInfoRPC returns a structure to be indexed func NewInfoRPC(id uint64, method string, - params, result, err interface{}, + params, result, err any, enc, from, to string, sTime, eTime time.Time) *InfoRPC { - var e interface{} + var e any switch val := err.(type) { default: case nil: @@ -73,16 +73,16 @@ type InfoRPC struct { RequestID uint64 RequestMethod string - RequestParams interface{} - Reply interface{} - ReplyError interface{} + RequestParams any + Reply any + ReplyError any } type rpcAPI struct { - ID uint64 `json:"id"` - Method string `json:"method"` - Params interface{} `json:"params"` - Error string `json:"err,omitempty"` + ID uint64 `json:"id"` + Method string `json:"method"` + Params any `json:"params"` + Error string `json:"err,omitempty"` StartTime time.Time } @@ -101,9 +101,9 @@ func getIndex(indx string) (indxType, storeType string) { return } -// unmarshalJSON will transform the message in a map[string]interface{} of []interface{} +// unmarshalJSON will transform the message in a map[string]any of []any // depending of the first character -func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { +func unmarshalJSON(jsn json.RawMessage) (any, error) { switch { case string(jsn) == "null" || len(jsn) == 0: // nil or empty response @@ -118,11 +118,11 @@ func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { case jsn[0] >= '0' && jsn[0] <= '9': // float64 return strconv.ParseFloat(string(jsn), 64) case jsn[0] == '[': // slice - var val []interface{} + var val []any err := json.Unmarshal(jsn, &val) return val, err case jsn[0] == '{': // map - var val map[string]interface{} + var val map[string]any err := json.Unmarshal(jsn, &val) return val, err default: @@ -131,7 +131,7 @@ func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { } // getDPFromSearchresult will unmarshal the request and reply and populate a DataProvider -// if the req is a map[string]interface{} we will try to put in *opts prefix the Opts field from req +// if the req is a map[string]any we will try to put in *opts prefix the Opts field from req func getDPFromSearchresult(req, rep json.RawMessage, hdr utils.MapStorage) (utils.MapStorage, error) { repDP, err := unmarshalJSON(rep) if err != nil { @@ -141,8 +141,8 @@ func getDPFromSearchresult(req, rep json.RawMessage, hdr utils.MapStorage) (util if err != nil { return nil, err } - var opts interface{} - if reqMp, canCast := reqDP.(map[string]interface{}); canCast { + var opts any + if reqMp, canCast := reqDP.(map[string]any); canCast { opts = reqMp[utils.Opts] } return utils.MapStorage{ diff --git a/analyzers/libanalyzers_test.go b/analyzers/libanalyzers_test.go index d1c4f6392..eb2b34c27 100644 --- a/analyzers/libanalyzers_test.go +++ b/analyzers/libanalyzers_test.go @@ -103,7 +103,7 @@ func TestUnmarshalJSON(t *testing.T) { if _, err := unmarshalJSON(json.RawMessage(`a`)); err == nil || err.Error() != expErr.Error() { t.Errorf("Expected error: %s,received %+v", expErr, err) } - var exp interface{} = true + var exp any = true if val, err := unmarshalJSON(json.RawMessage(`true`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { @@ -131,13 +131,13 @@ func TestUnmarshalJSON(t *testing.T) { t.Errorf("Expected: %s,received %s", utils.ToJSON(exp), utils.ToJSON(val)) } - exp = []interface{}{"1", "2", "3"} + exp = []any{"1", "2", "3"} if val, err := unmarshalJSON(json.RawMessage(`["1","2","3"]`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { t.Errorf("Expected: %s,received %s", utils.ToJSON(exp), utils.ToJSON(val)) } - exp = map[string]interface{}{"1": "A", "2": "B", "3": "C"} + exp = map[string]any{"1": "A", "2": "B", "3": "C"} if val, err := unmarshalJSON(json.RawMessage(`{"1":"A","2":"B","3":"C"}`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { diff --git a/apier/v1/accounts.go b/apier/v1/accounts.go index b5f746d89..f8f647225 100644 --- a/apier/v1/accounts.go +++ b/apier/v1/accounts.go @@ -353,7 +353,7 @@ func (apierSv1 *APIerSv1) RemoveAccount(attr *utils.AttrRemoveAccount, reply *st return nil } -func (apierSv1 *APIerSv1) GetAccounts(attr *utils.AttrGetAccounts, reply *[]interface{}) error { +func (apierSv1 *APIerSv1) GetAccounts(attr *utils.AttrGetAccounts, reply *[]any) error { tnt := attr.Tenant if tnt == utils.EmptyString { tnt = apierSv1.Config.GeneralCfg().DefaultTenant @@ -382,7 +382,7 @@ func (apierSv1 *APIerSv1) GetAccounts(attr *utils.AttrGetAccounts, reply *[]inte } else { limitedAccounts = accountKeys[attr.Offset:] } - retAccounts := make([]interface{}, 0) + retAccounts := make([]any, 0) for _, acntKey := range limitedAccounts { if acnt, err := apierSv1.DataManager.GetAccount(acntKey[len(utils.AccountPrefix):]); err != nil && err != utils.ErrNotFound { // Not found is not an error here return err @@ -401,7 +401,7 @@ func (apierSv1 *APIerSv1) GetAccounts(attr *utils.AttrGetAccounts, reply *[]inte } // GetAccount returns the account -func (apierSv1 *APIerSv1) GetAccount(attr *utils.AttrGetAccount, reply *interface{}) error { +func (apierSv1 *APIerSv1) GetAccount(attr *utils.AttrGetAccount, reply *any) error { tnt := attr.Tenant if tnt == utils.EmptyString { tnt = apierSv1.Config.GeneralCfg().DefaultTenant @@ -421,8 +421,8 @@ type AttrAddBalance struct { Account string BalanceType string Value float64 - Balance map[string]interface{} - ActionExtraData *map[string]interface{} + Balance map[string]any + ActionExtraData *map[string]any Overwrite bool // When true it will reset if the balance is already there Cdrlog bool } diff --git a/apier/v1/accounts_it_test.go b/apier/v1/accounts_it_test.go index e8cc093c7..a24cc10f5 100644 --- a/apier/v1/accounts_it_test.go +++ b/apier/v1/accounts_it_test.go @@ -196,7 +196,7 @@ func testAccITAddVoiceBalance(t *testing.T) { Account: accAcount, BalanceType: utils.MetaVoice, Value: 2 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: accBallID, utils.RatingSubject: "*zero5ms", utils.ExpiryTime: time.Now().Add(5 * time.Second).Format("2006-01-02 15:04:05"), @@ -241,7 +241,7 @@ func testAccITSetBalanceTimingIds(t *testing.T) { Tenant: accTenant, Account: accAcount, BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testBalanceID", utils.TimingIDs: "Timing", }, @@ -391,7 +391,7 @@ func testAccITsetBalanceWithUUid(t *testing.T) { Account: "test", BalanceType: "*sms", Value: 1, - Balance: map[string]interface{}{"UUID": "37b54e1a-e1e6-4df6-a9a5-d97b4552f2f6"}, + Balance: map[string]any{"UUID": "37b54e1a-e1e6-4df6-a9a5-d97b4552f2f6"}, } if err := accRPC.Call(utils.APIerSv1SetBalance, attrs, &reply); err == nil || err.Error() != "PARTIALLY_EXECUTED" { t.Error("Got error on APIerSv1.SetBalance: ", err.Error()) @@ -402,7 +402,7 @@ func testAccITsetBalanceWithUUid(t *testing.T) { Account: "test", BalanceType: "*sms", Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Weight: 20, utils.ID: "balance1", }, @@ -429,7 +429,7 @@ func testAccITsetBalanceWithUUid(t *testing.T) { Account: "test", BalanceType: "*sms", Value: 4, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.UUID: balUuid, }, } @@ -449,7 +449,7 @@ func testAccITSetBalance(t *testing.T) { Account: "testAccSetBalance", BalanceType: "*monetary", Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", }, Cdrlog: true, @@ -476,7 +476,7 @@ func testAccITSetBalanceWithoutTenant(t *testing.T) { Account: "testrandomAccoutSetBalance", BalanceType: "*monetary", Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", }, Cdrlog: true, @@ -499,7 +499,7 @@ func testAccITSetBalanceWithoutTenant(t *testing.T) { } func testAccITSetBalanceWithExtraData(t *testing.T) { - extraDataMap := map[string]interface{}{ + extraDataMap := map[string]any{ "ExtraField": "ExtraValue", "ExtraField2": "RandomValue", } @@ -509,7 +509,7 @@ func testAccITSetBalanceWithExtraData(t *testing.T) { Account: "testAccITSetBalanceWithExtraData", BalanceType: utils.MetaMonetary, Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccITSetBalanceWithExtraData", }, Cdrlog: true, @@ -534,7 +534,7 @@ func testAccITSetBalanceWithExtraData(t *testing.T) { } func testAccITSetBalanceWithExtraData2(t *testing.T) { - extraDataMap := map[string]interface{}{ + extraDataMap := map[string]any{ "ExtraField": "ExtraValue", "ActionVal": "~*act.ActionValue", } @@ -544,7 +544,7 @@ func testAccITSetBalanceWithExtraData2(t *testing.T) { Account: "testAccITSetBalanceWithExtraData2", BalanceType: utils.MetaMonetary, Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccITSetBalanceWithExtraData2", }, Cdrlog: true, @@ -755,7 +755,7 @@ func testAccITSetBalanceWithVaslue0(t *testing.T) { Tenant: "cgrates.org", Account: "testAccSetBalance", BalanceType: "*monetary", - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", utils.Weight: 10, }, @@ -795,7 +795,7 @@ func testAccITSetBalanceWithVaslueInMap(t *testing.T) { Tenant: "cgrates.org", Account: "testAccSetBalance", BalanceType: "*monetary", - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", utils.Weight: 10, utils.Value: 2, @@ -869,7 +869,7 @@ func testAccITAddBalanceWithValueInMap(t *testing.T) { Tenant: "cgrates.org", Account: "testAccAddBalance", BalanceType: utils.MetaMonetary, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Value: 1.5, }, } @@ -917,7 +917,7 @@ func testAccITAddBalanceWithDestinations(t *testing.T) { Tenant: "cgrates.org", Account: "testAccITAddBalanceWithDestinations", BalanceType: utils.MetaMonetary, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccITAddBalanceWithDestinations", utils.DestinationIDs: "DST_1002;!DST_1001;!DST_1003", utils.Weight: 10, @@ -1005,7 +1005,7 @@ func testAccITAccountWithTriggers(t *testing.T) { Tenant: "cgrates.org", Account: "testAccITAccountWithTriggers", BalanceType: utils.MetaMonetary, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccITAccountWithTriggers", utils.Weight: 10, utils.Value: 5, @@ -1223,7 +1223,7 @@ func testAccITMultipleBalance(t *testing.T) { { BalanceType: utils.MetaVoice, Value: 2 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "Balance1", utils.RatingSubject: "*zero5ms", }, @@ -1231,7 +1231,7 @@ func testAccITMultipleBalance(t *testing.T) { { BalanceType: utils.MetaVoice, Value: 10 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "Balance2", utils.RatingSubject: "*zero5ms", }, @@ -1239,7 +1239,7 @@ func testAccITMultipleBalance(t *testing.T) { { BalanceType: utils.MetaMonetary, Value: 10, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "MonBalance", }, }, @@ -1278,7 +1278,7 @@ func testAccITMultipleBalanceWithoutTenant(t *testing.T) { { BalanceType: utils.MetaVoice, Value: 2 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "Balance1", utils.RatingSubject: "*zero5ms", }, @@ -1286,7 +1286,7 @@ func testAccITMultipleBalanceWithoutTenant(t *testing.T) { { BalanceType: utils.MetaVoice, Value: 10 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "Balance2", utils.RatingSubject: "*zero5ms", }, @@ -1294,7 +1294,7 @@ func testAccITMultipleBalanceWithoutTenant(t *testing.T) { { BalanceType: utils.MetaMonetary, Value: 10, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "MonBalance", }, }, @@ -1352,7 +1352,7 @@ func testAccITAddVoiceBalanceWithDestinations(t *testing.T) { Tenant: "cgrates.com", Account: "testAccITAddVoiceBalanceWithDestinations", BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccITAddVoiceBalanceWithDestinations", utils.DestinationIDs: "DST_1002", utils.RatingSubject: "RP_1001", @@ -1424,7 +1424,7 @@ func testAccITSetBalanceWithTimeSuffix(t *testing.T) { Tenant: "cgrates.org", Account: "testAccSetBalanceTimeSuffix", BalanceType: "*voice", - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalanceTimeSuffix", utils.Weight: 10, utils.Value: "120ms", diff --git a/apier/v1/accounts_test.go b/apier/v1/accounts_test.go index 85b2c8712..42ac5c3ae 100644 --- a/apier/v1/accounts_test.go +++ b/apier/v1/accounts_test.go @@ -75,7 +75,7 @@ func TestGetAccountIds(t *testing.T) { */ func TestGetAccounts(t *testing.T) { - var accounts []interface{} + var accounts []any var attrs utils.AttrGetAccounts if err := apierAcnts.GetAccounts(&utils.AttrGetAccounts{Tenant: "cgrates.org"}, &accounts); err != nil { t.Error("Unexpected error", err.Error()) diff --git a/apier/v1/analyzer.go b/apier/v1/analyzer.go index f7c09d6c1..13da468fb 100644 --- a/apier/v1/analyzer.go +++ b/apier/v1/analyzer.go @@ -35,7 +35,7 @@ type AnalyzerSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (aSv1 *AnalyzerSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(aSv1, serviceMethod, args, reply) } @@ -46,6 +46,6 @@ func (aSv1 *AnalyzerSv1) Ping(ign *utils.CGREvent, reply *string) error { } // StringQuery returns a list of API that match the query -func (aSv1 *AnalyzerSv1) StringQuery(search *analyzers.QueryArgs, reply *[]map[string]interface{}) error { +func (aSv1 *AnalyzerSv1) StringQuery(search *analyzers.QueryArgs, reply *[]map[string]any) error { return aSv1.aS.V1StringQuery(search, reply) } diff --git a/apier/v1/api_interfaces.go b/apier/v1/api_interfaces.go index 9fee694af..80481603c 100644 --- a/apier/v1/api_interfaces.go +++ b/apier/v1/api_interfaces.go @@ -109,8 +109,8 @@ type ResponderInterface interface { RefundIncrements(arg *engine.CallDescriptorWithAPIOpts, reply *engine.Account) (err error) RefundRounding(arg *engine.CallDescriptorWithAPIOpts, reply *engine.Account) (err error) GetMaxSessionTime(arg *engine.CallDescriptorWithAPIOpts, reply *time.Duration) (err error) - GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]interface{}) (err error) - GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]interface{}) (err error) + GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]any) (err error) + GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]any) (err error) Shutdown(arg *utils.TenantWithAPIOpts, reply *string) (err error) Ping(ign *utils.CGREvent, reply *string) error } @@ -171,7 +171,7 @@ type RALsV1Interface interface { } type ConfigSv1Interface interface { - GetConfig(section *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) + GetConfig(section *config.SectionWithAPIOpts, reply *map[string]any) (err error) ReloadConfig(section *config.ReloadArgs, reply *string) (err error) SetConfig(args *config.SetConfigArgs, reply *string) (err error) SetConfigFromJSON(args *config.SetConfigFromJSONArgs, reply *string) (err error) @@ -179,7 +179,7 @@ type ConfigSv1Interface interface { } type CoreSv1Interface interface { - Status(arg *utils.TenantWithAPIOpts, reply *map[string]interface{}) error + Status(arg *utils.TenantWithAPIOpts, reply *map[string]any) error Ping(ign *utils.CGREvent, reply *string) error Sleep(arg *utils.DurationArgs, reply *string) error } diff --git a/apier/v1/apier.go b/apier/v1/apier.go index d197fea55..81888491a 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -57,7 +57,7 @@ type APIerSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (apierSv1 *APIerSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(apierSv1, serviceMethod, args, reply) } @@ -333,7 +333,7 @@ func (apierSv1 *APIerSv1) LoadRatingProfile(attrs *utils.TPRatingProfile, reply if err := apierSv1.DataManager.SetLoadIDs(map[string]int64{utils.CacheRatingProfiles: time.Now().UnixNano()}); err != nil { return utils.APIErrorHandler(err) } - if err = dbReader.ReloadCache(config.CgrConfig().GeneralCfg().DefaultCaching, true, make(map[string]interface{}), attrs.Tenant); err != nil { + if err = dbReader.ReloadCache(config.CgrConfig().GeneralCfg().DefaultCaching, true, make(map[string]any), attrs.Tenant); err != nil { return utils.NewErrServerError(err) } *reply = utils.OK @@ -368,7 +368,7 @@ type AttrLoadTpFromStorDb struct { TPid string DryRun bool // Only simulate, no write Validate bool // Run structural checks - APIOpts map[string]interface{} + APIOpts map[string]any Caching *string // Caching strategy } @@ -1232,7 +1232,7 @@ type AttrRemoveRatingProfile struct { Tenant string Category string Subject string - APIOpts map[string]interface{} + APIOpts map[string]any } func (arrp *AttrRemoveRatingProfile) GetId() (result string) { @@ -1893,7 +1893,7 @@ func (apierSv1 *APIerSv1) ExportToFolder(arg *utils.ArgExportToFolder, reply *st return nil } -func (apierSv1 *APIerSv1) ExportCDRs(args *utils.ArgExportCDRs, reply *map[string]interface{}) (err error) { +func (apierSv1 *APIerSv1) ExportCDRs(args *utils.ArgExportCDRs, reply *map[string]any) (err error) { if len(apierSv1.Config.ApierCfg().EEsConns) == 0 { return utils.NewErrNotConnected(utils.EEs) } @@ -1908,7 +1908,7 @@ func (apierSv1 *APIerSv1) ExportCDRs(args *utils.ArgExportCDRs, reply *map[strin return utils.ErrNotFound } withErros := false - var rplyCdr map[string]map[string]interface{} + var rplyCdr map[string]map[string]any for _, cdr := range cdrs { argCdr := &engine.CGREventWithEeIDs{ EeIDs: args.ExporterIDs, diff --git a/apier/v1/apier2_it_test.go b/apier/v1/apier2_it_test.go index ffd2f4171..d95a39725 100644 --- a/apier/v1/apier2_it_test.go +++ b/apier/v1/apier2_it_test.go @@ -157,10 +157,10 @@ func testAPIerVerifyAttributesAfterLoad(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAPIerAfterDelete", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } @@ -233,10 +233,10 @@ func testAPIerVerifyAttributesAfterDelete(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAPIerAfterDelete", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } diff --git a/apier/v1/apier_it_test.go b/apier/v1/apier_it_test.go index 639b95bae..31e9fd79d 100644 --- a/apier/v1/apier_it_test.go +++ b/apier/v1/apier_it_test.go @@ -1383,7 +1383,7 @@ func testApierSetAccountActionTriggers(t *testing.T) { Account: "dan2", AttrSetActionTrigger: AttrSetActionTrigger{ UniqueID: reply[0].UniqueID, - ActionTrigger: map[string]interface{}{ + ActionTrigger: map[string]any{ utils.ActivationDate: "2016-02-05T18:00:00Z", }, }, @@ -2134,7 +2134,7 @@ func testApierReplayFldPosts(t *testing.T) { ev := &ees.ExportEvents{ Path: "http://localhost:2081", Format: utils.MetaHTTPjsonMap, - Events: []interface{}{&ees.HTTPPosterRequest{Body: bev, Header: http.Header{"Content-Type": []string{"application/json"}}}}, + Events: []any{&ees.HTTPPosterRequest{Body: bev, Header: http.Header{"Content-Type": []string{"application/json"}}}}, } fileName := "act>*http_post|63bed4ea-615e-4096-b1f4-499f64f29b28.json" @@ -2176,7 +2176,7 @@ func testApierReplayFldPosts(t *testing.T) { AMQPQueueID: utils.StringPointer("cgrates_cdrs"), }, Format: utils.MetaAMQPjsonMap, - Events: []interface{}{bev}, + Events: []any{bev}, } err = ev.WriteToFile(path.Join(*args.FailedRequestsInDir, fileName)) if err != nil { @@ -2278,7 +2278,7 @@ func testRatingProfileCachingMetaNone(t *testing.T) { FallbackSubjects: "dan2", }}, Overwrite: true, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaNone}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaNone}, } // set the profile var result string @@ -2329,7 +2329,7 @@ func testRatingProfileCachingMetaLoad(t *testing.T) { RatingPlanId: "RETAIL1", FallbackSubjects: "dan2", }}, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaLoad}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaLoad}, } // set the profile var result string @@ -2375,7 +2375,7 @@ func testRatingProfileCachingMetaLoad(t *testing.T) { Tenant: rpf.Tenant, Category: rpf.Category, Subject: rpf.Subject, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaRemove}}, &resp); err != nil { + APIOpts: map[string]any{utils.CacheOpt: utils.MetaRemove}}, &resp); err != nil { t.Error(err) } else if resp != utils.OK { t.Error("Unexpected reply returned", resp) @@ -2417,7 +2417,7 @@ func testRatingProfileCachingMetaReload1(t *testing.T) { FallbackSubjects: "dan2", }}, Overwrite: true, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaReload}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaReload}, } // set the profile var result string @@ -2469,7 +2469,7 @@ func testRatingProfileCachingMetaReload2(t *testing.T) { FallbackSubjects: "dan2", }}, Overwrite: true, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaLoad}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaLoad}, } expected := &engine.RatingProfile{ Id: "*out:cgrates.org:call:dan", @@ -2527,7 +2527,7 @@ func testRatingProfileCachingMetaRemove(t *testing.T) { RatingPlanId: "RETAIL1", FallbackSubjects: "dan2", }}, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaLoad}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaLoad}, } // set the profile var result string @@ -2569,7 +2569,7 @@ func testRatingProfileCachingMetaRemove(t *testing.T) { RatingPlanId: "RETAIL1", FallbackSubjects: "dan2", }}, - APIOpts: map[string]interface{}{utils.CacheOpt: utils.MetaRemove}, + APIOpts: map[string]any{utils.CacheOpt: utils.MetaRemove}, } // set the profile if err := rater.Call(utils.APIerSv1SetRatingProfile, rpf, &result); err != nil { diff --git a/apier/v1/attributes.go b/apier/v1/attributes.go index 31b1c0ec1..d95ce6b6e 100644 --- a/apier/v1/attributes.go +++ b/apier/v1/attributes.go @@ -159,7 +159,7 @@ type AttributeSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (alSv1 *AttributeSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(alSv1, serviceMethod, args, reply) } diff --git a/apier/v1/attributes_it_test.go b/apier/v1/attributes_it_test.go index c04af4648..94f3bf238 100644 --- a/apier/v1/attributes_it_test.go +++ b/apier/v1/attributes_it_test.go @@ -185,11 +185,11 @@ func testAttributeSGetAttributeForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -250,11 +250,11 @@ func testAttributeSGetAttributeForEventNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEventWihMetaAnyContext", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaCDRs, }, } @@ -302,11 +302,11 @@ func testAttributeSGetAttributeForEventWithMetaAnyContext(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEventWihMetaAnyContext", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaCDRs, }, } @@ -358,11 +358,11 @@ func testAttributeSProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -373,12 +373,12 @@ func testAttributeSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -416,11 +416,11 @@ func testAttributeSProcessEventNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventNotFound", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "Inexistent", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -436,12 +436,12 @@ func testAttributeSProcessEventMissing(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "NonExist", utils.Category: "*attributes", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -457,11 +457,11 @@ func testAttributeSProcessEventWithNoneSubstitute(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -503,11 +503,11 @@ func testAttributeSProcessEventWithNoneSubstitute(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -529,12 +529,12 @@ func testAttributeSProcessEventWithNoneSubstitute2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Subject: "1008", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -574,11 +574,11 @@ func testAttributeSProcessEventWithNoneSubstitute2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -590,11 +590,11 @@ func testAttributeSProcessEventWithNoneSubstitute2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -614,12 +614,12 @@ func testAttributeSProcessEventWithNoneSubstitute3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Subject: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -660,12 +660,12 @@ func testAttributeSProcessEventWithNoneSubstitute3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSWithNoneSubstitute", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -709,10 +709,10 @@ func testAttributeSProcessEventWithHeader(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., utils.OptsContext: utils.MetaSessionS, }, @@ -723,11 +723,11 @@ func testAttributeSProcessEventWithHeader(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., utils.OptsContext: utils.MetaSessionS, }, @@ -1036,10 +1036,10 @@ func testAttributeSProcessEventWithSearchAndReplace(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Category": "call", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., utils.OptsContext: utils.MetaSessionS, }, @@ -1050,10 +1050,10 @@ func testAttributeSProcessEventWithSearchAndReplace(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Category": "call_suffix", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., utils.OptsContext: utils.MetaSessionS, }, @@ -1144,10 +1144,10 @@ func testAttributeSProcessWithMultipleRuns(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -1158,12 +1158,12 @@ func testAttributeSProcessWithMultipleRuns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, }, }, @@ -1259,10 +1259,10 @@ func testAttributeSProcessWithMultipleRuns2(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -1273,13 +1273,13 @@ func testAttributeSProcessWithMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", "Field3": "Value3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, }, }, @@ -1320,7 +1320,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1338,7 +1338,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1356,7 +1356,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1374,7 +1374,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_Header", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1392,7 +1392,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_PASS", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1410,7 +1410,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "ATTR_Search_and_replace", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { @@ -1429,7 +1429,7 @@ func testAttributeSGetAttributeProfileIDsCount(t *testing.T) { Tenant: "cgrates.org", ID: "AttributeWithNonSubstitute", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { @@ -1469,7 +1469,7 @@ func testAttributeSCachingMetaNone(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -1530,7 +1530,7 @@ func testAttributeSCachingMetaLoad(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaLoad, }, } @@ -1586,7 +1586,7 @@ func testAttributeSCachingMetaLoad(t *testing.T) { var resp string if err := attrSRPC.Call(utils.APIerSv1RemoveAttributeProfile, &utils.TenantIDWithAPIOpts{TenantID: &utils.TenantID{Tenant: attrPrf1.Tenant, ID: attrPrf1.ID}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }}, &resp); err != nil { t.Error(err) @@ -1637,7 +1637,7 @@ func testAttributeSCachingMetaReload1(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -1698,7 +1698,7 @@ func testAttributeSCachingMetaReload2(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaLoad, }, } @@ -1740,7 +1740,7 @@ func testAttributeSCachingMetaReload2(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -1781,7 +1781,7 @@ func testAttributeSCachingMetaRemove(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaLoad, }, } @@ -1833,7 +1833,7 @@ func testAttributeSCachingMetaRemove(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaRemove, }, } @@ -1908,7 +1908,7 @@ func testAttributeSCacheOpts(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "Method": "SetAttributeProfile", "CustomField": "somethingCustom", }, @@ -1979,11 +1979,11 @@ func testAttributeSRmvAlsPrfWithoutTenant(t *testing.T) { func testAttributeSCacheTestProcessEventNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProfileIDs: []string{"ATTR_CACHE"}, }, @@ -1998,11 +1998,11 @@ func testAttributeSCacheTestProcessEventNotFound(t *testing.T) { func testAttributeSCacheTestProcessEventFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProfileIDs: []string{"ATTR_CACHE"}, }, @@ -2029,7 +2029,7 @@ func testAttributeSCacheTestSetProfile(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/cache_replication_it_test.go b/apier/v1/cache_replication_it_test.go index 780c637c7..397c025f5 100644 --- a/apier/v1/cache_replication_it_test.go +++ b/apier/v1/cache_replication_it_test.go @@ -127,10 +127,10 @@ func testCacheSReplicateProcessAttributes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testCacheSReplicateProcessAttributes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -140,11 +140,11 @@ func testCacheSReplicateProcessAttributes(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testCacheSReplicateProcessAttributes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "OfficeGroup": "Marketing", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, diff --git a/apier/v1/caches.go b/apier/v1/caches.go index afda429fb..1202e98b8 100644 --- a/apier/v1/caches.go +++ b/apier/v1/caches.go @@ -49,13 +49,13 @@ func (chSv1 *CacheSv1) HasItem(args *utils.ArgsGetCacheItemWithAPIOpts, // GetItem returns an Item from the cache func (chSv1 *CacheSv1) GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return chSv1.cacheS.V1GetItem(args, reply) } // GetItemWithRemote returns an Item from local or remote cache func (chSv1 *CacheSv1) GetItemWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return chSv1.cacheS.V1GetItemWithRemote(args, reply) } @@ -140,6 +140,6 @@ func (chSv1 *CacheSv1) ReplicateRemove(args *utils.ArgCacheReplicateRemove, repl // Call implements rpcclient.ClientConnector interface for internal RPC func (chSv1 *CacheSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(chSv1, serviceMethod, args, reply) } diff --git a/apier/v1/caches_it_test.go b/apier/v1/caches_it_test.go index b346dddb4..96bd8ae13 100644 --- a/apier/v1/caches_it_test.go +++ b/apier/v1/caches_it_test.go @@ -393,7 +393,7 @@ func testCacheSRemoveItems(t *testing.T) { } var remReply string if err := chcRPC.Call(utils.CacheSv1RemoveItems, &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), Tenant: "cgrates.org", StatsQueueProfileIDs: []string{"cgrates.org:Stats1"}, RouteProfileIDs: []string{"cgrates.org:ROUTE_1"}, diff --git a/apier/v1/caps_it_test.go b/apier/v1/caps_it_test.go index 1edc9c418..ff0b3bb46 100644 --- a/apier/v1/caps_it_test.go +++ b/apier/v1/caps_it_test.go @@ -310,7 +310,7 @@ func benchmarkInit(b *testing.B, cfgDir string) { } func benchmarkCall(b *testing.B) { - var rply map[string]interface{} + var rply map[string]any for i := 0; i < b.N; i++ { if err := capsRPC.Call(utils.CoreSv1Status, &utils.TenantWithAPIOpts{}, &rply); err != nil { b.Error(err) diff --git a/apier/v1/cdrs_it_test.go b/apier/v1/cdrs_it_test.go index 7a957b56a..b709998d9 100644 --- a/apier/v1/cdrs_it_test.go +++ b/apier/v1/cdrs_it_test.go @@ -135,7 +135,7 @@ func testV1CDRsProcessEventWithRefund(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaVoice, Value: 120000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BALANCE1", utils.Weight: 20, }, @@ -151,7 +151,7 @@ func testV1CDRsProcessEventWithRefund(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaVoice, Value: 180000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BALANCE2", utils.Weight: 10, }, @@ -171,7 +171,7 @@ func testV1CDRsProcessEventWithRefund(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "testV1CDRsProcessEventWithRefund", utils.RequestType: utils.MetaPseudoPrepaid, @@ -219,7 +219,7 @@ func testV1CDRsProcessEventWithRefund(t *testing.T) { Flags: []string{utils.MetaRALs, utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "testV1CDRsProcessEventWithRefund", utils.RequestType: utils.MetaPseudoPrepaid, @@ -255,7 +255,7 @@ func testV1CDRsRefundOutOfSessionCost(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaMonetary, Value: 123, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 20, }, @@ -365,7 +365,7 @@ func testV1CDRsRefundOutOfSessionCost(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -404,7 +404,7 @@ func testV1CDRsRefundCDR(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaMonetary, Value: 123, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 20, }, @@ -429,7 +429,7 @@ func testV1CDRsRefundCDR(t *testing.T) { Flags: []string{utils.MetaRefund}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundCDR", utils.RequestType: utils.MetaPseudoPrepaid, @@ -584,7 +584,7 @@ func testV1CDRsAddBalanceForSMS(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "asdfas", utils.ToR: utils.MetaSMS, utils.Category: "sms", diff --git a/apier/v1/chargers.go b/apier/v1/chargers.go index e0eb49ebb..a26ab73c8 100644 --- a/apier/v1/chargers.go +++ b/apier/v1/chargers.go @@ -66,7 +66,7 @@ func (apierSv1 *APIerSv1) GetChargerProfileIDs(args *utils.PaginatorWithTenant, type ChargerWithAPIOpts struct { *engine.ChargerProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetChargerProfile add/update a new Charger Profile @@ -130,7 +130,7 @@ type ChargerSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (cSv1 *ChargerSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(cSv1, serviceMethod, args, reply) } diff --git a/apier/v1/chargers_it_test.go b/apier/v1/chargers_it_test.go index 2f5092960..094ad253c 100644 --- a/apier/v1/chargers_it_test.go +++ b/apier/v1/chargers_it_test.go @@ -45,16 +45,16 @@ var ( { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{utils.OptsContext: "simpleauth"}, + APIOpts: map[string]any{utils.OptsContext: "simpleauth"}, }, { Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", "DistinctMatch": "cgrates", }, @@ -62,10 +62,10 @@ var ( { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", }, - APIOpts: map[string]interface{}{utils.OptsContext: "simpleauth"}, + APIOpts: map[string]any{utils.OptsContext: "simpleauth"}, }, } @@ -305,7 +305,7 @@ func testChargerSGetChargersForEvent2(t *testing.T) { &utils.CGREvent{ // matching Charger1 Tenant: utils.EmptyString, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1015", utils.Usage: 1, }, @@ -325,12 +325,12 @@ func testChargerSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string{"ATTR_1001_SIMPLEAUTH"}, @@ -357,13 +357,13 @@ func testChargerSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.RequestType: "*rated", utils.Category: "call", utils.RunID: utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string{"*constant:*req.RequestType:*rated;*constant:*req.Category:call"}, @@ -523,7 +523,7 @@ func testChargerSProcessWithNotFoundAttribute(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "CustomEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "Random", "CustomField": "WithoutAttributes", }, @@ -536,12 +536,12 @@ func testChargerSProcessWithNotFoundAttribute(t *testing.T) { CGREvent: &utils.CGREvent{ // matching ChargerWithoutAttribute Tenant: "cgrates.org", ID: "CustomEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "Random", "CustomField": "WithoutAttributes", "RunID": "CustomRun", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: nil, }, @@ -602,11 +602,11 @@ func testChargerSProccessEventWithProcceSRunS(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.RunID: "*default", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string{"*constant:*req.Account:1002", "*constant:*req.Account:1003"}, utils.OptsAttributesProcessRuns: 1., @@ -617,10 +617,10 @@ func testChargerSProccessEventWithProcceSRunS(t *testing.T) { cgrEv := &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", }, - APIOpts: map[string]interface{}{utils.OptsAttributesProcessRuns: 1}, + APIOpts: map[string]any{utils.OptsAttributesProcessRuns: 1}, } var result2 []*engine.ChrgSProcessEventReply if err := chargerRPC.Call(utils.ChargerSv1ProcessEvent, cgrEv, &result2); err != nil { @@ -701,7 +701,7 @@ func testChargerSCacheTestSet(t *testing.T) { Tenant: "cgrates.org", ID: "CHARGERS_CACHE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/config.go b/apier/v1/config.go index 2db61e72f..4a7d16b16 100644 --- a/apier/v1/config.go +++ b/apier/v1/config.go @@ -34,7 +34,7 @@ type ConfigSv1 struct { } // GetConfig will retrieve from CGRConfig a section -func (cSv1 *ConfigSv1) GetConfig(section *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cSv1 *ConfigSv1) GetConfig(section *config.SectionWithAPIOpts, reply *map[string]any) (err error) { return cSv1.cfg.V1GetConfig(section, reply) } @@ -60,6 +60,6 @@ func (cSv1 *ConfigSv1) GetConfigAsJSON(args *config.SectionWithAPIOpts, reply *s // Call implements rpcclient.ClientConnector interface for internal RPC func (cSv1 *ConfigSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(cSv1, serviceMethod, args, reply) } diff --git a/apier/v1/config_it_test.go b/apier/v1/config_it_test.go index 40b2daf39..be157d3ee 100644 --- a/apier/v1/config_it_test.go +++ b/apier/v1/config_it_test.go @@ -124,8 +124,8 @@ func testConfigSSetConfigSessionS(t *testing.T) { var reply string if err := configRPC.Call(utils.ConfigSv1SetConfig, &config.SetConfigArgs{ Tenant: "cgrates.org", - Config: map[string]interface{}{ - "sessions": map[string]interface{}{ + Config: map[string]any{ + "sessions": map[string]any{ "enabled": true, "resources_conns": []string{"*localhost"}, "routes_conns": []string{"*localhost"}, @@ -140,29 +140,29 @@ func testConfigSSetConfigSessionS(t *testing.T) { } else if reply != utils.OK { t.Errorf("Expected OK received: %s", reply) } - exp := map[string]interface{}{ + exp := map[string]any{ "enabled": true, "channel_sync_interval": "0", - "alterable_fields": []interface{}{}, + "alterable_fields": []any{}, "client_protocol": 1., "debit_interval": "0", "listen_bijson": "127.0.0.1:2014", "listen_bigob": "", "session_ttl": "0", - "session_indexes": []interface{}{utils.OriginID}, - "attributes_conns": []interface{}{utils.MetaLocalHost}, - "cdrs_conns": []interface{}{utils.MetaInternal}, - "chargers_conns": []interface{}{utils.MetaInternal}, - "rals_conns": []interface{}{utils.MetaInternal}, - "replication_conns": []interface{}{}, - "resources_conns": []interface{}{utils.MetaLocalHost}, - "routes_conns": []interface{}{utils.MetaLocalHost}, - "scheduler_conns": []interface{}{}, - "thresholds_conns": []interface{}{}, - "stats_conns": []interface{}{}, + "session_indexes": []any{utils.OriginID}, + "attributes_conns": []any{utils.MetaLocalHost}, + "cdrs_conns": []any{utils.MetaInternal}, + "chargers_conns": []any{utils.MetaInternal}, + "rals_conns": []any{utils.MetaInternal}, + "replication_conns": []any{}, + "resources_conns": []any{utils.MetaLocalHost}, + "routes_conns": []any{utils.MetaLocalHost}, + "scheduler_conns": []any{}, + "thresholds_conns": []any{}, + "stats_conns": []any{}, "min_dur_low_balance": "0", - "stir": map[string]interface{}{ - "allowed_attest": []interface{}{utils.MetaAny}, + "stir": map[string]any{ + "allowed_attest": []any{utils.MetaAny}, "default_attest": "A", "payload_maxduration": "-1", "privatekey_path": "", @@ -170,7 +170,7 @@ func testConfigSSetConfigSessionS(t *testing.T) { }, "store_session_costs": false, "terminate_attempts": 5., - utils.DefaultUsageCfg: map[string]interface{}{ + utils.DefaultUsageCfg: map[string]any{ utils.MetaAny: "3h0m0s", utils.MetaVoice: "3h0m0s", utils.MetaData: "1048576", @@ -179,7 +179,7 @@ func testConfigSSetConfigSessionS(t *testing.T) { } if *encoding == utils.MetaGOB { var empty []string - exp = map[string]interface{}{ + exp = map[string]any{ "enabled": true, "listen_bijson": "127.0.0.1:2014", "listen_bigob": "", @@ -202,7 +202,7 @@ func testConfigSSetConfigSessionS(t *testing.T) { "store_session_costs": false, "min_dur_low_balance": "0", "alterable_fields": empty, - "stir": map[string]interface{}{ + "stir": map[string]any{ "allowed_attest": []string{utils.MetaAny}, "default_attest": "A", "payload_maxduration": "-1", @@ -217,10 +217,10 @@ func testConfigSSetConfigSessionS(t *testing.T) { }, } } - exp = map[string]interface{}{ + exp = map[string]any{ config.SessionSJson: exp, } - var rpl map[string]interface{} + var rpl map[string]any if err := configRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Tenant: "cgrates.org", Section: config.SessionSJson, @@ -232,21 +232,21 @@ func testConfigSSetConfigSessionS(t *testing.T) { } func testConfigSv1GetJSONSectionWithoutTenant(t *testing.T) { - exp := map[string]interface{}{ + exp := map[string]any{ "enabled": true, "listen_bijson": "127.0.0.1:2014", "listen_bigob": "", - "chargers_conns": []interface{}{utils.MetaInternal}, - "rals_conns": []interface{}{utils.MetaInternal}, - "resources_conns": []interface{}{utils.MetaLocalHost}, - "thresholds_conns": []interface{}{}, - "stats_conns": []interface{}{}, - "routes_conns": []interface{}{utils.MetaLocalHost}, - "attributes_conns": []interface{}{utils.MetaLocalHost}, - "cdrs_conns": []interface{}{utils.MetaInternal}, - "replication_conns": []interface{}{}, - "scheduler_conns": []interface{}{}, - "session_indexes": []interface{}{"OriginID"}, + "chargers_conns": []any{utils.MetaInternal}, + "rals_conns": []any{utils.MetaInternal}, + "resources_conns": []any{utils.MetaLocalHost}, + "thresholds_conns": []any{}, + "stats_conns": []any{}, + "routes_conns": []any{utils.MetaLocalHost}, + "attributes_conns": []any{utils.MetaLocalHost}, + "cdrs_conns": []any{utils.MetaInternal}, + "replication_conns": []any{}, + "scheduler_conns": []any{}, + "session_indexes": []any{"OriginID"}, "client_protocol": 1., "terminate_attempts": 5., "channel_sync_interval": "0", @@ -254,15 +254,15 @@ func testConfigSv1GetJSONSectionWithoutTenant(t *testing.T) { "session_ttl": "0", "store_session_costs": false, "min_dur_low_balance": "0", - "alterable_fields": []interface{}{}, - "stir": map[string]interface{}{ - "allowed_attest": []interface{}{utils.MetaAny}, + "alterable_fields": []any{}, + "stir": map[string]any{ + "allowed_attest": []any{utils.MetaAny}, "default_attest": "A", "payload_maxduration": "-1", "privatekey_path": "", "publickey_path": "", }, - utils.DefaultUsageCfg: map[string]interface{}{ + utils.DefaultUsageCfg: map[string]any{ utils.MetaAny: "3h0m0s", utils.MetaVoice: "3h0m0s", utils.MetaData: "1048576", @@ -271,7 +271,7 @@ func testConfigSv1GetJSONSectionWithoutTenant(t *testing.T) { } if *encoding == utils.MetaGOB { var empty []string - exp = map[string]interface{}{ + exp = map[string]any{ "enabled": true, "listen_bijson": "127.0.0.1:2014", "chargers_conns": []string{utils.MetaInternal}, @@ -293,7 +293,7 @@ func testConfigSv1GetJSONSectionWithoutTenant(t *testing.T) { "store_session_costs": false, "min_dur_low_balance": "0", "alterable_fields": empty, - "stir": map[string]interface{}{ + "stir": map[string]any{ "allowed_attest": []string{utils.MetaAny}, "default_attest": "A", "payload_maxduration": "-1", @@ -308,10 +308,10 @@ func testConfigSv1GetJSONSectionWithoutTenant(t *testing.T) { }, } } - exp = map[string]interface{}{ + exp = map[string]any{ config.SessionSJson: exp, } - var rpl map[string]interface{} + var rpl map[string]any if err := configRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Section: config.SessionSJson, }, &rpl); err != nil { @@ -327,8 +327,8 @@ func testConfigSSetConfigEEsDryRun(t *testing.T) { } var reply string if err := configRPC.Call(utils.ConfigSv1SetConfig, &config.SetConfigArgs{ - Config: map[string]interface{}{ - "ees": map[string]interface{}{ + Config: map[string]any{ + "ees": map[string]any{ "enabled": true, }, }, @@ -339,12 +339,12 @@ func testConfigSSetConfigEEsDryRun(t *testing.T) { t.Errorf("Expected OK received: %s", reply) } - var rpl map[string]interface{} + var rpl map[string]any if err := configRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Section: config.EEsJson, }, &rpl); err != nil { t.Error(err) - } else if rpl[config.EEsJson].(map[string]interface{})["enabled"] != false { + } else if rpl[config.EEsJson].(map[string]any)["enabled"] != false { t.Errorf("Expected EEs to not change , received: %+v ", utils.ToJSON(rpl)) } } @@ -355,14 +355,14 @@ func testConfigSSetConfigEEs(t *testing.T) { } var reply string if err := configRPC.Call(utils.ConfigSv1SetConfig, &config.SetConfigArgs{ - Config: map[string]interface{}{ - "ees": map[string]interface{}{ + Config: map[string]any{ + "ees": map[string]any{ "enabled": true, "attributes_conns": []string{}, - "cache": map[string]interface{}{}, - "exporters": []interface{}{map[string]interface{}{ + "cache": map[string]any{}, + "exporters": []any{map[string]any{ "id": utils.MetaDefault, - "fields": []interface{}{}, + "fields": []any{}, }}, }, }, @@ -371,32 +371,32 @@ func testConfigSSetConfigEEs(t *testing.T) { } else if reply != utils.OK { t.Errorf("Expected OK received: %s", reply) } - eporter := map[string]interface{}{ + eporter := map[string]any{ "attempts": 1., "attribute_context": "", - "attribute_ids": []interface{}{}, + "attribute_ids": []any{}, "export_path": "/var/spool/cgrates/ees", - "fields": []interface{}{}, - "filters": []interface{}{}, - "flags": []interface{}{}, + "fields": []any{}, + "filters": []any{}, + "flags": []any{}, "id": "*default", "synchronous": false, "timezone": "", "type": "*none", - "opts": map[string]interface{}{}, + "opts": map[string]any{}, "concurrent_requests": 0., "failed_posts_dir": "/var/spool/cgrates/failed_posts", } - exp := map[string]interface{}{ + exp := map[string]any{ "enabled": true, - "attributes_conns": []interface{}{}, - "cache": map[string]interface{}{"*file_csv": map[string]interface{}{"limit": -1., "precache": false, "replicate": false, "static_ttl": false, "remote": false, "ttl": "5s"}}, - "exporters": []interface{}{eporter}, + "attributes_conns": []any{}, + "cache": map[string]any{"*file_csv": map[string]any{"limit": -1., "precache": false, "replicate": false, "static_ttl": false, "remote": false, "ttl": "5s"}}, + "exporters": []any{eporter}, } - exp = map[string]interface{}{ + exp = map[string]any{ config.EEsJson: exp, } - var rpl map[string]interface{} + var rpl map[string]any if err := configRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Section: config.EEsJson, }, &rpl); err != nil { @@ -426,7 +426,7 @@ func testConfigStartEngineWithConfigs(t *testing.T) { if err != nil { t.Fatal(err) } - var rply map[string]interface{} + var rply map[string]any if err := configRPC.Call(utils.CoreSv1Status, &utils.TenantWithAPIOpts{}, &rply); err != nil { t.Error(err) } else if rply[utils.NodeID] != "EngineWithConfigSActive" { @@ -460,7 +460,7 @@ func testConfigStartEngineFromHTTP(t *testing.T) { t.Errorf("engine did not open port <%s>", "localhost:2012") } time.Sleep(100 * time.Millisecond) - var rply map[string]interface{} + var rply map[string]any if err := jsonClnt.Call(utils.CoreSv1Status, &utils.TenantWithAPIOpts{}, &rply); err != nil { t.Error(err) } diff --git a/apier/v1/core.go b/apier/v1/core.go index f06a51e41..2c70f1c1f 100644 --- a/apier/v1/core.go +++ b/apier/v1/core.go @@ -37,11 +37,11 @@ type CoreSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (cS *CoreSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(cS, serviceMethod, args, reply) } -func (cS *CoreSv1) Status(arg *utils.TenantWithAPIOpts, reply *map[string]interface{}) error { +func (cS *CoreSv1) Status(arg *utils.TenantWithAPIOpts, reply *map[string]any) error { return cS.cS.Status(arg, reply) } diff --git a/apier/v1/costs.go b/apier/v1/costs.go index 426e6b980..32eaf8051 100644 --- a/apier/v1/costs.go +++ b/apier/v1/costs.go @@ -32,7 +32,7 @@ type AttrGetCost struct { AnswerTime string Destination string Usage string - APIOpts map[string]interface{} + APIOpts map[string]any } func (apierSv1 *APIerSv1) GetCost(attrs *AttrGetCost, ec *engine.EventCost) error { @@ -77,7 +77,7 @@ type AttrGetDataCost struct { Subject string AnswerTime string Usage time.Duration // the call duration so far (till TimeEnd) - Opts map[string]interface{} + Opts map[string]any } func (apierSv1 *APIerSv1) GetDataCost(attrs *AttrGetDataCost, reply *engine.DataCost) error { diff --git a/apier/v1/dispatcher.go b/apier/v1/dispatcher.go index f3212336a..56e7a46c5 100644 --- a/apier/v1/dispatcher.go +++ b/apier/v1/dispatcher.go @@ -70,7 +70,7 @@ func (apierSv1 *APIerSv1) GetDispatcherProfileIDs(tenantArg *utils.PaginatorWith type DispatcherWithAPIOpts struct { *engine.DispatcherProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetDispatcherProfile add/update a new Dispatcher Profile @@ -588,10 +588,10 @@ func (dS *DispatcherResponder) Shutdown(args *utils.TenantWithAPIOpts, reply *st return dS.dS.ResponderShutdown(args, reply) } -func (dS *DispatcherResponder) GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]interface{}) (err error) { +func (dS *DispatcherResponder) GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]any) (err error) { return dS.dS.ResponderGetCostOnRatingPlans(arg, reply) } -func (dS *DispatcherResponder) GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]interface{}) (err error) { +func (dS *DispatcherResponder) GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]any) (err error) { return dS.dS.ResponderGetMaxSessionTimeOnAccounts(arg, reply) } @@ -623,13 +623,13 @@ func (dS *DispatcherCacheSv1) HasItem(args *utils.ArgsGetCacheItemWithAPIOpts, // GetItem returns an Item from the cache func (dS *DispatcherCacheSv1) GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return dS.dS.CacheSv1GetItem(args, reply) } // GetItemWithRemote returns an Item from local or remote cache func (dS *DispatcherCacheSv1) GetItemWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return dS.dS.CacheSv1GetItemWithRemote(args, reply) } @@ -778,7 +778,7 @@ func (dSv1 DispatcherSv1) GetProfilesForEvent(ev *utils.CGREvent, return dSv1.dS.V1GetProfilesForEvent(ev, dPrfl) } -func (dS *DispatcherSv1) RemoteStatus(args *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherSv1) RemoteStatus(args *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { return dS.dS.DispatcherSv1RemoteStatus(args, reply) } @@ -791,7 +791,7 @@ func (dS *DispatcherSv1) RemoteSleep(args *utils.DurationArgs, reply *string) (e } /* -func (dSv1 DispatcherSv1) Apier(args *utils.MethodParameters, reply *interface{}) (err error) { +func (dSv1 DispatcherSv1) Apier(args *utils.MethodParameters, reply *any) (err error) { return dSv1.dS.V1Apier(new(APIerSv1), args, reply) } */ @@ -875,7 +875,7 @@ type DispatcherConfigSv1 struct { dS *dispatchers.DispatcherService } -func (dS *DispatcherConfigSv1) GetConfig(args *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherConfigSv1) GetConfig(args *config.SectionWithAPIOpts, reply *map[string]any) (err error) { return dS.dS.ConfigSv1GetConfig(args, reply) } @@ -921,7 +921,7 @@ func NewDispatcherCoreSv1(dps *dispatchers.DispatcherService) *DispatcherCoreSv1 return &DispatcherCoreSv1{dS: dps} } -func (dS *DispatcherCoreSv1) Status(args *utils.TenantWithAPIOpts, reply *map[string]interface{}) error { +func (dS *DispatcherCoreSv1) Status(args *utils.TenantWithAPIOpts, reply *map[string]any) error { return dS.dS.CoreSv1Status(args, reply) } @@ -966,7 +966,7 @@ func (dS *DispatcherEeSv1) Ping(args *utils.CGREvent, reply *string) error { return dS.dS.EeSv1Ping(args, reply) } -func (dS *DispatcherEeSv1) ProcessEvent(args *engine.CGREventWithEeIDs, reply *map[string]map[string]interface{}) error { +func (dS *DispatcherEeSv1) ProcessEvent(args *engine.CGREventWithEeIDs, reply *map[string]map[string]any) error { return dS.dS.EeSv1ProcessEvent(args, reply) } diff --git a/apier/v1/dispatcher_it_test.go b/apier/v1/dispatcher_it_test.go index eceb6f744..dbb580b96 100644 --- a/apier/v1/dispatcher_it_test.go +++ b/apier/v1/dispatcher_it_test.go @@ -549,7 +549,7 @@ func testDispatcherSCacheTestSet(t *testing.T) { ID: "DISPATCHER_CACHE", Subsystems: []string{utils.MetaAny}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/dispatchersv1_it_test.go b/apier/v1/dispatchersv1_it_test.go index 1eb07d581..98770d354 100644 --- a/apier/v1/dispatchersv1_it_test.go +++ b/apier/v1/dispatchersv1_it_test.go @@ -136,10 +136,10 @@ func testDspDspv1GetProfileForEvent(t *testing.T) { arg := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testDspv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAny, utils.OptsDispatchersProfilesCount: 1, }, @@ -150,7 +150,7 @@ func testDspDspv1GetProfileForEvent(t *testing.T) { ID: "EVENT1", Subsystems: []string{utils.MetaAny}, FilterIDs: []string{"*string:~*req.EventName:Event1"}, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 30, Hosts: engine.DispatcherHostProfiles{ @@ -158,13 +158,13 @@ func testDspDspv1GetProfileForEvent(t *testing.T) { ID: "ALL2", FilterIDs: []string{}, Weight: 20, - Params: make(map[string]interface{}), + Params: make(map[string]any), }, &engine.DispatcherHostProfile{ ID: "ALL", FilterIDs: []string{}, Weight: 10, - Params: make(map[string]interface{}), + Params: make(map[string]any), }, }, } @@ -185,10 +185,10 @@ func testDspDspv1GetProfileForEvent(t *testing.T) { arg2 := &utils.CGREvent{ ID: "testDspvWithoutTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAny, utils.OptsDispatchersProfilesCount: 1, }, @@ -209,8 +209,8 @@ func testDspDspv1GetProfileForEventWithMethod(t *testing.T) { arg := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testDspv2", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAny, "*method": utils.DispatcherSv1GetProfilesForEvent, utils.OptsDispatchersProfilesCount: 1, @@ -222,7 +222,7 @@ func testDspDspv1GetProfileForEventWithMethod(t *testing.T) { ID: "EVENT6", Subsystems: []string{utils.MetaAny}, FilterIDs: []string{"*string:~*opts.*method:DispatcherSv1.GetProfilesForEvent"}, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 20, Hosts: engine.DispatcherHostProfiles{ @@ -230,7 +230,7 @@ func testDspDspv1GetProfileForEventWithMethod(t *testing.T) { ID: "SELF", FilterIDs: []string{}, Weight: 20, - Params: make(map[string]interface{}), + Params: make(map[string]any), }, }, } diff --git a/apier/v1/ees.go b/apier/v1/ees.go index 10692fbd0..9ba9b4d41 100644 --- a/apier/v1/ees.go +++ b/apier/v1/ees.go @@ -39,6 +39,6 @@ func (eeSv1 *EeSv1) Ping(ign *utils.CGREvent, reply *string) error { // ProcessEvent triggers exports on EEs side func (eeSv1 *EeSv1) ProcessEvent(args *engine.CGREventWithEeIDs, - reply *map[string]map[string]interface{}) error { + reply *map[string]map[string]any) error { return eeSv1.eeS.V1ProcessEvent(args, reply) } diff --git a/apier/v1/ees_it_test.go b/apier/v1/ees_it_test.go index 6104f269c..03f8899b5 100644 --- a/apier/v1/ees_it_test.go +++ b/apier/v1/ees_it_test.go @@ -188,7 +188,7 @@ func testEEsExportCDRs(t *testing.T) { ExporterIDs: []string{"CSVExporter"}, Verbose: true, } - var rply map[string]interface{} + var rply map[string]any if err := eeSRPC.Call(utils.APIerSv1ExportCDRs, &attr, &rply); err != nil { t.Error("Unexpected error: ", err.Error()) } @@ -196,7 +196,7 @@ func testEEsExportCDRs(t *testing.T) { t.Errorf("Expected %+v, received: %+v", 1, len(rply)) } else { val, _ := rply["CSVExporter"] - for k, v := range val.(map[string]interface{}) { + for k, v := range val.(map[string]any) { switch k { case utils.FirstExpOrderID: if v != 1.0 { @@ -251,7 +251,7 @@ func testEEsExportCDRsMultipleExporters(t *testing.T) { ExporterIDs: []string{"CSVExporter", "CSVExporter2"}, Verbose: true, } - var rply map[string]interface{} + var rply map[string]any if err := eeSRPC.Call(utils.APIerSv1ExportCDRs, &attr, &rply); err != nil { t.Error("Unexpected error: ", err.Error()) } @@ -260,7 +260,7 @@ func testEEsExportCDRsMultipleExporters(t *testing.T) { } else { for _, expID := range []string{"CSVExporter", "CSVExporter2"} { val, _ := rply[expID] - for k, v := range val.(map[string]interface{}) { + for k, v := range val.(map[string]any) { switch k { case utils.FirstExpOrderID: if v != 1.0 { diff --git a/apier/v1/filter_indexes.go b/apier/v1/filter_indexes.go index a93f646f3..6e87ae6b0 100644 --- a/apier/v1/filter_indexes.go +++ b/apier/v1/filter_indexes.go @@ -41,7 +41,7 @@ type AttrRemFilterIndexes struct { Tenant string Context string ItemType string - APIOpts map[string]interface{} + APIOpts map[string]any } func (apierSv1 *APIerSv1) RemoveFilterIndexes(arg *AttrRemFilterIndexes, reply *string) (err error) { diff --git a/apier/v1/filterindexecache_it_test.go b/apier/v1/filterindexecache_it_test.go index cf850f912..16ad96afb 100644 --- a/apier/v1/filterindexecache_it_test.go +++ b/apier/v1/filterindexecache_it_test.go @@ -147,11 +147,11 @@ func testV1FIdxCaProcessEventWithNotFound(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -215,11 +215,11 @@ func testV1FIdxCaSetThresholdProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, utils.OptsThresholdsProfileIDs: []string{"TEST_PROFILE1"}, }, @@ -240,13 +240,13 @@ func testV1FIdxCaGetThresholdFromTP(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1001", utils.BalanceID: utils.MetaDefault, utils.Units: 12.3, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, utils.OptsThresholdsProfileIDs: []string{"THD_ACNT_BALANCE_1"}, }, @@ -314,11 +314,11 @@ func testV1FIdxCaUpdateThresholdProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -333,11 +333,11 @@ func testV1FIdxCaUpdateThresholdProfile(t *testing.T) { tEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -401,11 +401,11 @@ func testV1FIdxCaUpdateThresholdProfileFromTP(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventType: utils.BalanceUpdate, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -418,11 +418,11 @@ func testV1FIdxCaUpdateThresholdProfileFromTP(t *testing.T) { tEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.EventType: utils.BalanceUpdate, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -440,11 +440,11 @@ func testV1FIdxCaRemoveThresholdProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event8", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventType: utils.AccountUpdate, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -459,11 +459,11 @@ func testV1FIdxCaRemoveThresholdProfile(t *testing.T) { tEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event9", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.EventType: utils.BalanceUpdate, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -516,11 +516,11 @@ func testV1FIdxCaGetStatQueuesWithNotFound(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -597,12 +597,12 @@ func testV1FIdxCaSetStatQueueProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1001", "Val": 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -622,7 +622,7 @@ func testV1FIdxCaGetStatQueuesFromTP(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -637,7 +637,7 @@ func testV1FIdxCaGetStatQueuesFromTP(t *testing.T) { ev3 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -653,14 +653,14 @@ func testV1FIdxCaGetStatQueuesFromTP(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, utils.Cost: 12.1, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -672,14 +672,14 @@ func testV1FIdxCaGetStatQueuesFromTP(t *testing.T) { tEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, utils.Cost: 12.1, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -750,12 +750,12 @@ func testV1FIdxCaUpdateStatQueueProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1003", "Val": 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -810,14 +810,14 @@ func testV1FIdxCaUpdateStatQueueProfileFromTP(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1003", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, utils.Cost: 12.1, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -837,12 +837,12 @@ func testV1FIdxCaRemoveStatQueueProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1003", "Val": 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -855,14 +855,14 @@ func testV1FIdxCaRemoveStatQueueProfile(t *testing.T) { tEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1003", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, utils.Cost: 12.1, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -915,11 +915,11 @@ func testV1FIdxCaProcessAttributeProfileEventWithNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "3009", utils.Destination: "+492511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -989,11 +989,11 @@ func testV1FIdxCaSetAttributeProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1009", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1009,11 +1009,11 @@ func testV1FIdxCaGetAttributeProfileFromTP(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1082,11 +1082,11 @@ func testV1FIdxCaUpdateAttributeProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2009", utils.Destination: "+492511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1140,11 +1140,11 @@ func testV1FIdxCaUpdateAttributeProfileFromTP(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "3009", utils.Destination: "+492511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1159,11 +1159,11 @@ func testV1FIdxCaRemoveAttributeProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "3009", utils.Destination: "+492511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1175,11 +1175,11 @@ func testV1FIdxCaRemoveAttributeProfile(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2009", utils.Destination: "+492511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1231,12 +1231,12 @@ func testV1FIdxCaGetResourceProfileWithNotFound(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, @@ -1319,12 +1319,12 @@ func testV1FIdxCaSetResourceProfile(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1002", utils.Destination: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, @@ -1349,12 +1349,12 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1002", utils.Destination: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e63", utils.OptsResourcesUnits: 6, }, @@ -1375,12 +1375,12 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, @@ -1452,12 +1452,12 @@ func testV1FIdxCaUpdateResourceProfile(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2002", utils.Subject: "2001", utils.Destination: "2002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, @@ -1519,12 +1519,12 @@ func testV1FIdxCaUpdateResourceProfileFromTP(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e65", utils.OptsResourcesUnits: 6, }, @@ -1541,12 +1541,12 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2002", utils.Subject: "2001", utils.Destination: "2002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "653a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, @@ -1564,12 +1564,12 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "654a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, diff --git a/apier/v1/filters_test.go b/apier/v1/filters_test.go index 082a7bc65..93cbca4ff 100644 --- a/apier/v1/filters_test.go +++ b/apier/v1/filters_test.go @@ -31,10 +31,10 @@ import ( ) type ccMock struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (ccM *ccMock) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (ccM *ccMock) Call(serviceMethod string, args any, reply any) (err error) { if call, has := ccM.calls[serviceMethod]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -49,15 +49,15 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, Tenant: "cgrates.org", FilterIDs: []string{"cgrates.org:FLTR_ID"}, } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) } @@ -86,7 +86,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -110,7 +110,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -126,7 +126,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { MaxHits: 10, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -141,7 +141,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -156,7 +156,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -171,7 +171,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Subsystems: []string{utils.MetaAny}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -186,7 +186,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, RunID: "runID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -206,12 +206,12 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } expArgs = &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, Tenant: "cgrates.org", @@ -239,15 +239,15 @@ func TestFiltersSetFilterClearCache(t *testing.T) { dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaClear, }, Tenant: "cgrates.org", CacheIDs: []string{utils.CacheFilters}, } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1Clear: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1Clear: func(args, reply any) error { sort.Strings(args.(*utils.AttrCacheIDsWithAPIOpts).CacheIDs) if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -277,7 +277,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaClear, }, } @@ -301,7 +301,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -317,7 +317,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { MaxHits: 10, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -332,7 +332,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -347,7 +347,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -362,7 +362,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, Subsystems: []string{utils.MetaAny}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -377,7 +377,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { FilterIDs: []string{"FLTR_ID"}, RunID: "runID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -397,12 +397,12 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaClear, }, } expArgs = &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaClear, }, Tenant: "cgrates.org", diff --git a/apier/v1/guardian.go b/apier/v1/guardian.go index 4f8ea9fb6..6b260b8a7 100644 --- a/apier/v1/guardian.go +++ b/apier/v1/guardian.go @@ -50,6 +50,6 @@ func (self *GuardianSv1) Ping(ign *utils.CGREvent, reply *string) error { // Call implements rpcclient.ClientConnector interface for internal RPC func (self *GuardianSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(self, serviceMethod, args, reply) } diff --git a/apier/v1/libapier.go b/apier/v1/libapier.go index fdda258b6..1411c93d1 100644 --- a/apier/v1/libapier.go +++ b/apier/v1/libapier.go @@ -28,9 +28,9 @@ import ( // CallCache caching the item based on cacheopt // visible in APIerSv2 func (apierSv1 *APIerSv1) CallCache(cacheopt string, tnt, cacheID, itemID, groupID string, - filters *[]string, contexts []string, opts map[string]interface{}) (err error) { + filters *[]string, contexts []string, opts map[string]any) (err error) { var reply, method string - var args interface{} + var args any switch utils.FirstNonEmpty(cacheopt, apierSv1.Config.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -170,9 +170,9 @@ func (apierSv1 *APIerSv1) composeArgsReload(tnt, cacheID, itemID string, filterI // callCacheForIndexes will only call CacheClear because don't have access at ItemID func (apierSv1 *APIerSv1) callCacheForRemoveIndexes(cacheopt string, tnt, cacheID string, - itemIDs []string, opts map[string]interface{}) (err error) { + itemIDs []string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(map[string][]string{cacheID: itemIDs}, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(map[string][]string{cacheID: itemIDs}, tnt, opts) switch utils.FirstNonEmpty(cacheopt, apierSv1.Config.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -195,9 +195,9 @@ func (apierSv1 *APIerSv1) callCacheForRemoveIndexes(cacheopt string, tnt, cacheI } func (apierSv1 *APIerSv1) callCacheForComputeIndexes(cacheopt, tnt string, - cacheItems map[string][]string, opts map[string]interface{}) (err error) { + cacheItems map[string][]string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(cacheItems, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(cacheItems, tnt, opts) switch utils.FirstNonEmpty(cacheopt, apierSv1.Config.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -224,12 +224,12 @@ func (apierSv1 *APIerSv1) callCacheForComputeIndexes(cacheopt, tnt string, } // callCacheRevDestinations used for reverse destination, loadIDs and indexes replication -func (apierSv1 *APIerSv1) callCacheMultiple(cacheopt, tnt, cacheID string, itemIDs []string, opts map[string]interface{}) (err error) { +func (apierSv1 *APIerSv1) callCacheMultiple(cacheopt, tnt, cacheID string, itemIDs []string, opts map[string]any) (err error) { if len(itemIDs) == 0 { return } var reply, method string - var args interface{} + var args any switch utils.FirstNonEmpty(cacheopt, apierSv1.Config.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -325,9 +325,9 @@ func composeCacheArgsForFilter(dm *engine.DataManager, fltr *engine.Filter, tnt, // callCacheForFilter will call the cache for filter func callCacheForFilter(connMgr *engine.ConnManager, cacheConns []string, cacheopt, dftCache, tnt string, - argC map[string][]string, opts map[string]interface{}) (err error) { + argC map[string][]string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(argC, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(argC, tnt, opts) switch utils.FirstNonEmpty(cacheopt, dftCache) { case utils.MetaNone: return diff --git a/apier/v1/libapier_test.go b/apier/v1/libapier_test.go index ce4cb2d8e..be8231b59 100644 --- a/apier/v1/libapier_test.go +++ b/apier/v1/libapier_test.go @@ -93,11 +93,11 @@ func TestComposeArgsReload(t *testing.T) { type rpcRequest struct { Method string - Params interface{} + Params any } type rpcMock chan *rpcRequest -func (r rpcMock) Call(method string, args, _ interface{}) error { +func (r rpcMock) Call(method string, args, _ any) error { r <- &rpcRequest{ Method: method, Params: args, @@ -127,10 +127,10 @@ func TestCallCache(t *testing.T) { Params: &utils.AttrCacheIDsWithAPIOpts{ Tenant: "cgrates.org", CacheIDs: []string{utils.CacheStatQueueProfiles, utils.CacheStatFilterIndexes, utils.CacheStatQueues}, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), }, } - if err := apv1.CallCache(utils.MetaClear, "cgrates.org", utils.CacheStatQueueProfiles, "", utils.EmptyString, nil, nil, make(map[string]interface{})); err != nil { + if err := apv1.CallCache(utils.MetaClear, "cgrates.org", utils.CacheStatQueueProfiles, "", utils.EmptyString, nil, nil, make(map[string]any)); err != nil { t.Fatal(err) } else if len(cache) != 1 { t.Fatal("Expected call cache to be called") @@ -141,7 +141,7 @@ func TestCallCache(t *testing.T) { exp = &rpcRequest{ Method: utils.CacheSv1ReloadCache, Params: &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), Tenant: "cgrates.org", StatsQueueProfileIDs: []string{"cgrates.org:Stat2"}, StatsQueueIDs: []string{"cgrates.org:Stat2"}, @@ -154,7 +154,7 @@ func TestCallCache(t *testing.T) { if err := apv1.CallCache(utils.MetaReload, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"*string:~*req.Account:1001|~req.Subject", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != nil { + nil, make(map[string]any)); err != nil { t.Fatal(err) } else if len(cache) != 1 { t.Fatal("Expected call cache to be called") @@ -164,7 +164,7 @@ func TestCallCache(t *testing.T) { exp.Method = utils.CacheSv1LoadCache if err := apv1.CallCache(utils.MetaLoad, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"*string:~*req.Account:1001|~req.Subject", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != nil { + nil, make(map[string]any)); err != nil { t.Fatal(err) } else if len(cache) != 1 { t.Fatal("Expected call cache to be called") @@ -174,7 +174,7 @@ func TestCallCache(t *testing.T) { exp.Method = utils.CacheSv1RemoveItems if err := apv1.CallCache(utils.MetaRemove, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"*string:~*req.Account:1001|~req.Subject", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != nil { + nil, make(map[string]any)); err != nil { t.Fatal(err) } else if len(cache) != 1 { t.Fatal("Expected call cache to be called") @@ -184,21 +184,21 @@ func TestCallCache(t *testing.T) { if err := apv1.CallCache(utils.MetaLoad, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"FLTR1", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != utils.ErrNoDatabaseConn { + nil, make(map[string]any)); err != utils.ErrNoDatabaseConn { t.Fatal(err) } else if len(cache) != 0 { t.Fatal("Expected call cache to not be called") } if err := apv1.CallCache(utils.MetaRemove, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"FLTR1", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != utils.ErrNoDatabaseConn { + nil, make(map[string]any)); err != utils.ErrNoDatabaseConn { t.Fatal(err) } else if len(cache) != 0 { t.Fatal("Expected call cache to not be called") } if err := apv1.CallCache(utils.MetaReload, "cgrates.org", utils.CacheStatQueueProfiles, "cgrates.org:Stat2", utils.EmptyString, &[]string{"FLTR1", "*prefix:1001:~*req.Destination"}, - nil, make(map[string]interface{})); err != utils.ErrNoDatabaseConn { + nil, make(map[string]any)); err != utils.ErrNoDatabaseConn { t.Fatal(err) } else if len(cache) != 0 { t.Fatal("Expected call cache to not be called") diff --git a/apier/v1/loaders.go b/apier/v1/loaders.go index 7be739b73..a4999ca02 100644 --- a/apier/v1/loaders.go +++ b/apier/v1/loaders.go @@ -34,7 +34,7 @@ type LoaderSv1 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (ldrSv1 *LoaderSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(ldrSv1, serviceMethod, args, reply) } diff --git a/apier/v1/rals.go b/apier/v1/rals.go index a04bead9d..ac1554d6f 100644 --- a/apier/v1/rals.go +++ b/apier/v1/rals.go @@ -34,7 +34,7 @@ type RALsV1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (rsv1 *RALsV1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (rsv1 *RALsV1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(rsv1, serviceMethod, args, reply) } diff --git a/apier/v1/remote_it_test.go b/apier/v1/remote_it_test.go index 3666396c7..a85cdcd3c 100644 --- a/apier/v1/remote_it_test.go +++ b/apier/v1/remote_it_test.go @@ -805,7 +805,7 @@ func testInternalMatchThreshold(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -819,7 +819,7 @@ func testInternalMatchThreshold(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -832,7 +832,7 @@ func testInternalMatchThreshold(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -849,7 +849,7 @@ func testInternalAccountBalanceOperations(t *testing.T) { Account: "testAccount1", BalanceType: utils.MetaMonetary, Value: 17.4, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", }, } diff --git a/apier/v1/replicate_it_test.go b/apier/v1/replicate_it_test.go index 61023067e..90ccef2da 100644 --- a/apier/v1/replicate_it_test.go +++ b/apier/v1/replicate_it_test.go @@ -1133,7 +1133,7 @@ func testInternalReplicateITActionTrigger(t *testing.T) { attrSet := AttrSetActionTrigger{ GroupID: "TestATR", UniqueID: "UniqueID", - ActionTrigger: map[string]interface{}{ + ActionTrigger: map[string]any{ utils.BalanceID: utils.StringPointer("BalanceIDtest1"), }} @@ -1210,13 +1210,13 @@ func testInternalReplicateITThreshold(t *testing.T) { tEvs := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1005", utils.AllowNegative: true, utils.Disabled: false, utils.Units: 12.3}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -1274,7 +1274,7 @@ func testInternalReplicateITThreshold(t *testing.T) { Account: "1005", BalanceType: utils.MetaMonetary, Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, diff --git a/apier/v1/replicator.go b/apier/v1/replicator.go index 1bdd735ea..875eedf49 100644 --- a/apier/v1/replicator.go +++ b/apier/v1/replicator.go @@ -38,7 +38,7 @@ type ReplicatorSv1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (rplSv1 *ReplicatorSv1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (rplSv1 *ReplicatorSv1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(rplSv1, serviceMethod, args, reply) } diff --git a/apier/v1/resourcesv1.go b/apier/v1/resourcesv1.go index 006156a77..b7ee10082 100644 --- a/apier/v1/resourcesv1.go +++ b/apier/v1/resourcesv1.go @@ -35,7 +35,7 @@ type ResourceSv1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (rsv1 *ResourceSv1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (rsv1 *ResourceSv1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(rsv1, serviceMethod, args, reply) } diff --git a/apier/v1/resourcesv1_it_test.go b/apier/v1/resourcesv1_it_test.go index 72f795fc7..d55b9054a 100644 --- a/apier/v1/resourcesv1_it_test.go +++ b/apier/v1/resourcesv1_it_test.go @@ -247,15 +247,15 @@ func testV1RsGetResourcesForEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{"Unknown": "unknown"}, - APIOpts: map[string]interface{}{ + Event: map[string]any{"Unknown": "unknown"}, + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomUsageID", }, } if err := rlsV1Rpc.Call(utils.ResourceSv1GetResourcesForEvent, args, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } - args.Event = map[string]interface{}{"Destination": "10", "Account": "1001"} + args.Event = map[string]any{"Destination": "10", "Account": "1001"} args.ID = utils.UUIDSha1Prefix() args.APIOpts[utils.OptsResourcesUsageID] = "RandomUsageID2" if err := rlsV1Rpc.Call(utils.ResourceSv1GetResourcesForEvent, args, &reply); err != nil { @@ -275,14 +275,14 @@ func testV1RsGetResourcesForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", "ResGroup2", (*reply)[0].ID) } - args.Event = map[string]interface{}{"Destination": "20"} + args.Event = map[string]any{"Destination": "20"} args.ID = utils.UUIDSha1Prefix() args.APIOpts[utils.OptsResourcesUsageID] = "RandomUsageID3" if err := rlsV1Rpc.Call(utils.ResourceSv1GetResourcesForEvent, args, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } - args.Event = map[string]interface{}{"Account": "1002", "Subject": "test", "Destination": "1002"} + args.Event = map[string]any{"Account": "1002", "Subject": "test", "Destination": "1002"} args.ID = utils.UUIDSha1Prefix() args.APIOpts[utils.OptsResourcesUsageID] = "RandomUsageID5" if err := rlsV1Rpc.Call(utils.ResourceSv1GetResourcesForEvent, args, &reply); err != nil { @@ -292,7 +292,7 @@ func testV1RsGetResourcesForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", 2, len(*reply)) } - args.Event = map[string]interface{}{"Account": "1002", "Subject": "test", "Destination": "1001"} + args.Event = map[string]any{"Account": "1002", "Subject": "test", "Destination": "1001"} args.ID = utils.UUIDSha1Prefix() if err := rlsV1Rpc.Call(utils.ResourceSv1GetResourcesForEvent, args, &reply); err != nil { t.Error(err) @@ -322,11 +322,11 @@ func testV1RsTTL0(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 1, }, @@ -340,11 +340,11 @@ func testV1RsTTL0(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 2, }, @@ -356,11 +356,11 @@ func testV1RsTTL0(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e22", utils.OptsResourcesUnits: 4, }, @@ -374,11 +374,11 @@ func testV1RsTTL0(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", }, } @@ -418,11 +418,11 @@ func testV1RsTTL0(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e25", // same ID should be accepted by first group since the previous resource should be expired }, } @@ -444,12 +444,12 @@ func testV1RsAllocateResource(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 3, }, @@ -466,12 +466,12 @@ func testV1RsAllocateResource(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e52", utils.OptsResourcesUnits: 4, }, @@ -488,12 +488,12 @@ func testV1RsAllocateResource(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "dan", "Subject": "dan", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e53", utils.OptsResourcesUnits: 1, }, @@ -510,12 +510,12 @@ func testV1RsAllocateResource(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e54", // same ID should be accepted by first group since the previous resource should be expired utils.OptsResourcesUnits: 1, }, @@ -530,12 +530,12 @@ func testV1RsAllocateResource(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired utils.OptsResourcesUnits: 1, }, @@ -555,12 +555,12 @@ func testV1RsAuthorizeResources(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUnits: 6, utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", }, @@ -573,12 +573,12 @@ func testV1RsAuthorizeResources(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 7, }, @@ -595,12 +595,12 @@ func testV1RsReleaseResource(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired }, } @@ -613,12 +613,12 @@ func testV1RsReleaseResource(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 7, }, @@ -632,12 +632,12 @@ func testV1RsReleaseResource(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event5", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: utils.UUIDSha1Prefix(), }, } @@ -660,12 +660,12 @@ func testV1RsReleaseResource(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired }, } @@ -682,12 +682,12 @@ func testV1RsDBStore(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e71", utils.OptsResourcesUnits: 1, }, @@ -703,12 +703,12 @@ func testV1RsDBStore(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e71", }, } @@ -745,12 +745,12 @@ func testV1RsDBStore(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event4", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e71", }, } @@ -925,11 +925,11 @@ func testV1RsMatchNotFound(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "CustomTest", "Custom": "", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "test", utils.OptsResourcesUnits: 1, }, @@ -969,10 +969,10 @@ func testV1RsAllocateUnlimited(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "UnlimitedEvent", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 1, }, @@ -1098,11 +1098,11 @@ func testV1RsAuthorizeResourcesWithOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_WITH_OPTS", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "CustomField": "1007", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e45", utils.OptsResourcesUnits: 6, @@ -1210,7 +1210,7 @@ func testResourceSCacheTestSet(t *testing.T) { Tenant: "cgrates.org", ID: "RESOURCE_CACHE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -1296,10 +1296,10 @@ func testResourceSCheckThresholdAfterResourceAllocate(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_1", utils.OptsResourcesUnits: 5, }, @@ -1328,10 +1328,10 @@ func testResourceSCheckThresholdAfterResourceRelease(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_1", }, } diff --git a/apier/v1/routes.go b/apier/v1/routes.go index 21109be91..10fe322ce 100644 --- a/apier/v1/routes.go +++ b/apier/v1/routes.go @@ -66,7 +66,7 @@ func (apierSv1 *APIerSv1) GetRouteProfileIDs(args *utils.PaginatorWithTenant, sp type RouteWithAPIOpts struct { *engine.RouteProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetRouteProfile add a new Route configuration @@ -128,7 +128,7 @@ type RouteSv1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (rS *RouteSv1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (rS *RouteSv1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(rS, serviceMethod, args, reply) } diff --git a/apier/v1/routes_it_test.go b/apier/v1/routes_it_test.go index 368d531d8..2bcc29296 100644 --- a/apier/v1/routes_it_test.go +++ b/apier/v1/routes_it_test.go @@ -181,11 +181,11 @@ func testV1RouteGetWeightRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetWeightRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "ROUTE_WEIGHT_1", @@ -193,13 +193,13 @@ func testV1RouteGetWeightRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -228,14 +228,14 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetLeastCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Subject: "1003", utils.Destination: "1002", utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "ROUTE_LEASTCOST_1", @@ -243,7 +243,7 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 15.0, @@ -251,7 +251,7 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 10.0, @@ -259,7 +259,7 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) { }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.2667, utils.RatingPlanID: "RP_RETAIL1", utils.Weight: 20.0, @@ -281,13 +281,13 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetLeastCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Subject: "1003", utils.Destination: "1002", utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "ROUTE_LEASTCOST_1", @@ -295,7 +295,7 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0102, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 15.0, @@ -303,7 +303,7 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0102, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 10.0, @@ -311,7 +311,7 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) { }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.2, utils.RatingPlanID: "RP_RETAIL1", utils.Weight: 20.0, @@ -333,14 +333,14 @@ func testV1RouteGetLeastCostRoutesWithMaxCost(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetLeastCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Subject: "1001", utils.Destination: "1002", utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 1, utils.OptsRoutesMaxCost: 0.30, }, @@ -351,7 +351,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 15.0, @@ -359,7 +359,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 10.0, @@ -381,14 +381,14 @@ func testV1RouteGetLeastCostRoutesWithMaxCostNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetLeastCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Subject: "1001", utils.Destination: "1002", utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: 0.001, }, } @@ -403,7 +403,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetLeastCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Subject: "SPECIAL_1002", utils.Destination: "1002", @@ -411,7 +411,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) { utils.Usage: "10m20s", utils.Category: "call", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 1, utils.OptsRoutesMaxCost: utils.MetaEventCost, }, @@ -422,7 +422,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1054, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 15.0, @@ -430,7 +430,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1054, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 10.0, @@ -452,14 +452,14 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetHighestCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Destination: "1002", utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), utils.Usage: "1m20s", "DistinctMatch": "*highest_cost", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "ROUTE_HIGHESTCOST_1", @@ -467,7 +467,7 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.2667, utils.RatingPlanID: "RP_RETAIL1", utils.Weight: 20.0, @@ -475,7 +475,7 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) { }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 15.0, @@ -483,7 +483,7 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0136, utils.RatingPlanID: "RP_SPECIAL_1002", utils.Weight: 10.0, @@ -505,13 +505,13 @@ func testV1RouteGetLeastCostRoutesErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetHighestCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1000", utils.Destination: "1001", utils.SetupTime: "*now", "Subject": "TEST", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesIgnoreErrors: true, }, } @@ -521,7 +521,7 @@ func testV1RouteGetLeastCostRoutesErr(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -543,7 +543,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -560,7 +560,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -577,7 +577,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 5 * time.Second, @@ -594,7 +594,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 6 * time.Second, @@ -611,7 +611,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -628,7 +628,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -646,7 +646,7 @@ func testV1RoutePolulateStatsForQOS(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 15 * time.Second, @@ -665,7 +665,7 @@ func testV1RouteGetQOSRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetQOSRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "*qos", }, } @@ -694,7 +694,7 @@ func testV1RouteGetQOSRoutes2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetQOSRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "*qos2", }, } @@ -723,7 +723,7 @@ func testV1RouteGetQOSRoutes3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetQOSRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "*qos3", }, } @@ -752,7 +752,7 @@ func testV1RouteGetQOSRoutesFiltred(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetQOSRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "*qos_filtred", }, } @@ -781,7 +781,7 @@ func testV1RouteGetQOSRoutesFiltred2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetQOSRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "*qos_filtred2", utils.AccountField: "1003", utils.Destination: "1002", @@ -814,7 +814,7 @@ func testV1RouteGetRouteWithoutFilter(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetRouteWithoutFilter", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "+49", }, @@ -825,7 +825,7 @@ func testV1RouteGetRouteWithoutFilter(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -1009,7 +1009,7 @@ func testV1RouteGetRouteForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RouteGetHighestCostRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1000", utils.Destination: "1001", utils.SetupTime: "*now", @@ -1137,13 +1137,13 @@ func testV1RoutesOneRouteWithoutDestination(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1RoutesOneRouteWithoutDestination", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "SpecialCase", utils.Destination: "+24680", utils.SetupTime: utils.MetaNow, utils.Usage: "2m", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "ROUTE_DESTINATION", @@ -1151,7 +1151,7 @@ func testV1RoutesOneRouteWithoutDestination(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "local", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0396, "RatingPlanID": "RP_LOCAL", utils.Weight: 10.0, @@ -1211,14 +1211,14 @@ func testV1RouteMultipleRouteSameID(t *testing.T) { Tenant: "cgrates.org", Time: &tNow, ID: "testV1RouteMultipleRouteSameID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "SpecialCase2", utils.Destination: "+135876", utils.SetupTime: utils.MetaNow, utils.Usage: "2m", "Month": "April", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := engine.SortedRoutesList{{ ProfileID: "MULTIPLE_ROUTES", @@ -1226,7 +1226,7 @@ func testV1RouteMultipleRouteSameID(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "Route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0396, "RatingPlanID": "RP_LOCAL", utils.Weight: 10.0, @@ -1247,14 +1247,14 @@ func testV1RouteMultipleRouteSameID(t *testing.T) { Tenant: "cgrates.org", Time: &tNow, ID: "testV1RouteMultipleRouteSameID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "SpecialCase2", utils.Destination: "+135876", utils.SetupTime: utils.MetaNow, utils.Usage: "2m", "Month": "May", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls = engine.SortedRoutesList{{ ProfileID: "MULTIPLE_ROUTES", @@ -1262,7 +1262,7 @@ func testV1RouteMultipleRouteSameID(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "Route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0204, "RatingPlanID": "RP_MOBILE", utils.Weight: 10.0, @@ -1315,7 +1315,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Account: "AccWithVoice", BalanceType: utils.MetaVoice, Value: 30 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "VoiceBalance", }, } @@ -1343,14 +1343,14 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Tenant: "cgrates.org", Time: &tNow, ID: "testV1RouteAccountWithRatingPlan", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "RandomAccount", utils.Destination: "+135876", utils.SetupTime: utils.MetaNow, utils.Usage: "30s", "EventType": "testV1RouteAccountWithRatingPlan", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls := &engine.SortedRoutesList{{ ProfileID: "RouteWithAccAndRP", @@ -1358,7 +1358,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0.0, "MaxUsage": 30000000000.0, @@ -1367,7 +1367,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10.0, @@ -1379,7 +1379,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { (*eSpls)[0].Routes = []*engine.SortedRoute{ { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0., "MaxUsage": 30 * time.Second, @@ -1388,7 +1388,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10., @@ -1411,14 +1411,14 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Tenant: "cgrates.org", Time: &tNow, ID: "testV1RouteAccountWithRatingPlan", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "RandomAccount", utils.Destination: "+135876", utils.SetupTime: utils.MetaNow, utils.Usage: "60s", "EventType": "testV1RouteAccountWithRatingPlan", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls = &engine.SortedRoutesList{{ ProfileID: "RouteWithAccAndRP", @@ -1426,7 +1426,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0.6, "MaxUsage": 30000000000.0, @@ -1436,7 +1436,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10.0, @@ -1448,7 +1448,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { (*eSpls)[0].Routes = []*engine.SortedRoute{ { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0.6, "MaxUsage": 30 * time.Second, @@ -1458,7 +1458,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10., @@ -1481,14 +1481,14 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Tenant: "cgrates.org", Time: &tNow, ID: "testV1RouteAccountWithRatingPlan", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "RandomAccount", utils.Destination: "+135876", utils.SetupTime: utils.MetaNow, utils.Usage: "1m1s", "EventType": "testV1RouteAccountWithRatingPlan", }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } eSpls = &engine.SortedRoutesList{{ ProfileID: "RouteWithAccAndRP", @@ -1496,7 +1496,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.61, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10.0, @@ -1504,7 +1504,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0.62, "MaxUsage": 30000000000.0, @@ -1518,7 +1518,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { (*eSpls)[0].Routes = []*engine.SortedRoute{ { RouteID: "RouteWithRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.61, "RatingPlanID": "RP_ANY1CNT_SEC", utils.Weight: 10., @@ -1526,7 +1526,7 @@ func testV1RouteAccountWithRatingPlan(t *testing.T) { }, { RouteID: "RouteWithAccAndRP", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountField: "AccWithVoice", utils.Cost: 0.62, "MaxUsage": 30 * time.Second, @@ -1650,7 +1650,7 @@ func testRouteSCacheTestSet(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/schedulers.go b/apier/v1/schedulers.go index 3ce137bf6..382a62e01 100644 --- a/apier/v1/schedulers.go +++ b/apier/v1/schedulers.go @@ -180,6 +180,6 @@ func (schdSv1 *SchedulerSv1) Ping(ign *utils.CGREvent, reply *string) error { // Call implements rpcclient.ClientConnector interface for internal RPC func (schdSv1 *SchedulerSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(schdSv1, serviceMethod, args, reply) } diff --git a/apier/v1/servicemanager.go b/apier/v1/servicemanager.go index f238a9505..34198eaff 100644 --- a/apier/v1/servicemanager.go +++ b/apier/v1/servicemanager.go @@ -52,6 +52,6 @@ func (servManager *ServiceManagerV1) Ping(ign *utils.CGREvent, reply *string) er // Call implements rpcclient.ClientConnector interface for internal RPC func (servManager *ServiceManagerV1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(servManager, serviceMethod, args, reply) } diff --git a/apier/v1/sessions.go b/apier/v1/sessions.go index ba2c4f174..357d2aacf 100644 --- a/apier/v1/sessions.go +++ b/apier/v1/sessions.go @@ -140,7 +140,7 @@ func (ssv1 *SessionSv1) DeactivateSessions(args *utils.SessionIDsWithArgsDispatc // Call implements rpcclient.ClientConnector interface for internal RPC func (ssv1 *SessionSv1) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(ssv1, serviceMethod, args, reply) } diff --git a/apier/v1/sessions_process_event_it_test.go b/apier/v1/sessions_process_event_it_test.go index 9302a93e4..4101d8909 100644 --- a/apier/v1/sessions_process_event_it_test.go +++ b/apier/v1/sessions_process_event_it_test.go @@ -167,7 +167,7 @@ func testSSv1ItProcessEventAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -202,13 +202,13 @@ func testSSv1ItProcessEventAuth(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, @@ -218,7 +218,7 @@ func testSSv1ItProcessEventAuth(t *testing.T) { Sorting: utils.MetaWeight, Routes: []*engine.SortedRoute{{ RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }}, @@ -233,7 +233,7 @@ func testSSv1ItProcessEventAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "4be779c004d9f784e836db9ffd41b50319d71fe8", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -246,7 +246,7 @@ func testSSv1ItProcessEventAuth(t *testing.T) { utils.SetupTime: "2018-01-07T17:00:00Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsResourcesUnits: 1., utils.OptsResourcesUsageID: "testSSv1ItProcessEvent", @@ -271,7 +271,7 @@ func testSSv1ItProcessEventInitiateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -311,7 +311,7 @@ func testSSv1ItProcessEventInitiateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "4be779c004d9f784e836db9ffd41b50319d71fe8", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -325,7 +325,7 @@ func testSSv1ItProcessEventInitiateSession(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsResourcesUnits: 1., utils.OptsResourcesUsageID: "testSSv1ItProcessEvent", @@ -354,7 +354,7 @@ func testSSv1ItProcessEventUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -379,7 +379,7 @@ func testSSv1ItProcessEventUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "4be779c004d9f784e836db9ffd41b50319d71fe8", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -393,7 +393,7 @@ func testSSv1ItProcessEventUpdateSession(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, }, @@ -430,7 +430,7 @@ func testSSv1ItProcessEventTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -460,7 +460,7 @@ func testSSv1ItProcessCDRForSessionFromProcessEvent(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessCDRForSessionFromProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -534,7 +534,7 @@ func testSSv1ItProcessEventWithGetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithGetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost", @@ -573,7 +573,7 @@ func testSSv1ItProcessEventWithGetCost2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithGetCost2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost2", @@ -614,7 +614,7 @@ func testSSv1ItProcessEventWithGetCost3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithGetCost3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost3", @@ -652,7 +652,7 @@ func testSSv1ItProcessEventWithGetCost4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithGetCost4", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost4", @@ -680,7 +680,7 @@ func testSSv1ItGetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItGetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost", @@ -720,7 +720,7 @@ func testSSv1ItProcessEventWithCDR(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEventWithCDR", @@ -797,7 +797,7 @@ func testSSv1ItProcessEventWithCDRResourceError(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithCDRResourceError", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEventWithCDRResourceError", @@ -875,7 +875,7 @@ func testSSv1ItProcessEventWithCDRResourceErrorBlockError(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventWithCDRResourceErrorBlockError", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEventWithCDRResourceErrorBlockError", diff --git a/apier/v1/sessions_thresholds_it_test.go b/apier/v1/sessions_thresholds_it_test.go index 078ea4c86..a5dcfcf40 100644 --- a/apier/v1/sessions_thresholds_it_test.go +++ b/apier/v1/sessions_thresholds_it_test.go @@ -124,7 +124,7 @@ func testSessionSv1ItRpcConn(t *testing.T) { if err != nil { t.Fatal(err) } - clntHandlers := map[string]interface{}{ + clntHandlers := map[string]any{ utils.SessionSv1DisconnectSession: handleDisconnectSession2, } if sSv1BiRpc2, err = utils.NewBiJSONrpcClient(sSv1Cfg2.SessionSCfg().ListenBijson, @@ -210,7 +210,7 @@ func testSessionSv1ItAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSSv1It1", utils.RequestType: utils.MetaPrepaid, utils.AccountField: "1001", @@ -271,7 +271,7 @@ func testSessionSv1ItInitiateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -333,7 +333,7 @@ func testSessionSv1ItTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSSv1It1", utils.RequestType: utils.MetaPrepaid, utils.AccountField: "1001", @@ -390,7 +390,7 @@ func testSessionSv1ItAuthNotFoundThreshold(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSesssonSv1ItNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSesssonSv1ItNotFoundThreshold", utils.RequestType: utils.MetaPrepaid, utils.AccountField: "1002", @@ -423,7 +423,7 @@ func testSessionSv1ItInitNotFoundThreshold(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSv1ItInitNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaData, @@ -474,7 +474,7 @@ func testSessionSv1ItTerminateNotFoundThreshold(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSv1ItTerminateNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaData, @@ -522,7 +522,7 @@ func testSessionSv1ItAuthNotFoundThresholdAndStats(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSesssonSv1ItNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSesssonSv1ItNotFoundThreshold", utils.RequestType: utils.MetaPrepaid, utils.AccountField: "1002", @@ -556,7 +556,7 @@ func testSessionSv1ItInitNotFoundThresholdAndStats(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSv1ItInitNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaData, @@ -608,7 +608,7 @@ func testSessionSv1ItTerminateNotFoundThresholdAndStats(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSv1ItTerminateNotFoundThreshold", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaData, diff --git a/apier/v1/sessionsbirpc.go b/apier/v1/sessionsbirpc.go index 095c760a4..fbe7505c0 100644 --- a/apier/v1/sessionsbirpc.go +++ b/apier/v1/sessionsbirpc.go @@ -27,8 +27,8 @@ import ( ) // Bidirectional JSON methods following -func (ssv1 *SessionSv1) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (ssv1 *SessionSv1) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1GetActiveSessions: ssv1.BiRPCv1GetActiveSessions, utils.SessionSv1GetActiveSessionsCount: ssv1.BiRPCv1GetActiveSessionsCount, utils.SessionSv1GetPassiveSessions: ssv1.BiRPCv1GetPassiveSessions, @@ -207,7 +207,7 @@ func (ssv1 *SessionSv1) BiRPCV1Sleep(clnt *rpc2.Client, args *utils.DurationArgs return nil } -func (ssv1 *SessionSv1) BiRPCV1CapsError(clnt *rpc2.Client, args interface{}, +func (ssv1 *SessionSv1) BiRPCV1CapsError(clnt *rpc2.Client, args any, reply *string) (err error) { return ssv1.sS.BiRPCv1CapsError(clnt, args, reply) } diff --git a/apier/v1/sessionsv1_it_test.go b/apier/v1/sessionsv1_it_test.go index 6ee9a3a3a..a15faa395 100644 --- a/apier/v1/sessionsv1_it_test.go +++ b/apier/v1/sessionsv1_it_test.go @@ -165,7 +165,7 @@ func testSSv1ItRpcConn(t *testing.T) { if err != nil { t.Fatal(err) } - clntHandlers := map[string]interface{}{ + clntHandlers := map[string]any{ utils.SessionSv1DisconnectSession: handleDisconnectSession, utils.SessionSv1GetActiveSessionIDs: handleGetSessionIDs, } @@ -210,7 +210,7 @@ func testSSv1ItAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -239,13 +239,13 @@ func testSSv1ItAuth(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, @@ -255,7 +255,7 @@ func testSSv1ItAuth(t *testing.T) { Sorting: utils.MetaWeight, Routes: []*engine.SortedRoute{{ RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }}, @@ -269,7 +269,7 @@ func testSSv1ItAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -282,7 +282,7 @@ func testSSv1ItAuth(t *testing.T) { utils.SetupTime: "2018-01-07T17:00:00Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, utils.OptsResourcesUsageID: "TestSSv1It1", @@ -306,7 +306,7 @@ func testSSv1ItAuthWithDigest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -317,7 +317,7 @@ func testSSv1ItAuthWithDigest(t *testing.T) { utils.SetupTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, }, } var rply sessions.V1AuthorizeReplyWithDigest @@ -351,7 +351,7 @@ func testSSv1ItInitiateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -385,7 +385,7 @@ func testSSv1ItInitiateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -399,7 +399,7 @@ func testSSv1ItInitiateSession(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, utils.OptsResourcesUnits: 1., @@ -428,7 +428,7 @@ func testSSv1ItInitiateSessionWithDigest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It2", @@ -477,7 +477,7 @@ func testSSv1ItUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -502,7 +502,7 @@ func testSSv1ItUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -516,7 +516,7 @@ func testSSv1ItUpdateSession(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, }, @@ -547,7 +547,7 @@ func testSSv1ItTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -580,7 +580,7 @@ func testSSv1ItProcessCDR(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -613,7 +613,7 @@ func testSSv1ItProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It2", @@ -648,7 +648,7 @@ func testSSv1ItProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "f7f5cf1029905f9b98be1a608e4bd975b8e51413", utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, @@ -663,7 +663,7 @@ func testSSv1ItProcessEvent(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, utils.OptsResourcesUnits: 1., @@ -806,7 +806,7 @@ func testSSv1ItForceUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -832,7 +832,7 @@ func testSSv1ItForceUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "70876773b294f0e1476065f8d18bb9ec6bcb3d5f", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -847,7 +847,7 @@ func testSSv1ItForceUpdateSession(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAttributesProfileIDs: nil, }, @@ -933,7 +933,7 @@ func testSSv1ItDynamicDebit(t *testing.T) { Account: "TestDynamicDebit", BalanceType: utils.MetaVoice, Value: 2 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -963,7 +963,7 @@ func testSSv1ItDynamicDebit(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -976,7 +976,7 @@ func testSSv1ItDynamicDebit(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: 30 * time.Millisecond, }, }, @@ -1060,7 +1060,7 @@ func testSSv1ItDeactivateSessions(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It1", @@ -1110,7 +1110,7 @@ func testSSv1ItAuthNotFoundCharger(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "Unexist", ID: "testSSv1ItAuthNotFoundCharger", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "Unexist", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItAuthNotFoundCharger", @@ -1137,7 +1137,7 @@ func testSSv1ItInitiateSessionNotFoundCharger(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "Unexist", ID: "testSSv1ItInitiateSessionNotFoundCharger", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "Unexist", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItInitiateSessionNotFoundCharger", diff --git a/apier/v1/smg.go b/apier/v1/smg.go index f9c033245..5c8e277af 100644 --- a/apier/v1/smg.go +++ b/apier/v1/smg.go @@ -35,31 +35,31 @@ type SMGenericV1 struct { } // Returns MaxUsage (for calls in seconds), -1 for no limit -func (smgv1 *SMGenericV1) GetMaxUsage(ev map[string]interface{}, +func (smgv1 *SMGenericV1) GetMaxUsage(ev map[string]any, maxUsage *float64) error { return smgv1.Ss.BiRPCV1GetMaxUsage(nil, ev, maxUsage) } // Called on session start, returns the maximum number of seconds the session can last -func (smgv1 *SMGenericV1) InitiateSession(ev map[string]interface{}, +func (smgv1 *SMGenericV1) InitiateSession(ev map[string]any, maxUsage *float64) error { return smgv1.Ss.BiRPCV1InitiateSession(nil, ev, maxUsage) } // Interim updates, returns remaining duration from the rater -func (smgv1 *SMGenericV1) UpdateSession(ev map[string]interface{}, +func (smgv1 *SMGenericV1) UpdateSession(ev map[string]any, maxUsage *float64) error { return smgv1.Ss.BiRPCV1UpdateSession(nil, ev, maxUsage) } // Called on session end, should stop debit loop -func (smgv1 *SMGenericV1) TerminateSession(ev map[string]interface{}, +func (smgv1 *SMGenericV1) TerminateSession(ev map[string]any, reply *string) error { return smgv1.Ss.BiRPCV1TerminateSession(nil, ev, reply) } // Called on session end, should send the CDR to CDRS -func (smgv1 *SMGenericV1) ProcessCDR(ev map[string]interface{}, +func (smgv1 *SMGenericV1) ProcessCDR(ev map[string]any, reply *string) error { return smgv1.Ss.BiRPCV1ProcessCDR(nil, ev, reply) } diff --git a/apier/v1/smgbirpc.go b/apier/v1/smgbirpc.go index 808a9b2e9..282b5c9e9 100644 --- a/apier/v1/smgbirpc.go +++ b/apier/v1/smgbirpc.go @@ -24,8 +24,8 @@ import ( ) // Publishes methods exported by SMGenericV1 as SMGenericV1 (so we can handle standard RPC methods via birpc socket) -func (smgv1 *SMGenericV1) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (smgv1 *SMGenericV1) Handlers() map[string]any { + return map[string]any{ "SMGenericV1.GetMaxUsage": smgv1.BiRPCV1GetMaxUsage, "SMGenericV1.InitiateSession": smgv1.BiRPCV1InitiateSession, "SMGenericV1.UpdateSession": smgv1.BiRPCV1UpdateSession, @@ -37,36 +37,36 @@ func (smgv1 *SMGenericV1) Handlers() map[string]interface{} { // / Returns MaxUsage (for calls in seconds), -1 for no limit func (smgv1 *SMGenericV1) BiRPCV1GetMaxUsage(clnt *rpc2.Client, - ev map[string]interface{}, maxUsage *float64) (err error) { + ev map[string]any, maxUsage *float64) (err error) { return smgv1.Ss.BiRPCV1GetMaxUsage(clnt, ev, maxUsage) } // Called on session start, returns the maximum number of seconds the session can last func (smgv1 *SMGenericV1) BiRPCV1InitiateSession(clnt *rpc2.Client, - ev map[string]interface{}, maxUsage *float64) (err error) { + ev map[string]any, maxUsage *float64) (err error) { return smgv1.Ss.BiRPCV1InitiateSession(clnt, ev, maxUsage) } // Interim updates, returns remaining duration from the rater func (smgv1 *SMGenericV1) BiRPCV1UpdateSession(clnt *rpc2.Client, - ev map[string]interface{}, maxUsage *float64) (err error) { + ev map[string]any, maxUsage *float64) (err error) { return smgv1.Ss.BiRPCV1UpdateSession(clnt, ev, maxUsage) } // Called on session end, should stop debit loop func (smgv1 *SMGenericV1) BiRPCV1TerminateSession(clnt *rpc2.Client, - ev map[string]interface{}, reply *string) (err error) { + ev map[string]any, reply *string) (err error) { return smgv1.Ss.BiRPCV1TerminateSession(clnt, ev, reply) } // Called on session end, should send the CDR to CDRS func (smgv1 *SMGenericV1) BiRPCV1ProcessCDR(clnt *rpc2.Client, - ev map[string]interface{}, reply *string) (err error) { + ev map[string]any, reply *string) (err error) { return smgv1.Ss.BiRPCV1ProcessCDR(clnt, ev, reply) } // BiRPCv1CapsError is used to return error when the caps limit is hit func (smgv1 *SMGenericV1) BiRPCV1CapsError(clnt *rpc2.Client, - args interface{}, reply *string) (err error) { + args any, reply *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } diff --git a/apier/v1/stats.go b/apier/v1/stats.go index 0c23ddce2..a6957ed2c 100644 --- a/apier/v1/stats.go +++ b/apier/v1/stats.go @@ -129,7 +129,7 @@ type StatSv1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (stsv1 *StatSv1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (stsv1 *StatSv1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(stsv1, serviceMethod, args, reply) } diff --git a/apier/v1/stats_it_test.go b/apier/v1/stats_it_test.go index 19ef0b075..95d7f2f5c 100644 --- a/apier/v1/stats_it_test.go +++ b/apier/v1/stats_it_test.go @@ -45,7 +45,7 @@ var ( { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, @@ -53,14 +53,14 @@ var ( { Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second}}, { Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.SetupTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 0}}, @@ -291,7 +291,7 @@ func testV1STSProcessEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, @@ -345,7 +345,7 @@ func testV1STSProcessEvent(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -360,7 +360,7 @@ func testV1STSProcessEvent(t *testing.T) { args3 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.SetupTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 0, @@ -673,7 +673,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctVal": "RandomVal", utils.Usage: 6 * time.Second, "CustomValue": 7.0, @@ -701,7 +701,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctVal": "RandomVal", utils.Usage: 12 * time.Second, "CustomValue": 10.0, @@ -780,7 +780,7 @@ func testV1STSProcessStaticMetrics(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "StaticMetrics": "StaticMetrics", }, } @@ -905,7 +905,7 @@ func testV1STSProcessStatWithThreshold(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEvent": "CustomEvent", utils.Usage: 45 * time.Second, }, @@ -1208,7 +1208,7 @@ func testV1STSProcessStatWithThreshold2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEvent2": "CustomEvent2", utils.Usage: 45 * time.Second, }, @@ -1362,7 +1362,7 @@ func testV1STSV1GetStatQueuesForEventWithoutTenant(t *testing.T) { estats := []string{"Stats1"} if err := stsV1Rpc.Call(utils.StatSv1GetStatQueuesForEvent, &utils.CGREvent{ ID: "GetStats", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -1370,7 +1370,7 @@ func testV1STSV1GetStatQueuesForEventWithoutTenant(t *testing.T) { utils.Cost: 10.0, utils.Destination: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { @@ -1435,7 +1435,7 @@ func testV1STSSimulateAccountUpdate(t *testing.T) { Account: "testV1STSSimulateAccountUpdate", BalanceType: "*monetary", Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "HolidayBalance", }, } @@ -1458,7 +1458,7 @@ func testV1STSSimulateAccountUpdate(t *testing.T) { Tenant: "cgrates.org", ID: "SIMULATE_ACNT_UPDATE_EV", Event: acnt.AsAccountSummary().AsMapInterface(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -1538,7 +1538,7 @@ func testV1STSGetStatQueueWithoutExpired(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1012", - Event: map[string]interface{}{ + Event: map[string]any{ "StatQ": "Sq1Nanao", utils.Usage: 10, }, @@ -1601,7 +1601,7 @@ func testV1STSGetStatQueueWithoutStored(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Sq1NotStored", - Event: map[string]interface{}{ + Event: map[string]any{ "StatQ": "Sq1NotStored", utils.Usage: 10 * time.Second, }, @@ -1670,14 +1670,14 @@ func testStatSCacheProcessEventNotFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "STAT_CACHE", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, utils.Cost: 123.0, utils.PDD: 12 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"STAT_CACHE"}, }, } @@ -1690,14 +1690,14 @@ func testStatSCacheProcessEventFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "STAT_CACHE", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, utils.Cost: 123.0, utils.PDD: 12 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"STAT_CACHE"}, }, } @@ -1713,7 +1713,7 @@ func testStatSCacheSet(t *testing.T) { Tenant: "cgrates.org", ID: "STAT_CACHE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/thresholds.go b/apier/v1/thresholds.go index b1ff4aaeb..d27736105 100644 --- a/apier/v1/thresholds.go +++ b/apier/v1/thresholds.go @@ -36,7 +36,7 @@ type ThresholdSv1 struct { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (tSv1 *ThresholdSv1) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (tSv1 *ThresholdSv1) Call(serviceMethod string, args any, reply any) error { return utils.APIerRPCCall(tSv1, serviceMethod, args, reply) } diff --git a/apier/v1/thresholds_it_test.go b/apier/v1/thresholds_it_test.go index 6057555b4..acf4b28cf 100644 --- a/apier/v1/thresholds_it_test.go +++ b/apier/v1/thresholds_it_test.go @@ -45,34 +45,34 @@ var ( { // hitting THD_ACNT_BALANCE_1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.AccountUpdate, utils.AccountField: "1002", utils.AllowNegative: true, utils.Disabled: false, utils.Units: 12.3}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, }, { // hitting THD_ACNT_BALANCE_1 Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.AccountField: "1002", utils.BalanceID: utils.MetaDefault, utils.Units: 12.3, utils.ExpiryTime: time.Date(2009, 11, 10, 23, 00, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, }, { // hitting THD_STATS_1 Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: "Stats1", utils.AccountField: "1002", @@ -83,14 +83,14 @@ var ( "ACC": 0.75, "PDD": "2s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.StatUpdate, }, }, { // hitting THD_STATS_1 and THD_STATS_2 Tenant: "cgrates.org", ID: "event4", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: "STATS_HOURLY_DE", utils.AccountField: "1002", @@ -98,67 +98,67 @@ var ( "ACD": "2m45s", "TCD": "1h", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.StatUpdate, }, }, { // hitting THD_STATS_3 Tenant: "cgrates.org", ID: "event5", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: "STATS_DAILY_DE", utils.AccountField: "1002", "ACD": "2m45s", "TCD": "3h1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.StatUpdate, }, }, { // hitting THD_RES_1 Tenant: "cgrates.org", ID: "event6", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.AccountField: "1002", utils.ResourceID: "RES_GRP_1", utils.Usage: 10.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, }, }, { // hitting THD_RES_1 Tenant: "cgrates.org", ID: "event6", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.AccountField: "1002", utils.ResourceID: "RES_GRP_1", utils.Usage: 10.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, }, }, { // hitting THD_RES_1 Tenant: "cgrates.org", ID: "event6", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.AccountField: "1002", utils.ResourceID: "RES_GRP_1", utils.Usage: 10.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, }, }, { // hitting THD_CDRS_1 Tenant: "cgrates.org", ID: "cdrev1", - Event: map[string]interface{}{ + Event: map[string]any{ "field_extr1": "val_extr1", "fieldextr2": "valextr2", utils.CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()), @@ -181,7 +181,7 @@ var ( utils.Route: "SUPPL1", utils.Cost: -1.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, }, @@ -602,7 +602,7 @@ func testV1TSMaxHits(t *testing.T) { thEvent := &utils.CGREvent{ // hitting TH3 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -707,10 +707,10 @@ func testV1TSUpdateSnooze(t *testing.T) { thEvent := &utils.CGREvent{ // hitting TH4 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEv": "SnoozeEv", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH4"}, }, } @@ -839,10 +839,10 @@ func testV1TSProcessEventWithoutTenant(t *testing.T) { eIDs := []string{"TH4"} thEvent := &utils.CGREvent{ // hitting TH4 ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEv": "SnoozeEv", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH4"}, }, } @@ -909,7 +909,7 @@ func testV1TSProcessAccountUpdateEvent(t *testing.T) { Account: "testV1TSProcessAccountUpdateEvent", BalanceType: "*monetary", Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "HolidayBalance", }, } @@ -932,7 +932,7 @@ func testV1TSProcessAccountUpdateEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SIMULATE_ACNT_UPDATE_EV", Event: acnt.AsAccountSummary().AsMapInterface(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -1015,10 +1015,10 @@ func testThresholdSCacheProcessEventNotFound(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "THRESHOLD_CACHE", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEv": "SnoozeEv", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THRESHOLD_CACHE"}, }, } @@ -1032,10 +1032,10 @@ func testThresholdSCacheProcessEventFound(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "THRESHOLD_CACHE", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomEv": "SnoozeEv", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THRESHOLD_CACHE"}, }, } @@ -1051,7 +1051,7 @@ func testThresholdSCacheSet(t *testing.T) { Tenant: "cgrates.org", ID: "THRESHOLD_CACHE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } diff --git a/apier/v1/timing_it_test.go b/apier/v1/timing_it_test.go index 1e05b7ad9..df6faaf49 100644 --- a/apier/v1/timing_it_test.go +++ b/apier/v1/timing_it_test.go @@ -136,7 +136,7 @@ func testTimingSetTiming(t *testing.T) { StartTime: "00:00:00", EndTime: "00:00:01", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string diff --git a/apier/v1/triggers.go b/apier/v1/triggers.go index 54a95d862..6cd9de00c 100644 --- a/apier/v1/triggers.go +++ b/apier/v1/triggers.go @@ -208,7 +208,7 @@ type AttrSetAccountActionTriggers struct { type AttrSetActionTrigger struct { GroupID string UniqueID string - ActionTrigger map[string]interface{} + ActionTrigger map[string]any } // UpdateActionTrigger updates the ActionTrigger if is matching diff --git a/apier/v1/triggers_test.go b/apier/v1/triggers_test.go index b5103fbb9..02db79102 100644 --- a/apier/v1/triggers_test.go +++ b/apier/v1/triggers_test.go @@ -46,7 +46,7 @@ func TestAttrSetActionTriggerUpdateActionTrigger(t *testing.T) { ast = AttrSetActionTrigger{ GroupID: "GroupID", UniqueID: "ID", - ActionTrigger: map[string]interface{}{ + ActionTrigger: map[string]any{ utils.ThresholdType: "THR", utils.ThresholdValue: 10, utils.Recurrent: false, @@ -56,7 +56,7 @@ func TestAttrSetActionTriggerUpdateActionTrigger(t *testing.T) { utils.ActivationDate: tNow, utils.BalanceID: "*default", utils.BalanceType: "*call", - utils.BalanceDestinationIds: []interface{}{"DST1", "DST2"}, + utils.BalanceDestinationIds: []any{"DST1", "DST2"}, utils.BalanceWeight: 10, utils.BalanceExpirationDate: tNow, utils.BalanceTimingTags: []string{"*asap"}, diff --git a/apier/v2/apier.go b/apier/v2/apier.go index e59786431..1490810a7 100644 --- a/apier/v2/apier.go +++ b/apier/v2/apier.go @@ -40,7 +40,7 @@ type APIerSv2 struct { // Call implements rpcclient.ClientConnector interface for internal RPC func (apiv2 *APIerSv2) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(apiv2, serviceMethod, args, reply) } @@ -67,7 +67,7 @@ func (apiv2 *APIerSv2) LoadRatingProfile(attrs *AttrLoadRatingProfile, reply *st if err := apiv2.DataManager.SetLoadIDs(map[string]int64{utils.CacheRatingProfiles: time.Now().UnixNano()}); err != nil { return utils.APIErrorHandler(err) } - if err = dbReader.ReloadCache(config.CgrConfig().GeneralCfg().DefaultCaching, true, make(map[string]interface{}), apiv2.Config.GeneralCfg().DefaultTenant); err != nil { + if err = dbReader.ReloadCache(config.CgrConfig().GeneralCfg().DefaultCaching, true, make(map[string]any), apiv2.Config.GeneralCfg().DefaultTenant); err != nil { return utils.NewErrServerError(err) } *reply = utils.OK diff --git a/apier/v2/apierv2_it_test.go b/apier/v2/apierv2_it_test.go index d8c6c16af..b3786647b 100644 --- a/apier/v2/apierv2_it_test.go +++ b/apier/v2/apierv2_it_test.go @@ -136,7 +136,7 @@ func testAPIerSv2itAddBalance(t *testing.T) { Account: "dan", BalanceType: utils.MetaMonetary, Value: 5.0, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, @@ -175,7 +175,7 @@ func testAPIerSv2itSetAccountActionTriggers(t *testing.T) { Account: "dan", AttrSetActionTrigger: v1.AttrSetActionTrigger{ GroupID: "MONITOR_MAX_BALANCE", - ActionTrigger: map[string]interface{}{ + ActionTrigger: map[string]any{ utils.ThresholdType: utils.TriggerMaxBalance, utils.ThresholdValue: 50, utils.BalanceType: utils.MetaMonetary, @@ -210,7 +210,7 @@ func testAPIerSv2itFraudMitigation(t *testing.T) { Account: "dan", BalanceType: utils.MetaMonetary, Value: 60.0, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, diff --git a/apier/v2/attributes.go b/apier/v2/attributes.go index d1fbf1c7d..db907a81d 100644 --- a/apier/v2/attributes.go +++ b/apier/v2/attributes.go @@ -27,7 +27,7 @@ import ( type AttributeWithAPIOpts struct { *engine.APIAttributeProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetAttributeProfile add/update a new Attribute Profile diff --git a/apier/v2/cdrs_it_test.go b/apier/v2/cdrs_it_test.go index 71ef1e135..5b943f025 100644 --- a/apier/v2/cdrs_it_test.go +++ b/apier/v2/cdrs_it_test.go @@ -152,7 +152,7 @@ func testV2CDRsProcessCDR(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR1", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR", @@ -342,7 +342,7 @@ func testV2CDRsUsageNegative(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsUsageNegative", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsUsageNegative", @@ -443,7 +443,7 @@ func testV2CDRsDifferentTenants(t *testing.T) { Blocker: false, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -476,7 +476,7 @@ func testV2CDRsDifferentTenants(t *testing.T) { AttributeIDs: []string{"*none"}, Weight: 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -497,7 +497,7 @@ func testV2CDRsDifferentTenants(t *testing.T) { Flags: []string{utils.MetaAttributes, utils.MetaChargers, "*stats:false", "*thresholds:false", utils.MetaStore}, CGREvent: utils.CGREvent{ Tenant: "cgrates.com", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsDifferentTenants", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsDifferentTenants", @@ -556,7 +556,7 @@ func testV2CDRsProcessCDRNoRattingPlan(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR4", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR4", @@ -764,7 +764,7 @@ func testV2CDRsSetThreshold(t *testing.T) { Account: "1005", BalanceType: utils.MetaMonetary, Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, @@ -779,7 +779,7 @@ func testV2CDRsProcessCDRWithThreshold(t *testing.T) { Flags: []string{utils.MetaThresholds, utils.MetaRALs, utils.ConcatenatedKey(utils.MetaChargers, "false")}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDRWithThreshold", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDRWithThreshold", @@ -818,7 +818,7 @@ func testv2CDRsGetCDRsDest(t *testing.T) { Flags: []string{utils.MetaStore}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "9b3cd5e698af94f8916220866c831a982ed16318", utils.ToR: utils.MetaVoice, utils.RunID: "raw", @@ -872,7 +872,7 @@ func testV2CDRsRerate(t *testing.T) { AttributeIDs: []string{"*none"}, Weight: 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -894,7 +894,7 @@ func testV2CDRsRerate(t *testing.T) { Account: "voiceAccount", BalanceType: utils.MetaVoice, Value: 600000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, "RatingSubject": "*zero1m", utils.Weight: 10.0, @@ -916,7 +916,7 @@ func testV2CDRsRerate(t *testing.T) { Flags: []string{utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsRerate", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsRerate", @@ -948,7 +948,7 @@ func testV2CDRsRerate(t *testing.T) { Flags: []string{utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsRerate", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsRerate", @@ -988,7 +988,7 @@ func testv2CDRsDynaPrepaid(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testv2CDRsDynaPrepaid", utils.OriginHost: "192.168.1.1", utils.Source: "testv2CDRsDynaPrepaid", @@ -1038,7 +1038,7 @@ func testV2CDRsDuplicateCDRs(t *testing.T) { AttributeIDs: []string{"*none"}, Weight: 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -1060,7 +1060,7 @@ func testV2CDRsDuplicateCDRs(t *testing.T) { Account: "testV2CDRsDuplicateCDRs", BalanceType: utils.MetaVoice, Value: 600000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, "RatingSubject": "*zero1m", utils.Weight: 10.0, @@ -1082,7 +1082,7 @@ func testV2CDRsDuplicateCDRs(t *testing.T) { Flags: []string{utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsDuplicateCDRs", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsDuplicateCDRs", @@ -1119,7 +1119,7 @@ func testV2CDRsDuplicateCDRs(t *testing.T) { Flags: []string{utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsDuplicateCDRs", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsDuplicateCDRs", diff --git a/apier/v2/cdrs_offline_it_test.go b/apier/v2/cdrs_offline_it_test.go index 63906966e..0113ba6f5 100644 --- a/apier/v2/cdrs_offline_it_test.go +++ b/apier/v2/cdrs_offline_it_test.go @@ -126,7 +126,7 @@ func testV2CDRsOfflineBalanceUpdate(t *testing.T) { Account: "test", BalanceType: utils.MetaMonetary, Value: 10.0, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, @@ -188,7 +188,7 @@ func testV2CDRsOfflineBalanceUpdate(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsOfflineProcessCDR2", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsOfflineProcessCDR", @@ -307,7 +307,7 @@ func testV2CDRsOfflineExpiryBalance(t *testing.T) { args := &engine.ArgV1ProcessEvent{ CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsOfflineProcessCDR1", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsOfflineProcessCDR", @@ -336,7 +336,7 @@ func testV2CDRsBalancesWithSameWeight(t *testing.T) { Account: "specialTest", BalanceType: utils.MetaMonetary, Value: 10.0, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "SpecialBalance1", utils.Weight: 10.0, }, @@ -359,7 +359,7 @@ func testV2CDRsBalancesWithSameWeight(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsBalancesWithSameWeight", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsBalancesWithSameWeight", diff --git a/cmd/cgr-console/cgr-console_it_test.go b/cmd/cgr-console/cgr-console_it_test.go index 8245014a1..2053c34e6 100644 --- a/cmd/cgr-console/cgr-console_it_test.go +++ b/cmd/cgr-console/cgr-console_it_test.go @@ -536,7 +536,7 @@ func testConsoleItStatsMetrics(t *testing.T) { cmd := exec.Command("cgr-console", "stats_metrics", `ID="Stats2"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "*tcc": "N/A", "*tcd": "N/A", } @@ -545,7 +545,7 @@ func testConsoleItStatsMetrics(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Fatal(err) @@ -559,8 +559,8 @@ func testConsoleItGetJsonSection(t *testing.T) { cmd := exec.Command("cgr-console", "get_json_section", `Section="cores"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "cores": map[string]interface{}{ + expected := map[string]any{ + "cores": map[string]any{ "caps": 0., "caps_stats_interval": "0", "caps_strategy": "*busy", @@ -572,7 +572,7 @@ func testConsoleItGetJsonSection(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -644,19 +644,19 @@ func testConsoleItRoutesProfilesForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "routes_profiles_for_event", `ID="123"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "ROUTE_ACNT_1001", - "FilterIDs": []interface{}{"FLTR_ACNT_1001"}, - "ActivationInterval": map[string]interface{}{ + "FilterIDs": []any{"FLTR_ACNT_1001"}, + "ActivationInterval": map[string]any{ "ActivationTime": "2017-11-27T00:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "Sorting": "*weight", - "SortingParameters": []interface{}{}, - "Routes": []interface{}{ - map[string]interface{}{ + "SortingParameters": []any{}, + "Routes": []any{ + map[string]any{ "ID": "route1", "FilterIDs": nil, "AccountIDs": nil, @@ -667,7 +667,7 @@ func testConsoleItRoutesProfilesForEvent(t *testing.T) { "Blocker": false, "RouteParameters": "", }, - map[string]interface{}{ + map[string]any{ "ID": "route2", "FilterIDs": nil, "AccountIDs": nil, @@ -687,12 +687,12 @@ func testConsoleItRoutesProfilesForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } - sort.Slice(rcv[0].(map[string]interface{})["Routes"], func(i, j int) bool { - return utils.IfaceAsString(rcv[0].(map[string]interface{})["Routes"].([]interface{})[i].(map[string]interface{})["ID"]) < utils.IfaceAsString(rcv[0].(map[string]interface{})["Routes"].([]interface{})[j].(map[string]interface{})["ID"]) + sort.Slice(rcv[0].(map[string]any)["Routes"], func(i, j int) bool { + return utils.IfaceAsString(rcv[0].(map[string]any)["Routes"].([]any)[i].(map[string]any)["ID"]) < utils.IfaceAsString(rcv[0].(map[string]any)["Routes"].([]any)[j].(map[string]any)["ID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %s \n but received \n %s", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -703,20 +703,20 @@ func testConsoleItStatsProfile(t *testing.T) { cmd := exec.Command("cgr-console", "stats_profile", `Tenant="cgrates.org"`, `ID="Stats2"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "ActivationInterval": map[string]interface{}{ + expected := map[string]any{ + "ActivationInterval": map[string]any{ "ActivationTime": "2014-07-29T15:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "Blocker": true, - "FilterIDs": []interface{}{"FLTR_ACNT_1001_1002"}, + "FilterIDs": []any{"FLTR_ACNT_1001_1002"}, "ID": "Stats2", - "Metrics": []interface{}{ - map[string]interface{}{ + "Metrics": []any{ + map[string]any{ "FilterIDs": nil, "MetricID": "*tcc", }, - map[string]interface{}{ + map[string]any{ "FilterIDs": nil, "MetricID": "*tcd", }, @@ -726,7 +726,7 @@ func testConsoleItStatsProfile(t *testing.T) { "Stored": false, "TTL": "-1ns", "Tenant": "cgrates.org", - "ThresholdIDs": []interface{}{"*none"}, + "ThresholdIDs": []any{"*none"}, "Weight": 30., } if err := cmd.Run(); err != nil { @@ -734,12 +734,12 @@ func testConsoleItStatsProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } - sort.Slice(rcv["Metrics"].([]interface{}), func(i, j int) bool { - return utils.IfaceAsString((rcv["Metrics"].([]interface{})[i].(map[string]interface{}))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]interface{})[j].(map[string]interface{}))["MetricID"]) + sort.Slice(rcv["Metrics"].([]any), func(i, j int) bool { + return utils.IfaceAsString((rcv["Metrics"].([]any)[i].(map[string]any))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]any)[j].(map[string]any))["MetricID"]) }) if !reflect.DeepEqual(rcv, expected) { @@ -752,18 +752,18 @@ func testConsoleItRoutesProfile(t *testing.T) { output := bytes.NewBuffer(nil) cmd.Stdout = output expected := - map[string]interface{}{ + map[string]any{ "Tenant": "cgrates.org", "ID": "ROUTE_ACNT_1001", - "FilterIDs": []interface{}{"FLTR_ACNT_1001"}, - "ActivationInterval": map[string]interface{}{ + "FilterIDs": []any{"FLTR_ACNT_1001"}, + "ActivationInterval": map[string]any{ "ActivationTime": "2017-11-27T00:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "Sorting": "*weight", - "SortingParameters": []interface{}{}, - "Routes": []interface{}{ - map[string]interface{}{ + "SortingParameters": []any{}, + "Routes": []any{ + map[string]any{ "ID": "route1", "FilterIDs": nil, "AccountIDs": nil, @@ -774,7 +774,7 @@ func testConsoleItRoutesProfile(t *testing.T) { "Blocker": false, "RouteParameters": "", }, - map[string]interface{}{ + map[string]any{ "ID": "route2", "FilterIDs": nil, "AccountIDs": nil, @@ -793,13 +793,13 @@ func testConsoleItRoutesProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(err) } sort.Slice(rcv["Routes"], func(i, j int) bool { - return utils.IfaceAsString(rcv["Routes"].([]interface{})[i].(map[string]interface{})["ID"]) < utils.IfaceAsString(rcv["Routes"].([]interface{})[j].(map[string]interface{})["ID"]) + return utils.IfaceAsString(rcv["Routes"].([]any)[i].(map[string]any)["ID"]) < utils.IfaceAsString(rcv["Routes"].([]any)[j].(map[string]any)["ID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %s \n but received \n %s", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -811,7 +811,7 @@ func testConsoleItThreshold(t *testing.T) { cmd := exec.Command("cgr-console", "threshold", `Tenant="cgrates.org"`, `ID="THD_ACNT_1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Hits": 0., "ID": "THD_ACNT_1001", "Snooze": "0001-01-01T00:00:00Z", @@ -822,7 +822,7 @@ func testConsoleItThreshold(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -854,15 +854,15 @@ func testConsoleItThresholdsProfile(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_profile", `Tenant="cgrates.org"`, `ID="THD_ACNT_1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "ActionIDs": []interface{}{"ACT_LOG_WARNING"}, - "ActivationInterval": map[string]interface{}{ + expected := map[string]any{ + "ActionIDs": []any{"ACT_LOG_WARNING"}, + "ActivationInterval": map[string]any{ "ActivationTime": "2014-07-29T15:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "Async": true, "Blocker": false, - "FilterIDs": []interface{}{"FLTR_ACNT_1001"}, + "FilterIDs": []any{"FLTR_ACNT_1001"}, "ID": "THD_ACNT_1001", "MaxHits": 1., "MinHits": 1., @@ -875,7 +875,7 @@ func testConsoleItThresholdsProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -887,14 +887,14 @@ func testConsoleItThresholdsProfile(t *testing.T) { func testConsoleItRatingProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "ratingprofile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) - expected := []interface{}{":1001", "call:1001", "call:1002", "call:1003", "mms:*any", "sms:*any"} + expected := []any{":1001", "call:1001", "call:1002", "call:1003", "mms:*any", "sms:*any"} cmd.Stdout = output if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(err) @@ -910,14 +910,14 @@ func testConsoleItRatingProfileIds(t *testing.T) { func testConsoleItStatsProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "stats_profile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) - expected := []interface{}{"123", "Stats2", "Stats2_1"} + expected := []any{"123", "Stats2", "Stats2_1"} cmd.Stdout = output if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -944,292 +944,292 @@ func testConsoleItCacheStats(t *testing.T) { cmd := exec.Command("cgr-console", "cache_stats") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "*account_action_plans": map[string]interface{}{ + expected := map[string]any{ + "*account_action_plans": map[string]any{ "Items": 1., "Groups": 0., }, - "*accounts": map[string]interface{}{ + "*accounts": map[string]any{ "Items": 0., "Groups": 0., }, - "*action_plans": map[string]interface{}{ + "*action_plans": map[string]any{ "Items": 0., "Groups": 0., }, - "*action_triggers": map[string]interface{}{ + "*action_triggers": map[string]any{ "Items": 0., "Groups": 0., }, - "*actions": map[string]interface{}{ + "*actions": map[string]any{ "Groups": 0., "Items": 1., }, - "*apiban": map[string]interface{}{ + "*apiban": map[string]any{ "Items": 0., "Groups": 0., }, - "*attribute_filter_indexes": map[string]interface{}{ + "*attribute_filter_indexes": map[string]any{ "Items": 10., "Groups": 2., }, - "*attribute_profiles": map[string]interface{}{ + "*attribute_profiles": map[string]any{ "Items": 1., "Groups": 0., }, - "*caps_events": map[string]interface{}{ + "*caps_events": map[string]any{ "Items": 0., "Groups": 0., }, - "*cdr_ids": map[string]interface{}{ + "*cdr_ids": map[string]any{ "Items": 0., "Groups": 0., }, - "*cdrs": map[string]interface{}{ + "*cdrs": map[string]any{ "Items": 0., "Groups": 0., }, - "*charger_filter_indexes": map[string]interface{}{ + "*charger_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*charger_profiles": map[string]interface{}{ + "*charger_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*closed_sessions": map[string]interface{}{ + "*closed_sessions": map[string]any{ "Items": 0., "Groups": 0., }, - "*default": map[string]interface{}{ + "*default": map[string]any{ "Items": 0., "Groups": 0., }, - "*destinations": map[string]interface{}{ + "*destinations": map[string]any{ "Groups": 0., "Items": 0., }, - "*diameter_messages": map[string]interface{}{ + "*diameter_messages": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_filter_indexes": map[string]interface{}{ + "*dispatcher_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_hosts": map[string]interface{}{ + "*dispatcher_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_loads": map[string]interface{}{ + "*dispatcher_loads": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_profiles": map[string]interface{}{ + "*dispatcher_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_routes": map[string]interface{}{ + "*dispatcher_routes": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatchers": map[string]interface{}{ + "*dispatchers": map[string]any{ "Items": 0., "Groups": 0., }, - "*event_charges": map[string]interface{}{ + "*event_charges": map[string]any{ "Items": 0., "Groups": 0., }, - "*event_resources": map[string]interface{}{ + "*event_resources": map[string]any{ "Items": 1., "Groups": 0., }, - "*filters": map[string]interface{}{ + "*filters": map[string]any{ "Items": 4., "Groups": 0., }, - "*load_ids": map[string]interface{}{ + "*load_ids": map[string]any{ "Items": 13., "Groups": 0., }, - "*rating_plans": map[string]interface{}{ + "*rating_plans": map[string]any{ "Groups": 0., "Items": 0., }, - "*rating_profiles": map[string]interface{}{ + "*rating_profiles": map[string]any{ "Items": 1., "Groups": 0., }, - "*replication_hosts": map[string]interface{}{ + "*replication_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*resource_filter_indexes": map[string]interface{}{ + "*resource_filter_indexes": map[string]any{ "Items": 2., "Groups": 1., }, - "*resource_profiles": map[string]interface{}{ + "*resource_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*resources": map[string]interface{}{ + "*resources": map[string]any{ "Items": 2., "Groups": 0., }, - "*reverse_destinations": map[string]interface{}{ + "*reverse_destinations": map[string]any{ "Groups": 0., "Items": 0., }, - "*reverse_filter_indexes": map[string]interface{}{ + "*reverse_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*route_filter_indexes": map[string]interface{}{ + "*route_filter_indexes": map[string]any{ "Items": 3., "Groups": 1., }, - "*route_profiles": map[string]interface{}{ + "*route_profiles": map[string]any{ "Items": 1., "Groups": 0., }, - "*rpc_connections": map[string]interface{}{ + "*rpc_connections": map[string]any{ "Items": 3., "Groups": 0., }, - "*rpc_responses": map[string]interface{}{ + "*rpc_responses": map[string]any{ "Items": 0., "Groups": 0., }, - "*session_costs": map[string]interface{}{ + "*session_costs": map[string]any{ "Items": 0., "Groups": 0., }, - "*shared_groups": map[string]interface{}{ + "*shared_groups": map[string]any{ "Groups": 0., "Items": 0., }, - "*stat_filter_indexes": map[string]interface{}{ + "*stat_filter_indexes": map[string]any{ "Items": 2., "Groups": 1., }, - "*statqueue_profiles": map[string]interface{}{ + "*statqueue_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*statqueues": map[string]interface{}{ + "*statqueues": map[string]any{ "Items": 2., "Groups": 0., }, - "*stir": map[string]interface{}{ + "*stir": map[string]any{ "Items": 0., "Groups": 0., }, - "*threshold_filter_indexes": map[string]interface{}{ + "*threshold_filter_indexes": map[string]any{ "Items": 9., "Groups": 1., }, - "*threshold_profiles": map[string]interface{}{ + "*threshold_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*thresholds": map[string]interface{}{ + "*thresholds": map[string]any{ "Items": 2., "Groups": 0., }, - "*timings": map[string]interface{}{ + "*timings": map[string]any{ "Groups": 0., "Items": 0., }, - "*tmp_rating_profiles": map[string]interface{}{ + "*tmp_rating_profiles": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_account_actions": map[string]interface{}{ + "*tp_account_actions": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_action_plans": map[string]interface{}{ + "*tp_action_plans": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_action_triggers": map[string]interface{}{ + "*tp_action_triggers": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_actions": map[string]interface{}{ + "*tp_actions": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_attributes": map[string]interface{}{ + "*tp_attributes": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_chargers": map[string]interface{}{ + "*tp_chargers": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_destination_rates": map[string]interface{}{ + "*tp_destination_rates": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_destinations": map[string]interface{}{ + "*tp_destinations": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_dispatcher_hosts": map[string]interface{}{ + "*tp_dispatcher_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_dispatcher_profiles": map[string]interface{}{ + "*tp_dispatcher_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_filters": map[string]interface{}{ + "*tp_filters": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_rates": map[string]interface{}{ + "*tp_rates": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_rating_plans": map[string]interface{}{ + "*tp_rating_plans": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_rating_profiles": map[string]interface{}{ + "*tp_rating_profiles": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_resources": map[string]interface{}{ + "*tp_resources": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_routes": map[string]interface{}{ + "*tp_routes": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_shared_groups": map[string]interface{}{ + "*tp_shared_groups": map[string]any{ "Groups": 0., "Items": 0., }, - "*tp_stats": map[string]interface{}{ + "*tp_stats": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_thresholds": map[string]interface{}{ + "*tp_thresholds": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_timings": map[string]interface{}{ + "*tp_timings": map[string]any{ "Groups": 0., "Items": 0., }, - "*uch": map[string]interface{}{ + "*uch": map[string]any{ "Items": 0., "Groups": 0., }, - "*versions": map[string]interface{}{ + "*versions": map[string]any{ "Items": 0., "Groups": 0., }, @@ -1240,7 +1240,7 @@ func testConsoleItCacheStats(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -1293,17 +1293,17 @@ func testConsoleItResourcesForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "resources_for_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`, `UsageID="usageID"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "ResGroup1", - "Usages": map[string]interface{}{}, + "Usages": map[string]any{}, "TTLIdx": nil, }, - map[string]interface{}{ + map[string]any{ "Tenant": "cgrates.org", "ID": "123", - "Usages": map[string]interface{}{}, + "Usages": map[string]any{}, "TTLIdx": nil, }, } @@ -1312,7 +1312,7 @@ func testConsoleItResourcesForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1326,13 +1326,13 @@ func testConsoleItAttributesProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "attributes_profile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"ATTR_1001_SESSIONAUTH", "ATTR_1001_SIMPLEAUTH", "ATTR_1002_SESSIONAUTH", "ATTR_1002_SIMPLEAUTH", "ATTR_1003_SESSIONAUTH", "ATTR_1003_SIMPLEAUTH", "ATTR_ACC_ALIAS"} + expected := []any{"ATTR_1001_SESSIONAUTH", "ATTR_1001_SIMPLEAUTH", "ATTR_1002_SESSIONAUTH", "ATTR_1002_SIMPLEAUTH", "ATTR_1003_SESSIONAUTH", "ATTR_1003_SIMPLEAUTH", "ATTR_ACC_ALIAS"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1349,13 +1349,13 @@ func testConsoleItThresholdsProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_process_event", `ID="123"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123", "THD_ACNT_1001"} + expected := []any{"123", "THD_ACNT_1001"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1412,10 +1412,10 @@ func testConsoleItResources(t *testing.T) { cmd := exec.Command("cgr-console", "resources", `ID="ResGroup1"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "ResGroup1", - "Usages": map[string]interface{}{}, + "Usages": map[string]any{}, "TTLIdx": nil, } if err := cmd.Run(); err != nil { @@ -1423,7 +1423,7 @@ func testConsoleItResources(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1437,19 +1437,19 @@ func testConsoleItResourcesProfile(t *testing.T) { cmd := exec.Command("cgr-console", "resources_profile", `ID="ResGroup1"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "ActivationInterval": map[string]interface{}{ + expected := map[string]any{ + "ActivationInterval": map[string]any{ "ActivationTime": "2014-07-29T15:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "AllocationMessage": "", "Blocker": false, - "FilterIDs": []interface{}{"FLTR_RES"}, + "FilterIDs": []any{"FLTR_RES"}, "ID": "ResGroup1", "Limit": 7., "Stored": true, "Tenant": "cgrates.org", - "ThresholdIDs": []interface{}{"*none"}, + "ThresholdIDs": []any{"*none"}, "UsageTTL": "-1ns", "Weight": 10., } @@ -1458,7 +1458,7 @@ func testConsoleItResourcesProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1492,22 +1492,22 @@ func testConsoleItRoutes(t *testing.T) { cmd := exec.Command("cgr-console", "routes", `ID="ROUTE_ACNT_1001"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ProfileID": "ROUTE_ACNT_1001", "Sorting": "*weight", - "Routes": []interface{}{ - map[string]interface{}{ + "Routes": []any{ + map[string]any{ "RouteID": "route2", "RouteParameters": "", - "SortingData": map[string]interface{}{ + "SortingData": map[string]any{ "Weight": 20., }, }, - map[string]interface{}{ + map[string]any{ "RouteID": "route1", "RouteParameters": "", - "SortingData": map[string]interface{}{ + "SortingData": map[string]any{ "Weight": 10., }, }, @@ -1519,15 +1519,15 @@ func testConsoleItRoutes(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - fmt.Println(utils.IfaceAsString((rcv[0].(map[string]interface{})["Routes"].([]interface{})[i].(map[string]interface{})["RouteID"]))) - return utils.IfaceAsString((rcv[0].(map[string]interface{})["Routes"].([]interface{})[i].(map[string]interface{})["RouteID"])) < utils.IfaceAsString((rcv[0].(map[string]interface{})["Routes"].([]interface{})[j].(map[string]interface{})["RouteID"])) - // return utils.IfaceAsString((rcv["Metrics"].([]interface{})[i].(map[string]interface{}))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]interface{})[j].(map[string]interface{}))["MetricID"]) + fmt.Println(utils.IfaceAsString((rcv[0].(map[string]any)["Routes"].([]any)[i].(map[string]any)["RouteID"]))) + return utils.IfaceAsString((rcv[0].(map[string]any)["Routes"].([]any)[i].(map[string]any)["RouteID"])) < utils.IfaceAsString((rcv[0].(map[string]any)["Routes"].([]any)[j].(map[string]any)["RouteID"])) + // return utils.IfaceAsString((rcv["Metrics"].([]any)[i].(map[string]any))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]any)[j].(map[string]any))["MetricID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+v \n but received \n %+v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -1538,18 +1538,18 @@ func testConsoleItFilter(t *testing.T) { cmd := exec.Command("cgr-console", "filter", `ID="FLTR_RES"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "ActivationInterval": map[string]interface{}{ + expected := map[string]any{ + "ActivationInterval": map[string]any{ "ActivationTime": "2014-07-29T15:00:00Z", "ExpiryTime": "0001-01-01T00:00:00Z", }, "Tenant": "cgrates.org", "ID": "FLTR_RES", - "Rules": []interface{}{ - map[string]interface{}{ + "Rules": []any{ + map[string]any{ "Type": "*string", "Element": "~*req.Account", - "Values": []interface{}{"1001", "1002", "1003"}, + "Values": []any{"1001", "1002", "1003"}, }, }, } @@ -1558,7 +1558,7 @@ func testConsoleItFilter(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1573,8 +1573,8 @@ func testConsoleItThresholdsForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_for_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`, `UsageID="usageID"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "123", "Hits": 1., @@ -1586,12 +1586,12 @@ func testConsoleItThresholdsForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv[0].(map[string]interface{})["Snooze"] = "" + rcv[0].(map[string]any)["Snooze"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+v \n but received \n %+v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -1602,13 +1602,13 @@ func testConsoleItStatsForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "stats_for_event", `Tenant="cgrates.org"`, `ID="Stats2"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123"} + expected := []any{"123"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1622,13 +1622,13 @@ func testConsoleItStatsProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "stats_process_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123"} + expected := []any{"123"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1702,13 +1702,13 @@ func testConsoleItSessionUpdate(t *testing.T) { cmd := exec.Command("cgr-console", "session_update", `GetAttributes=true`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "Attributes": map[string]interface{}{ - "APIOpts": map[string]interface{}{ + expected := map[string]any{ + "Attributes": map[string]any{ + "APIOpts": map[string]any{ "*subsys": "*sessions", }, - "AlteredFields": []interface{}{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, - "Event": map[string]interface{}{ + "AlteredFields": []any{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, + "Event": map[string]any{ "Account": "1001", "LCRProfile": "premium_cli", "Password": "CGRateS.org", @@ -1716,7 +1716,7 @@ func testConsoleItSessionUpdate(t *testing.T) { "RequestType": "*prepaid", }, "ID": nil, - "MatchedProfiles": []interface{}{"ATTR_1001_SESSIONAUTH"}, + "MatchedProfiles": []any{"ATTR_1001_SESSIONAUTH"}, "Tenant": "cgrates.org", "Time": nil, }, @@ -1726,15 +1726,15 @@ func testConsoleItSessionUpdate(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv["Attributes"].(map[string]interface{})["ID"] = nil - rcv["Attributes"].(map[string]interface{})["Time"] = nil - sort.Slice(rcv["Attributes"].(map[string]interface{})["AlteredFields"], func(i, j int) bool { - return utils.IfaceAsString(rcv["Attributes"].(map[string]interface{})["AlteredFields"].([]interface{})[i]) < utils.IfaceAsString(rcv["Attributes"].(map[string]interface{})["AlteredFields"].([]interface{})[j]) + rcv["Attributes"].(map[string]any)["ID"] = nil + rcv["Attributes"].(map[string]any)["Time"] = nil + sort.Slice(rcv["Attributes"].(map[string]any)["AlteredFields"], func(i, j int) bool { + return utils.IfaceAsString(rcv["Attributes"].(map[string]any)["AlteredFields"].([]any)[i]) < utils.IfaceAsString(rcv["Attributes"].(map[string]any)["AlteredFields"].([]any)[j]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -1765,7 +1765,7 @@ func testConsoleItSessionAuthorizeEvent(t *testing.T) { cmd := exec.Command("cgr-console", "session_authorize_event", `GetAttributes=true`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "AttributesDigest": "LCRProfile:premium_cli,Password:CGRateS.org,PaypalAccount:cgrates@paypal.com,RequestType:*prepaid", "ResourceAllocation": nil, "MaxUsage": 0., @@ -1778,7 +1778,7 @@ func testConsoleItSessionAuthorizeEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1815,13 +1815,13 @@ func testConsoleItChargersProfile(t *testing.T) { cmd := exec.Command("cgr-console", "chargers_profile", `ID="DEFAULT"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "DEFAULT", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "ActivationInterval": nil, "RunID": "*default", - "AttributeIDs": []interface{}{"*none"}, + "AttributeIDs": []any{"*none"}, "Weight": 0., } if err := cmd.Run(); err != nil { @@ -1829,7 +1829,7 @@ func testConsoleItChargersProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1863,7 +1863,7 @@ func testConsoleItStordbVersions(t *testing.T) { cmd := exec.Command("cgr-console", "stordb_versions") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Accounts": 3., "ActionPlans": 3., "ActionTriggers": 2., @@ -1914,7 +1914,7 @@ func testConsoleItStordbVersions(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1953,12 +1953,12 @@ func testConsoleItGetLoadIds(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - expected := map[string]interface{}{ + expected := map[string]any{ "*account_action_plans": rcv["*account_action_plans"], "*action_plans": rcv["*action_plans"], "*action_triggers": rcv["*action_triggers"], @@ -1990,26 +1990,26 @@ func testConsoleItChargersForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "chargers_for_event") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "DEFAULT", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "ActivationInterval": nil, "RunID": "*default", - "AttributeIDs": []interface{}{"*none"}, + "AttributeIDs": []any{"*none"}, "Weight": 0., }, - map[string]interface{}{ + map[string]any{ "Tenant": "cgrates.org", "ID": "Raw", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "ActivationInterval": nil, "RunID": "*raw", - "AttributeIDs": []interface{}{"*constant:*req.RequestType:*none"}, + "AttributeIDs": []any{"*constant:*req.RequestType:*none"}, "Weight": 0., }, - map[string]interface{}{ + map[string]any{ "ActivationInterval": nil, "AttributeIDs": nil, "FilterIDs": nil, @@ -2024,13 +2024,13 @@ func testConsoleItChargersForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - return utils.IfaceAsString(rcv[i].(map[string]interface{})["ID"]) < utils.IfaceAsString(rcv[j].(map[string]interface{})["ID"]) + return utils.IfaceAsString(rcv[i].(map[string]any)["ID"]) < utils.IfaceAsString(rcv[j].(map[string]any)["ID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -2041,23 +2041,23 @@ func testConsoleItAccounts(t *testing.T) { cmd := exec.Command("cgr-console", "accounts", `AccountIDs=["1001"]`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ActionTriggers": nil, "AllowNegative": false, - "BalanceMap": map[string]interface{}{ - "*monetary": []interface{}{ - map[string]interface{}{ + "BalanceMap": map[string]any{ + "*monetary": []any{ + map[string]any{ "Blocker": false, - "Categories": map[string]interface{}{}, - "DestinationIDs": map[string]interface{}{}, + "Categories": map[string]any{}, + "DestinationIDs": map[string]any{}, "Disabled": false, "ExpirationDate": "0001-01-01T00:00:00Z", "Factor": nil, "ID": "test", "RatingSubject": "", - "SharedGroups": map[string]interface{}{}, - "TimingIDs": map[string]interface{}{}, + "SharedGroups": map[string]any{}, + "TimingIDs": map[string]any{}, "Timings": nil, "Uuid": "", "Value": 10., @@ -2076,13 +2076,13 @@ func testConsoleItAccounts(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv[0].(map[string]interface{})["BalanceMap"].(map[string]interface{})["*monetary"].([]interface{})[0].(map[string]interface{})["Uuid"] = "" - rcv[0].(map[string]interface{})["UpdateTime"] = "" + rcv[0].(map[string]any)["BalanceMap"].(map[string]any)["*monetary"].([]any)[0].(map[string]any)["Uuid"] = "" + rcv[0].(map[string]any)["UpdateTime"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) } @@ -2132,7 +2132,7 @@ func testConsoleItDataDbVersions(t *testing.T) { cmd := exec.Command("cgr-console", "datadb_versions") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Accounts": 3., "ActionPlans": 3., "ActionTriggers": 2., @@ -2159,7 +2159,7 @@ func testConsoleItDataDbVersions(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2173,7 +2173,7 @@ func testConsoleItSessionInitiate(t *testing.T) { cmd := exec.Command("cgr-console", "session_initiate", `InitSession=true`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "AttributesDigest": nil, "MaxUsage": "10.8µs", "ResourceAllocation": nil, @@ -2186,7 +2186,7 @@ func testConsoleItSessionInitiate(t *testing.T) { t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2203,7 +2203,7 @@ func testConsoleItCachePrecacheStatus(t *testing.T) { cmd := exec.Command("cgr-console", "cache_precache_status") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "*account_action_plans": "*ready", "*accounts": "*ready", "*action_plans": "*ready", @@ -2281,7 +2281,7 @@ func testConsoleItCachePrecacheStatus(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2295,13 +2295,13 @@ func testConsoleItChargersProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "chargers_profile_ids") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"DEFAULT", "Raw", "cps"} + expected := []any{"DEFAULT", "Raw", "cps"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2318,51 +2318,51 @@ func testConsoleItChargersProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "chargers_process_event", `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ChargerSProfile": "DEFAULT", "AttributeSProfiles": nil, - "AlteredFields": []interface{}{"*req.RunID"}, - "CGREvent": map[string]interface{}{ - "APIOpts": map[string]interface{}{ + "AlteredFields": []any{"*req.RunID"}, + "CGREvent": map[string]any{ + "APIOpts": map[string]any{ "*subsys": "*chargers", }, "Tenant": "cgrates.org", "ID": "", "Time": "", - "Event": map[string]interface{}{ + "Event": map[string]any{ "Account": "1001", "RunID": "*default", }, }, }, - map[string]interface{}{ + map[string]any{ "ChargerSProfile": "Raw", - "AttributeSProfiles": []interface{}{"*constant:*req.RequestType:*none"}, - "AlteredFields": []interface{}{"*req.RunID", "*req.RequestType"}, - "CGREvent": map[string]interface{}{ - "APIOpts": map[string]interface{}{ + "AttributeSProfiles": []any{"*constant:*req.RequestType:*none"}, + "AlteredFields": []any{"*req.RunID", "*req.RequestType"}, + "CGREvent": map[string]any{ + "APIOpts": map[string]any{ "*subsys": "*chargers", }, "Tenant": "cgrates.org", "ID": "", "Time": "", - "Event": map[string]interface{}{ + "Event": map[string]any{ "Account": "1001", "RequestType": "*none", "RunID": "*raw", }, }, }, - map[string]interface{}{ + map[string]any{ "ChargerSProfile": "cps", - "AlteredFields": []interface{}{"*req.RunID"}, - "AttributeSProfiles": []interface{}{}, - "CGREvent": map[string]interface{}{ - "APIOpts": map[string]interface{}{ + "AlteredFields": []any{"*req.RunID"}, + "AttributeSProfiles": []any{}, + "CGREvent": map[string]any{ + "APIOpts": map[string]any{ "*subsys": "*chargers", }, - "Event": map[string]interface{}{ + "Event": map[string]any{ "Account": "1001", "RunID": "", }, @@ -2377,18 +2377,18 @@ func testConsoleItChargersProcessEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - return utils.IfaceAsString(rcv[i].(map[string]interface{})["ChargerSProfile"]) < utils.IfaceAsString(rcv[j].(map[string]interface{})["ChargerSProfile"]) + return utils.IfaceAsString(rcv[i].(map[string]any)["ChargerSProfile"]) < utils.IfaceAsString(rcv[j].(map[string]any)["ChargerSProfile"]) }) - rcv[0].(map[string]interface{})["CGREvent"].(map[string]interface{})["Time"] = "" - rcv[1].(map[string]interface{})["CGREvent"].(map[string]interface{})["Time"] = "" - rcv[2].(map[string]interface{})["CGREvent"].(map[string]interface{})["Time"] = "" + rcv[0].(map[string]any)["CGREvent"].(map[string]any)["Time"] = "" + rcv[1].(map[string]any)["CGREvent"].(map[string]any)["Time"] = "" + rcv[2].(map[string]any)["CGREvent"].(map[string]any)["Time"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) } @@ -2398,13 +2398,13 @@ func testConsoleItSessionProcessMessage(t *testing.T) { cmd := exec.Command("cgr-console", "session_process_message", `GetAttributes=true`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "Attributes": map[string]interface{}{ - "APIOpts": map[string]interface{}{ + expected := map[string]any{ + "Attributes": map[string]any{ + "APIOpts": map[string]any{ "*subsys": "*sessions", }, - "AlteredFields": []interface{}{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, - "Event": map[string]interface{}{ + "AlteredFields": []any{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, + "Event": map[string]any{ "Account": "1001", "LCRProfile": "premium_cli", "Password": "CGRateS.org", @@ -2412,7 +2412,7 @@ func testConsoleItSessionProcessMessage(t *testing.T) { "RequestType": "*prepaid", }, "ID": "", - "MatchedProfiles": []interface{}{"ATTR_1001_SESSIONAUTH"}, + "MatchedProfiles": []any{"ATTR_1001_SESSIONAUTH"}, "Tenant": "cgrates.org", "Time": "", }, @@ -2422,17 +2422,17 @@ func testConsoleItSessionProcessMessage(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(output.String()) t.Fatal(err) } - sort.Slice(rcv["Attributes"].(map[string]interface{})["AlteredFields"], func(i, j int) bool { - return utils.IfaceAsString(rcv["Attributes"].(map[string]interface{})["AlteredFields"].([]interface{})[i]) < utils.IfaceAsString(rcv["Attributes"].(map[string]interface{})["AlteredFields"].([]interface{})[j]) + sort.Slice(rcv["Attributes"].(map[string]any)["AlteredFields"], func(i, j int) bool { + return utils.IfaceAsString(rcv["Attributes"].(map[string]any)["AlteredFields"].([]any)[i]) < utils.IfaceAsString(rcv["Attributes"].(map[string]any)["AlteredFields"].([]any)[j]) }) - rcv["Attributes"].(map[string]interface{})["ID"] = "" - rcv["Attributes"].(map[string]interface{})["Time"] = "" + rcv["Attributes"].(map[string]any)["ID"] = "" + rcv["Attributes"].(map[string]any)["Time"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) } @@ -2462,11 +2462,11 @@ func testConsoleItTriggers(t *testing.T) { cmd := exec.Command("cgr-console", "triggers") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ActionsID": "", "ActivationDate": "0001-01-01T00:00:00Z", - "Balance": map[string]interface{}{ + "Balance": map[string]any{ "Blocker": nil, "Categories": nil, "DestinationIDs": nil, @@ -2501,12 +2501,12 @@ func testConsoleItTriggers(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv[0].(map[string]interface{})["UniqueID"] = "" + rcv[0].(map[string]any)["UniqueID"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+q \n but received \n %+q", expected, rcv) } @@ -2516,10 +2516,10 @@ func testConsoleItRatingProfile(t *testing.T) { cmd := exec.Command("cgr-console", "ratingprofile", `Category="call"`, `Subject="1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Id": "*out:cgrates.org:call:1001", - "RatingPlanActivations": []interface{}{ - map[string]interface{}{ + "RatingPlanActivations": []any{ + map[string]any{ "ActivationTime": "2014-01-14T00:00:00Z", "RatingPlanId": "RP_1001", "FallbackKeys": nil, @@ -2531,7 +2531,7 @@ func testConsoleItRatingProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2625,20 +2625,20 @@ func testConsoleItActionPlanGet(t *testing.T) { cmd := exec.Command("cgr-console", "actionplan_get") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Id": "AP_PACKAGE_10", - "AccountIDs": map[string]interface{}{}, - "ActionTimings": []interface{}{ - map[string]interface{}{ + "AccountIDs": map[string]any{}, + "ActionTimings": []any{ + map[string]any{ "Uuid": "", - "Timing": map[string]interface{}{ - "Timing": map[string]interface{}{ + "Timing": map[string]any{ + "Timing": map[string]any{ "ID": "*asap", - "Years": []interface{}{}, - "Months": []interface{}{}, - "MonthDays": []interface{}{}, - "WeekDays": []interface{}{}, + "Years": []any{}, + "Months": []any{}, + "MonthDays": []any{}, + "WeekDays": []any{}, "StartTime": "*asap", "EndTime": "", }, @@ -2651,19 +2651,19 @@ func testConsoleItActionPlanGet(t *testing.T) { }, }, }, - map[string]interface{}{ + map[string]any{ "Id": "AP_TEST", "AccountIDs": nil, - "ActionTimings": []interface{}{ - map[string]interface{}{ + "ActionTimings": []any{ + map[string]any{ "Uuid": "", - "Timing": map[string]interface{}{ - "Timing": map[string]interface{}{ + "Timing": map[string]any{ + "Timing": map[string]any{ "ID": "", - "Years": []interface{}{}, - "Months": []interface{}{}, - "MonthDays": []interface{}{1.}, - "WeekDays": []interface{}{}, + "Years": []any{}, + "Months": []any{}, + "MonthDays": []any{1.}, + "WeekDays": []any{}, "StartTime": "00:00:00", "EndTime": "", }, @@ -2682,15 +2682,15 @@ func testConsoleItActionPlanGet(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv[0].(map[string]interface{})["ActionTimings"].([]interface{})[0].(map[string]interface{})["Uuid"] = "" - rcv[1].(map[string]interface{})["ActionTimings"].([]interface{})[0].(map[string]interface{})["Uuid"] = "" + rcv[0].(map[string]any)["ActionTimings"].([]any)[0].(map[string]any)["Uuid"] = "" + rcv[1].(map[string]any)["ActionTimings"].([]any)[0].(map[string]any)["Uuid"] = "" sort.Slice(rcv, func(i, j int) bool { - return rcv[i].(map[string]interface{})["Id"].(string) < rcv[j].(map[string]interface{})["Id"].(string) + return rcv[i].(map[string]any)["Id"].(string) < rcv[j].(map[string]any)["Id"].(string) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -2701,22 +2701,22 @@ func testConsoleItDestinations(t *testing.T) { cmd := exec.Command("cgr-console", "destinations") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Id": "DST_1001", - "Prefixes": []interface{}{"1001"}, + "Prefixes": []any{"1001"}, }, - map[string]interface{}{ + map[string]any{ "Id": "DST_1002", - "Prefixes": []interface{}{"1002"}, + "Prefixes": []any{"1002"}, }, - map[string]interface{}{ + map[string]any{ "Id": "DST_1003", - "Prefixes": []interface{}{"1003"}, + "Prefixes": []any{"1003"}, }, - map[string]interface{}{ + map[string]any{ "Id": "DST_FS", - "Prefixes": []interface{}{"10"}, + "Prefixes": []any{"10"}, }, } if err := cmd.Run(); err != nil { @@ -2724,13 +2724,13 @@ func testConsoleItDestinations(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - return rcv[i].(map[string]interface{})["Id"].(string) < rcv[j].(map[string]interface{})["Id"].(string) + return rcv[i].(map[string]any)["Id"].(string) < rcv[j].(map[string]any)["Id"].(string) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -2841,11 +2841,11 @@ func testConsoleItDatacost(t *testing.T) { cmd := exec.Command("cgr-console", "datacost") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Account": "", "Category": "call", "Cost": 0., - "DataSpans": []interface{}{}, + "DataSpans": []any{}, "Destination": "", "Subject": "", "Tenant": "cgrates.org", @@ -2856,7 +2856,7 @@ func testConsoleItDatacost(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -2990,7 +2990,7 @@ func testConsoleItSharedGroup(t *testing.T) { cmd := exec.Command("cgr-console", "sharedgroup") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Id": "", "AccountParameters": nil, "MemberIds": nil, @@ -3000,7 +3000,7 @@ func testConsoleItSharedGroup(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -3019,12 +3019,12 @@ func testConsoleItGetLoadTimes(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - expected := map[string]interface{}{ + expected := map[string]any{ "*account_action_plans": rcv["*account_action_plans"], "*action_plans": rcv["*action_plans"], "*action_triggers": rcv["*action_triggers"], @@ -3076,7 +3076,7 @@ func testConsoleItDebit(t *testing.T) { cmd := exec.Command("cgr-console", "debit", `Category="call"`, `Subject="1001"`, `Account="1001"`, `Destination="1002"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Category": "call", "Tenant": "cgrates.org", "Subject": "1001", @@ -3086,11 +3086,11 @@ func testConsoleItDebit(t *testing.T) { "Cost": 0., "Timespans": nil, "RatedUsage": 0., - "AccountSummary": map[string]interface{}{ + "AccountSummary": map[string]any{ "Tenant": "cgrates.org", "ID": "1001", - "BalanceSummaries": []interface{}{ - map[string]interface{}{ + "BalanceSummaries": []any{ + map[string]any{ "UUID": "", "ID": "test", "Type": "*monetary", @@ -3108,12 +3108,12 @@ func testConsoleItDebit(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv["AccountSummary"].(map[string]interface{})["BalanceSummaries"].([]interface{})[0].(map[string]interface{})["UUID"] = "" + rcv["AccountSummary"].(map[string]any)["BalanceSummaries"].([]any)[0].(map[string]any)["UUID"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+q \n but received \n %+q", expected, rcv) } @@ -3159,9 +3159,9 @@ func testConsoleItBalanceDebit(t *testing.T) { } } -func reverseFormatting(i interface{}, s utils.StringSet) (_ interface{}, err error) { +func reverseFormatting(i any, s utils.StringSet) (_ any, err error) { switch v := i.(type) { - case map[string]interface{}: + case map[string]any: for key, value := range v { if s.Has(key) { tmval, err := utils.IfaceAsDuration(value) @@ -3176,7 +3176,7 @@ func reverseFormatting(i interface{}, s utils.StringSet) (_ interface{}, err err } } return v, nil - case []interface{}: + case []any: for i, value := range v { if v[i], err = reverseFormatting(value, s); err != nil { return @@ -3197,7 +3197,7 @@ func testConsoleItCost(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var tmp map[string]interface{} + var tmp map[string]any if err := json.NewDecoder(output).Decode(&tmp); err != nil { t.Log(output.String()) t.Error(output.String()) @@ -3427,8 +3427,8 @@ func testConsoleItActiveSessions(t *testing.T) { cmd := exec.Command("cgr-console", "active_sessions") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "da39a3ee5e6b4b0d3255bfef95601890afd80709", @@ -3436,7 +3436,7 @@ func testConsoleItActiveSessions(t *testing.T) { "DebitInterval": "0s", "Destination": "", "DurationIndex": "0s", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "LoopIndex": 0., "MaxCostSoFar": 0., "MaxRate": 0., @@ -3454,7 +3454,7 @@ func testConsoleItActiveSessions(t *testing.T) { "ToR": "", "Usage": "0s", }, - map[string]interface{}{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "da39a3ee5e6b4b0d3255bfef95601890afd80709", @@ -3462,7 +3462,7 @@ func testConsoleItActiveSessions(t *testing.T) { "DebitInterval": "0s", "Destination": "", "DurationIndex": "0s", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "LoopIndex": 0., "MaxCostSoFar": 0., "MaxRate": 0., @@ -3480,7 +3480,7 @@ func testConsoleItActiveSessions(t *testing.T) { "ToR": "", "Usage": "0s", }, - map[string]interface{}{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "da39a3ee5e6b4b0d3255bfef95601890afd80709", @@ -3488,7 +3488,7 @@ func testConsoleItActiveSessions(t *testing.T) { "DebitInterval": "0s", "Destination": "", "DurationIndex": "0s", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "LoopIndex": 0., "MaxCostSoFar": 0., "MaxRate": 0., @@ -3506,7 +3506,7 @@ func testConsoleItActiveSessions(t *testing.T) { "ToR": "", "Usage": "0s", }, - map[string]interface{}{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "da39a3ee5e6b4b0d3255bfef95601890afd80709", @@ -3514,7 +3514,7 @@ func testConsoleItActiveSessions(t *testing.T) { "DebitInterval": "0s", "Destination": "", "DurationIndex": "0s", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "LoopIndex": 0., "MaxCostSoFar": 0., "MaxRate": 0., @@ -3532,7 +3532,7 @@ func testConsoleItActiveSessions(t *testing.T) { "ToR": "", "Usage": "0s", }, - map[string]interface{}{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "da39a3ee5e6b4b0d3255bfef95601890afd80709", @@ -3540,7 +3540,7 @@ func testConsoleItActiveSessions(t *testing.T) { "DebitInterval": "0s", "Destination": "", "DurationIndex": "0s", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "LoopIndex": 0., "MaxCostSoFar": 0., "MaxRate": 0., @@ -3564,18 +3564,18 @@ func testConsoleItActiveSessions(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(output.String()) t.Fatal(err) } for i := range rcv { - rcv[i].(map[string]interface{})["NodeID"] = "" - rcv[i].(map[string]interface{})["DurationIndex"] = "0s" + rcv[i].(map[string]any)["NodeID"] = "" + rcv[i].(map[string]any)["DurationIndex"] = "0s" } sort.Slice(rcv, func(i, j int) bool { - return utils.IfaceAsString(rcv[i].(map[string]interface{})["RunID"]) < utils.IfaceAsString(rcv[j].(map[string]interface{})["RunID"]) + return utils.IfaceAsString(rcv[i].(map[string]any)["RunID"]) < utils.IfaceAsString(rcv[j].(map[string]any)["RunID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -3591,7 +3591,7 @@ func testConsoleItPassiveSessions(t *testing.T) { t.Errorf("Expecting: OK, received : %+v", reply) } args := &utils.SessionFilter{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } var reply2 []*sessions.ExternalSession if err := cnslRPC.Call(utils.SessionSv1GetPassiveSessions, args, &reply2); err != nil { @@ -3785,15 +3785,15 @@ func testConsoleItSchedulerQueue(t *testing.T) { cmd := exec.Command("cgr-console", "scheduler_queue") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "NextRunTime": "", "Accounts": 0., "ActionPlanID": "AP_TEST", "ActionTimingUUID": "", "ActionsID": "ACT_TOPUP_RST_10", }, - map[string]interface{}{ + map[string]any{ "NextRunTime": "", "Accounts": 3., "ActionPlanID": "STANDARD_PLAN", @@ -3806,17 +3806,17 @@ func testConsoleItSchedulerQueue(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } for i := range rcv { - rcv[i].(map[string]interface{})["NextRunTime"] = "" - rcv[i].(map[string]interface{})["ActionTimingUUID"] = "" + rcv[i].(map[string]any)["NextRunTime"] = "" + rcv[i].(map[string]any)["ActionTimingUUID"] = "" } sort.Slice(rcv, func(i, j int) bool { - return rcv[i].(map[string]interface{})["ActionPlanID"].(string) < rcv[j].(map[string]interface{})["ActionPlanID"].(string) + return rcv[i].(map[string]any)["ActionPlanID"].(string) < rcv[j].(map[string]any)["ActionPlanID"].(string) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -3867,10 +3867,10 @@ func testConsoleItAttributesProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "attributes_process_event", `Tenant="cgrates.org"`, `Event={"Account":"1001"}`, `Context="*sessions"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "APIOpts": map[string]interface{}{}, - "AlteredFields": []interface{}{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, - "Event": map[string]interface{}{ + expected := map[string]any{ + "APIOpts": map[string]any{}, + "AlteredFields": []any{"*req.LCRProfile", "*req.Password", "*req.PaypalAccount", "*req.RequestType"}, + "Event": map[string]any{ "Account": "1001", "LCRProfile": "premium_cli", "Password": "CGRateS.org", @@ -3878,7 +3878,7 @@ func testConsoleItAttributesProcessEvent(t *testing.T) { "RequestType": "*prepaid", }, "ID": "", - "MatchedProfiles": []interface{}{"ATTR_1001_SESSIONAUTH"}, + "MatchedProfiles": []any{"ATTR_1001_SESSIONAUTH"}, "Tenant": "cgrates.org", "Time": "", } @@ -3887,14 +3887,14 @@ func testConsoleItAttributesProcessEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } rcv["Time"] = "" sort.Slice(rcv["AlteredFields"], func(i, j int) bool { - return utils.IfaceAsString(rcv["AlteredFields"].([]interface{})[i]) < utils.IfaceAsString(rcv["AlteredFields"].([]interface{})[j]) + return utils.IfaceAsString(rcv["AlteredFields"].([]any)[i]) < utils.IfaceAsString(rcv["AlteredFields"].([]any)[j]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -3905,49 +3905,49 @@ func testConsoleItAttributesForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "attributes_for_event", `AttributeIDs=["ATTR_1001_SESSIONAUTH"]`, `Event={"Account":"1001"}`, `Context="*sessions"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "ATTR_1001_SESSIONAUTH", - "Contexts": []interface{}{"*sessions"}, - "FilterIDs": []interface{}{"*string:~*req.Account:1001"}, + "Contexts": []any{"*sessions"}, + "FilterIDs": []any{"*string:~*req.Account:1001"}, "ActivationInterval": nil, - "Attributes": []interface{}{ - map[string]interface{}{ - "FilterIDs": []interface{}{}, + "Attributes": []any{ + map[string]any{ + "FilterIDs": []any{}, "Path": "*req.Password", "Type": "*constant", - "Value": []interface{}{ - map[string]interface{}{ + "Value": []any{ + map[string]any{ "Rules": "CGRateS.org", }, }, }, - map[string]interface{}{ - "FilterIDs": []interface{}{}, + map[string]any{ + "FilterIDs": []any{}, "Path": "*req.RequestType", "Type": "*constant", - "Value": []interface{}{ - map[string]interface{}{ + "Value": []any{ + map[string]any{ "Rules": "*prepaid", }, }, }, - map[string]interface{}{ - "FilterIDs": []interface{}{}, + map[string]any{ + "FilterIDs": []any{}, "Path": "*req.PaypalAccount", "Type": "*constant", - "Value": []interface{}{ - map[string]interface{}{ + "Value": []any{ + map[string]any{ "Rules": "cgrates@paypal.com", }, }, }, - map[string]interface{}{ - "FilterIDs": []interface{}{}, + map[string]any{ + "FilterIDs": []any{}, "Path": "*req.LCRProfile", "Type": "*constant", - "Value": []interface{}{ - map[string]interface{}{ + "Value": []any{ + map[string]any{ "Rules": "premium_cli", }, }, @@ -3961,7 +3961,7 @@ func testConsoleItAttributesForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4055,7 +4055,7 @@ func testConsoleItDispatchersHost(t *testing.T) { cmd := exec.Command("cgr-console", "dispatchers_host", `ID="DHS_SET"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "DHS_SET", "Address": "", @@ -4068,7 +4068,7 @@ func testConsoleItDispatchersHost(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4102,13 +4102,13 @@ func testConsoleItDispatchersProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "dispatchers_profile_ids") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"dps"} + expected := []any{"dps"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4122,10 +4122,10 @@ func testConsoleItDispatchersProfile(t *testing.T) { cmd := exec.Command("cgr-console", "dispatchers_profile", `ID="dps"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "dps", - "Subsystems": []interface{}{"attributes"}, + "Subsystems": []any{"attributes"}, "FilterIDs": nil, "ActivationInterval": nil, "Strategy": "", @@ -4138,7 +4138,7 @@ func testConsoleItDispatchersProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4152,19 +4152,19 @@ func testConsoleItAttributesProfile(t *testing.T) { cmd := exec.Command("cgr-console", "attributes_profile", `ID="ATTR_1001_SIMPLEAUTH"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "ATTR_1001_SIMPLEAUTH", - "Contexts": []interface{}{"simpleauth"}, - "FilterIDs": []interface{}{"*string:~*req.Account:1001"}, + "Contexts": []any{"simpleauth"}, + "FilterIDs": []any{"*string:~*req.Account:1001"}, "ActivationInterval": nil, - "Attributes": []interface{}{ - map[string]interface{}{ - "FilterIDs": []interface{}{}, + "Attributes": []any{ + map[string]any{ + "FilterIDs": []any{}, "Path": "*req.Password", "Type": "*constant", - "Value": []interface{}{ - map[string]interface{}{ + "Value": []any{ + map[string]any{ "Rules": "CGRateS.org", }, }, @@ -4178,7 +4178,7 @@ func testConsoleItAttributesProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4308,14 +4308,14 @@ func testConsoleItCdrs(t *testing.T) { cmd := exec.Command("cgr-console", "cdrs") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "2659fc519890c924f82b4475ddd71b058178d02b", "Category": "call", "Cost": -1., - "CostDetails": map[string]interface{}{ + "CostDetails": map[string]any{ "AccountSummary": nil, "Accounting": nil, "CGRID": "2", @@ -4331,7 +4331,7 @@ func testConsoleItCdrs(t *testing.T) { }, "CostSource": "", "Destination": "", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "ExtraInfo": "NOT_CONNECTED: RALs", "OrderID": nil, "OriginHost": "", @@ -4347,13 +4347,13 @@ func testConsoleItCdrs(t *testing.T) { "ToR": "*voice", "Usage": 150000000000., }, - map[string]interface{}{ + map[string]any{ "Account": "1001", "AnswerTime": "0001-01-01T00:00:00Z", "CGRID": "2659fc519890c924f82b4475ddd71b058178d02b", "Category": "call", "Cost": -1., - "CostDetails": map[string]interface{}{ + "CostDetails": map[string]any{ "AccountSummary": nil, "Accounting": nil, "CGRID": "2", @@ -4369,7 +4369,7 @@ func testConsoleItCdrs(t *testing.T) { }, "CostSource": "", "Destination": "", - "ExtraFields": map[string]interface{}{}, + "ExtraFields": map[string]any{}, "ExtraInfo": "", "OrderID": nil, "OriginHost": "", @@ -4391,17 +4391,17 @@ func testConsoleItCdrs(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - // // rcv[0].(map[string]interface{})["CGRID"] = "" - rcv[0].(map[string]interface{})["OrderID"] = nil - // // rcv[1].(map[string]interface{})["CGRID"] = "" - rcv[1].(map[string]interface{})["OrderID"] = nil + // // rcv[0].(map[string]any)["CGRID"] = "" + rcv[0].(map[string]any)["OrderID"] = nil + // // rcv[1].(map[string]any)["CGRID"] = "" + rcv[1].(map[string]any)["OrderID"] = nil sort.Slice(rcv, func(i, j int) bool { - return utils.IfaceAsString(rcv[i].(map[string]interface{})["RunID"]) < utils.IfaceAsString(rcv[j].(map[string]interface{})["RunID"]) + return utils.IfaceAsString(rcv[i].(map[string]any)["RunID"]) < utils.IfaceAsString(rcv[j].(map[string]any)["RunID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -4412,13 +4412,13 @@ func testConsoleItDispatchersHostIds(t *testing.T) { cmd := exec.Command("cgr-console", "dispatchers_host_ids") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"DHS_SET"} + expected := []any{"DHS_SET"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4587,38 +4587,38 @@ func testConsoleItAccountActionPlanGet(t *testing.T) { cmd = exec.Command("cgr-console", "account_actionplan_get", `Account="1001"`) output = bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_MONETARY_10", "NextExecTime": "", "Uuid": "", }, - map[string]interface{}{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_5M_VOICE", "NextExecTime": "", "Uuid": "", }, - map[string]interface{}{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_10M_VOICE", "NextExecTime": "", "Uuid": "", }, - map[string]interface{}{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_100_SMS", "NextExecTime": "", "Uuid": "", }, - map[string]interface{}{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_1024_DATA", "NextExecTime": "", "Uuid": "", }, - map[string]interface{}{ + map[string]any{ "ActionPlanId": "STANDARD_PLAN", "ActionsId": "TOPUP_RST_1024_DATA", "NextExecTime": "", @@ -4630,14 +4630,14 @@ func testConsoleItAccountActionPlanGet(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } for i := range rcv { - rcv[i].(map[string]interface{})["Uuid"] = "" - rcv[i].(map[string]interface{})["NextExecTime"] = "" + rcv[i].(map[string]any)["Uuid"] = "" + rcv[i].(map[string]any)["NextExecTime"] = "" } if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -4656,13 +4656,13 @@ func testConsoleItCacheItemIds(t *testing.T) { cmd := exec.Command("cgr-console", "cache_item_ids", `CacheID="*threshold_profiles"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"cgrates.org:123", "cgrates.org:THD_ACNT_1001"} + expected := []any{"cgrates.org:123", "cgrates.org:THD_ACNT_1001"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4720,7 +4720,7 @@ func testConsoleItFilterIndexes(t *testing.T) { cmd := exec.Command("cgr-console", "filter_indexes", `ItemType="*attributes"`, `FilterType="*string"`, `Tenant="cgrates.org"`, `Context="*sessions"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ + expected := []any{ "*string:*req.Account:1001:ATTR_1001_SESSIONAUTH", "*string:*req.Account:1002:ATTR_1002_SESSIONAUTH", "*string:*req.Account:1003:ATTR_1003_SESSIONAUTH", @@ -4730,7 +4730,7 @@ func testConsoleItFilterIndexes(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4747,55 +4747,55 @@ func testConsoleItDispatchesForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "dispatches_for_event", `Tenant="cgrates.org"`, `Event={"EventName":"Event1"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "EVENT1", - "Subsystems": []interface{}{"*any"}, - "FilterIDs": []interface{}{"*string:~*req.EventName:Event1"}, + "Subsystems": []any{"*any"}, + "FilterIDs": []any{"*string:~*req.EventName:Event1"}, "ActivationInterval": nil, "Strategy": "*weight", - "StrategyParams": map[string]interface{}{}, + "StrategyParams": map[string]any{}, "Weight": 30., - "Hosts": []interface{}{ - map[string]interface{}{ + "Hosts": []any{ + map[string]any{ "ID": "ALL2", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "Weight": 20., - "Params": map[string]interface{}{}, + "Params": map[string]any{}, "Blocker": false, }, - map[string]interface{}{ + map[string]any{ "ID": "ALL", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "Weight": 10., - "Params": map[string]interface{}{}, + "Params": map[string]any{}, "Blocker": false, }, }, }, - map[string]interface{}{ + map[string]any{ "Tenant": "cgrates.org", "ID": "PING1", - "Subsystems": []interface{}{"*any"}, - "FilterIDs": []interface{}{}, + "Subsystems": []any{"*any"}, + "FilterIDs": []any{}, "ActivationInterval": nil, "Strategy": "*weight", - "StrategyParams": map[string]interface{}{}, + "StrategyParams": map[string]any{}, "Weight": 10., - "Hosts": []interface{}{ - map[string]interface{}{ + "Hosts": []any{ + map[string]any{ "ID": "ALL", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "Weight": 20., - "Params": map[string]interface{}{}, + "Params": map[string]any{}, "Blocker": false, }, - map[string]interface{}{ + map[string]any{ "ID": "ALL2", - "FilterIDs": []interface{}{}, + "FilterIDs": []any{}, "Weight": 10., - "Params": map[string]interface{}{}, + "Params": map[string]any{}, "Blocker": false, }, }, @@ -4806,13 +4806,13 @@ func testConsoleItDispatchesForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - return rcv[i].(map[string]interface{})["ID"].(string) < rcv[j].(map[string]interface{})["ID"].(string) + return rcv[i].(map[string]any)["ID"].(string) < rcv[j].(map[string]any)["ID"].(string) }) // sort.Slice(rcv[]) if !reflect.DeepEqual(rcv, expected) { @@ -4920,7 +4920,7 @@ func testConsoleItCacheGroupItemIds(t *testing.T) { cmd := exec.Command("cgr-console", "cache_group_item_ids", `CacheID="*reverse_filter_indexes"`, `GroupID="cgrates.org:FLTR_ACNT_1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ + expected := []any{ "cgrates.org:FLTR_ACNT_1001:*route_filter_indexes", "cgrates.org:FLTR_ACNT_1001:*threshold_filter_indexes", // "cgrates.org:FLTR_ACNT_1001:fii_cgrates.org:FLTR_ACNT_1001_1002:*stat_filter_indexes", @@ -4930,7 +4930,7 @@ func testConsoleItCacheGroupItemIds(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -4947,7 +4947,7 @@ func testConsoleItCostDetails(t *testing.T) { cmd := exec.Command("cgr-console", "cost_details", `CgrId="2659fc519890c924f82b4475ddd71b058178d02b"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "AccountSummary": nil, "Accounting": nil, "CGRID": "2", @@ -4967,7 +4967,7 @@ func testConsoleItCostDetails(t *testing.T) { t.Fatal(err) } t.Log(output.String()) - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index 6a74ed6de..a230ae692 100644 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -405,7 +405,7 @@ func main() { } // reload cache - if err = tpReader.ReloadCache(ldrCfg.GeneralCfg().DefaultCaching, *verbose, map[string]interface{}{ + if err = tpReader.ReloadCache(ldrCfg.GeneralCfg().DefaultCaching, *verbose, map[string]any{ utils.OptsAPIKey: *apiKey, utils.OptsRouteID: *routeID, }, *tenant); err != nil { diff --git a/config/analyzerscfg.go b/config/analyzerscfg.go index 4a78ff190..a21b283bc 100644 --- a/config/analyzerscfg.go +++ b/config/analyzerscfg.go @@ -59,9 +59,9 @@ func (alS *AnalyzerSCfg) loadFromJSONCfg(jsnCfg *AnalyzerSJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (alS *AnalyzerSCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (alS *AnalyzerSCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.EnabledCfg: alS.Enabled, utils.DBPathCfg: alS.DBPath, utils.IndexTypeCfg: alS.IndexType, diff --git a/config/analyzerscfg_test.go b/config/analyzerscfg_test.go index 7455b0631..d47ee2e99 100644 --- a/config/analyzerscfg_test.go +++ b/config/analyzerscfg_test.go @@ -49,7 +49,7 @@ func TestAnalyzerSCfgAsMapInterface(t *testing.T) { "analyzers":{}, } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", @@ -70,7 +70,7 @@ func TestAnalyzerSCfgAsMapInterface1(t *testing.T) { }, } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", diff --git a/config/apiban.go b/config/apiban.go index 1e4193a56..669d0925b 100644 --- a/config/apiban.go +++ b/config/apiban.go @@ -42,9 +42,9 @@ func (ban *APIBanCfg) loadFromJSONCfg(jsnCfg *APIBanJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ban *APIBanCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ban *APIBanCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.EnabledCfg: ban.Enabled, utils.KeysCfg: ban.Keys, } diff --git a/config/apibancfg_test.go b/config/apibancfg_test.go index 55c1ee8c5..b700776b1 100644 --- a/config/apibancfg_test.go +++ b/config/apibancfg_test.go @@ -67,7 +67,7 @@ func TestAPIBanCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ "enabled": false, "keys": []string{"key1", "key2"}, } diff --git a/config/apiercfg.go b/config/apiercfg.go index 574869f63..1f2b56f9f 100644 --- a/config/apiercfg.go +++ b/config/apiercfg.go @@ -81,9 +81,9 @@ func (aCfg *ApierCfg) loadFromJSONCfg(jsnCfg *ApierJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (aCfg *ApierCfg) AsMapInterface() (initialMap map[string]interface{}) { - initialMap = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aCfg *ApierCfg) AsMapInterface() (initialMap map[string]any) { + initialMap = map[string]any{ utils.EnabledCfg: aCfg.Enabled, } if aCfg.CachesConns != nil { diff --git a/config/apiercfg_test.go b/config/apiercfg_test.go index 45c96b24c..390b9f6ec 100644 --- a/config/apiercfg_test.go +++ b/config/apiercfg_test.go @@ -54,7 +54,7 @@ func TestApierCfgAsMapInterface1(t *testing.T) { }, }` sls := make([]string, 0) - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.CachesConnsCfg: sls, utils.SchedulerConnsCfg: sls, @@ -78,7 +78,7 @@ func TestApierCfgAsMapInterface2(t *testing.T) { "scheduler_conns": ["*internal:*scheduler", "*conn1"], }, }` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: true, utils.CachesConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.SchedulerConnsCfg: []string{utils.MetaInternal, "*conn1"}, diff --git a/config/attributescfg.go b/config/attributescfg.go index 7fb2c9c7b..0c2e24550 100644 --- a/config/attributescfg.go +++ b/config/attributescfg.go @@ -137,9 +137,9 @@ func (alS *AttributeSCfg) loadFromJSONCfg(jsnCfg *AttributeSJsonCfg) (err error) return } -// AsMapInterface returns the config as a map[string]interface{} -func (alS *AttributeSCfg) AsMapInterface() (initialMP map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (alS *AttributeSCfg) AsMapInterface() (initialMP map[string]any) { + opts := map[string]any{ utils.MetaProfileIDs: alS.Opts.ProfileIDs, utils.MetaProfileRuns: alS.Opts.ProfileRuns, utils.MetaProfileIgnoreFiltersCfg: alS.Opts.ProfileIgnoreFilters, @@ -148,7 +148,7 @@ func (alS *AttributeSCfg) AsMapInterface() (initialMP map[string]interface{}) { if alS.Opts.Context != nil { opts[utils.OptsContext] = *alS.Opts.Context } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: alS.Enabled, utils.IndexedSelectsCfg: alS.IndexedSelects, utils.NestedFieldsCfg: alS.NestedFields, diff --git a/config/attributescfg_test.go b/config/attributescfg_test.go index 32ebe53a8..bf316a4e6 100644 --- a/config/attributescfg_test.go +++ b/config/attributescfg_test.go @@ -88,7 +88,7 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StatSConnsCfg: []string{utils.MetaInternal}, utils.ResourceSConnsCfg: []string{utils.MetaInternal}, @@ -99,7 +99,7 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) { utils.NestedFieldsCfg: false, utils.SuffixIndexedFieldsCfg: []string{}, utils.AnyContextCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRuns: 3, utils.MetaProfileRuns: 0, utils.MetaProfileIDs: []string{}, @@ -125,7 +125,7 @@ func TestAttributeSCfgAsMapInterface2(t *testing.T) { }, }, }` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: true, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -135,7 +135,7 @@ func TestAttributeSCfgAsMapInterface2(t *testing.T) { utils.SuffixIndexedFieldsCfg: []string{"*req.index1", "*req.index2"}, utils.NestedFieldsCfg: true, utils.AnyContextCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRuns: 7, utils.MetaProfileRuns: 0, utils.MetaProfileIDs: []string{}, @@ -155,7 +155,7 @@ func TestAttributeSCfgAsMapInterface3(t *testing.T) { "attributes": {} } ` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: false, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -165,7 +165,7 @@ func TestAttributeSCfgAsMapInterface3(t *testing.T) { utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.AnyContextCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRuns: 1, utils.MetaProfileRuns: 0, utils.MetaProfileIDs: []string{}, diff --git a/config/cachecfg.go b/config/cachecfg.go index 23eae0639..cf93387fd 100644 --- a/config/cachecfg.go +++ b/config/cachecfg.go @@ -61,9 +61,9 @@ func (cParam *CacheParamCfg) loadFromJSONCfg(jsnCfg *CacheParamJsonCfg) (err err return } -// AsMapInterface returns the config as a map[string]interface{} -func (cParam *CacheParamCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cParam *CacheParamCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.LimitCfg: cParam.Limit, utils.StaticTTLCfg: cParam.StaticTTL, utils.PrecacheCfg: cParam.Precache, @@ -147,10 +147,10 @@ func (cCfg *CacheCfg) AddTmpCaches() { } } -// AsMapInterface returns the config as a map[string]interface{} -func (cCfg *CacheCfg) AsMapInterface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) - partitions := make(map[string]interface{}, len(cCfg.Partitions)) +// AsMapInterface returns the config as a map[string]any +func (cCfg *CacheCfg) AsMapInterface() (mp map[string]any) { + mp = make(map[string]any) + partitions := make(map[string]any, len(cCfg.Partitions)) for key, value := range cCfg.Partitions { partitions[key] = value.AsMapInterface() } diff --git a/config/cachecfg_test.go b/config/cachecfg_test.go index 4ea84d583..f1593ba61 100644 --- a/config/cachecfg_test.go +++ b/config/cachecfg_test.go @@ -164,9 +164,9 @@ func TestCachesCfgAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.PartitionsCfg: map[string]interface{}{ - utils.MetaDestinations: map[string]interface{}{"limit": 10000, "static_ttl": false, "precache": true, "remote": true, "replicate": true}, + eMap := map[string]any{ + utils.PartitionsCfg: map[string]any{ + utils.MetaDestinations: map[string]any{"limit": 10000, "static_ttl": false, "precache": true, "remote": true, "replicate": true}, }, utils.ReplicationConnsCfg: []string{}, } @@ -174,10 +174,10 @@ func TestCachesCfgAsMapInterface1(t *testing.T) { t.Error(err) } else { newMap := cgrCfg.cacheCfg.AsMapInterface() - if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDestinations], - eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDestinations]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDestinations], - newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDestinations]) + if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDestinations], + eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDestinations]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDestinations], + newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDestinations]) } } } @@ -191,9 +191,9 @@ func TestCachesCfgAsMapInterface2(t *testing.T) { "replication_conns": ["conn1", "conn2"], }, }` - eMap := map[string]interface{}{ - utils.PartitionsCfg: map[string]interface{}{ - utils.MetaRatingPlans: map[string]interface{}{"limit": 10, "ttl": "", "static_ttl": true, "precache": true}, + eMap := map[string]any{ + utils.PartitionsCfg: map[string]any{ + utils.MetaRatingPlans: map[string]any{"limit": 10, "ttl": "", "static_ttl": true, "precache": true}, }, utils.ReplicationConnsCfg: []string{"conn1", "conn2"}, } @@ -201,10 +201,10 @@ func TestCachesCfgAsMapInterface2(t *testing.T) { t.Error(err) } else { newMap := cgrCfg.cacheCfg.AsMapInterface() - if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaRatingPlans], - newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaRatingPlans]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaRatingPlans], - eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaRatingPlans]) + if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaRatingPlans], + newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaRatingPlans]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaRatingPlans], + eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaRatingPlans]) } if !reflect.DeepEqual(newMap[utils.ReplicationConnsCfg], eMap[utils.ReplicationConnsCfg]) { t.Errorf("Expected %+v, received %+v", eMap[utils.ReplicationConnsCfg], newMap[utils.ReplicationConnsCfg]) diff --git a/config/cdrscfg.go b/config/cdrscfg.go index 4cbd0899b..1cbcd9937 100644 --- a/config/cdrscfg.go +++ b/config/cdrscfg.go @@ -134,9 +134,9 @@ func (cdrscfg *CdrsCfg) loadFromJSONCfg(jsnCdrsCfg *CdrsJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (cdrscfg *CdrsCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cdrscfg *CdrsCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: cdrscfg.Enabled, utils.StoreCdrsCfg: cdrscfg.StoreCdrs, utils.SMCostRetriesCfg: cdrscfg.SMCostRetries, diff --git a/config/cdrscfg_test.go b/config/cdrscfg_test.go index 67f5e3c1d..5887d2c3f 100644 --- a/config/cdrscfg_test.go +++ b/config/cdrscfg_test.go @@ -88,7 +88,7 @@ func TestCdrsCfgAsMapInterface(t *testing.T) { "ees_conns": ["*internal:*ees","*conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ExtraFieldsCfg: []string{"~*req.PayPalAccount", "~*req.LCRProfile", "~*req.ResourceID"}, utils.StoreCdrsCfg: true, @@ -118,7 +118,7 @@ func TestCdrsCfgAsMapInterface2(t *testing.T) { "ees_conns": ["conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ExtraFieldsCfg: []string{}, utils.StoreCdrsCfg: true, diff --git a/config/chargerscfg.go b/config/chargerscfg.go index 87c505651..8487822f2 100644 --- a/config/chargerscfg.go +++ b/config/chargerscfg.go @@ -80,9 +80,9 @@ func (cS *ChargerSCfg) loadFromJSONCfg(jsnCfg *ChargerSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (cS *ChargerSCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cS *ChargerSCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: cS.Enabled, utils.IndexedSelectsCfg: cS.IndexedSelects, utils.NestedFieldsCfg: cS.NestedFields, diff --git a/config/chargerscfg_test.go b/config/chargerscfg_test.go index b60896cba..72bfa822c 100644 --- a/config/chargerscfg_test.go +++ b/config/chargerscfg_test.go @@ -61,7 +61,7 @@ func TestChargerSCfgAsMapInterface(t *testing.T) { "nested_fields": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, utils.IndexedSelectsCfg: true, @@ -88,7 +88,7 @@ func TestChargerSCfgAsMapInterface1(t *testing.T) { "nested_fields": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.IndexedSelectsCfg: true, diff --git a/config/config.go b/config/config.go index 01deffb90..355110a0b 100644 --- a/config/config.go +++ b/config/config.go @@ -1136,7 +1136,7 @@ func (cfg *CGRConfig) GetReloadChan(sectID string) chan struct{} { // Call implements rpcclient.ClientConnector interface for internal RPC func (cfg *CGRConfig) Call(serviceMethod string, - args interface{}, reply interface{}) error { + args any, reply any) error { return utils.APIerRPCCall(cfg, serviceMethod, args, reply) } @@ -1492,9 +1492,9 @@ func (cfg *CGRConfig) reloadSections(sections ...string) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]interface{}) { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]any) { + return map[string]any{ LoaderJson: cfg.loaderCfg.AsMapInterface(separator), HttpAgentJson: cfg.httpAgentCfg.AsMapInterface(separator), RPCConnsJsonName: cfg.rpcConns.AsMapInterface(), @@ -1542,7 +1542,7 @@ func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]interface{ // ReloadArgs the API params for V1ReloadConfig type ReloadArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Path string Section string @@ -1585,13 +1585,13 @@ func (cfg *CGRConfig) V1ReloadConfig(args *ReloadArgs, reply *string) (err error // SectionWithAPIOpts the API params for GetConfig type SectionWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Section string } // V1GetConfig will retrieve from CGRConfig a section -func (cfg *CGRConfig) V1GetConfig(args *SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cfg *CGRConfig) V1GetConfig(args *SectionWithAPIOpts, reply *map[string]any) (err error) { args.Section = utils.FirstNonEmpty(args.Section, utils.MetaAll) cfg.cacheDPMux.RLock() if mp, has := cfg.cacheDP[args.Section]; has && mp != nil { @@ -1608,7 +1608,7 @@ func (cfg *CGRConfig) V1GetConfig(args *SectionWithAPIOpts, reply *map[string]in cfg.cacheDP[args.Section] = *reply cfg.cacheDPMux.Unlock() }() - var mp interface{} + var mp any switch args.Section { case utils.MetaAll: *reply = cfg.AsMapInterface(cfg.GeneralCfg().RSRSep) @@ -1700,15 +1700,15 @@ func (cfg *CGRConfig) V1GetConfig(args *SectionWithAPIOpts, reply *map[string]in default: return errors.New("Invalid section") } - *reply = map[string]interface{}{args.Section: mp} + *reply = map[string]any{args.Section: mp} return } // SetConfigArgs the API params for V1SetConfig type SetConfigArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string - Config map[string]interface{} + Config map[string]any DryRun bool } @@ -1771,7 +1771,7 @@ func (cfg *CGRConfig) V1GetConfigAsJSON(args *SectionWithAPIOpts, reply *string) cfg.cacheDP[args.Section] = rplyMap cfg.cacheDPMux.Unlock() }() - var mp interface{} + var mp any switch args.Section { case utils.MetaAll: rplyMap = cfg.AsMapInterface(cfg.GeneralCfg().RSRSep) @@ -1864,14 +1864,14 @@ func (cfg *CGRConfig) V1GetConfigAsJSON(args *SectionWithAPIOpts, reply *string) default: return errors.New("Invalid section") } - rplyMap = map[string]interface{}{args.Section: mp} + rplyMap = map[string]any{args.Section: mp} *reply = utils.ToJSON(rplyMap) return } // SetConfigFromJSONArgs the API params for V1SetConfigFromJSON type SetConfigFromJSONArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Config string DryRun bool diff --git a/config/config_it_test.go b/config/config_it_test.go index 5c53464c5..71b016145 100644 --- a/config/config_it_test.go +++ b/config/config_it_test.go @@ -703,78 +703,78 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { t.Fatal("Error creating folder: ", dir, err) } } - content := []interface{}{ - map[string]interface{}{ + content := []any{ + map[string]any{ "path": "*cgreq.ToR", "mandatory": true, "tag": "ToR", "type": "*variable", "value": "~*req.2", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.OriginID", "mandatory": true, "tag": "OriginID", "type": "*variable", "value": "~*req.3", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.RequestType", "mandatory": true, "tag": "RequestType", "type": "*variable", "value": "~*req.4", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Tenant", "mandatory": true, "tag": "Tenant", "type": "*variable", "value": "~*req.6", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Category", "mandatory": true, "tag": "Category", "type": "*variable", "value": "~*req.7", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Account", "mandatory": true, "tag": "Account", "type": "*variable", "value": "~*req.8", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Subject", "mandatory": true, "tag": "Subject", "type": "*variable", "value": "~*req.9", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Destination", "mandatory": true, "tag": "Destination", "type": "*variable", "value": "~*req.10", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.SetupTime", "mandatory": true, "tag": "SetupTime", "type": "*variable", "value": "~*req.11", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.AnswerTime", "mandatory": true, "tag": "AnswerTime", "type": "*variable", "value": "~*req.12", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Usage", "mandatory": true, "tag": "Usage", @@ -782,13 +782,13 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "value": "~*req.13", }, } - expected := map[string]interface{}{ + expected := map[string]any{ "enabled": true, "partial_cache_ttl": "1s", - "readers": []interface{}{ - map[string]interface{}{ + "readers": []any{ + map[string]any{ "id": utils.MetaDefault, - "cache_dump_fields": []interface{}{}, + "cache_dump_fields": []any{}, "concurrent_requests": 1024, "fields": content, "filters": []string{}, @@ -799,7 +799,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "tenant": "", "timezone": "", "type": utils.MetaNone, - "opts": map[string]interface{}{ + "opts": map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0., @@ -808,10 +808,10 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "xmlRootPath": "", "natsSubject": "cgrates_cdrs", }, - "partial_commit_fields": []interface{}{}, + "partial_commit_fields": []any{}, }, - map[string]interface{}{ - "cache_dump_fields": []interface{}{}, + map[string]any{ + "cache_dump_fields": []any{}, "concurrent_requests": 1024, "filters": []string{}, "flags": []string{"*dryrun"}, @@ -823,7 +823,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "timezone": "", "type": "*file_csv", "fields": content, - "opts": map[string]interface{}{ + "opts": map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0., @@ -832,7 +832,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "xmlRootPath": "", "natsSubject": "cgrates_cdrs", }, - "partial_commit_fields": []interface{}{}, + "partial_commit_fields": []any{}, }, }, "sessions_conns": []string{ @@ -845,7 +845,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { cfg.rldChans[section] = make(chan struct{}, 1) } var reply string - var rcv map[string]interface{} + var rcv map[string]any if err := cfg.V1ReloadConfig(&ReloadArgs{ Path: "/usr/share/cgrates/conf/samples/ers_example", @@ -856,7 +856,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { t.Errorf("Expected: %s \n,received: %s", utils.OK, reply) } - expected = map[string]interface{}{ + expected = map[string]any{ ERsJson: expected, } if err := cfg.V1GetConfig(&SectionWithAPIOpts{Section: ERsJson}, &rcv); err != nil { @@ -882,8 +882,8 @@ func testCGRConfigReloadConfigFromJSONSessionS(t *testing.T) { cfg.CdrsCfg().Enabled = true var reply string if err = cfg.V1SetConfig(&SetConfigArgs{ - Config: map[string]interface{}{ - "sessions": map[string]interface{}{ + Config: map[string]any{ + "sessions": map[string]any{ "enabled": true, "resources_conns": []string{"*localhost"}, "routes_conns": []string{"*localhost"}, diff --git a/config/config_test.go b/config/config_test.go index 79a475d36..9b240a564 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -3416,7 +3416,7 @@ func TestCgrCfgJSONDefaultApierCfg(t *testing.T) { } func TestCgrCfgV1GetConfigAllConfig(t *testing.T) { - var rcv map[string]interface{} + var rcv map[string]any cgrCfg := NewDefaultCGRConfig() if err != nil { t.Error(err) @@ -3437,9 +3437,9 @@ func TestCgrCfgV1GetConfigAllConfig(t *testing.T) { } func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - LoaderJson: []map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + LoaderJson: []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -3451,17 +3451,17 @@ func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { utils.FieldSepCfg: ",", utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", - utils.DataCfg: []map[string]interface{}{}, + utils.DataCfg: []map[string]any{}, }, }, } cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1GetConfig(&SectionWithAPIOpts{Section: LoaderJson}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[LoaderJson].([]map[string]interface{}); !can { + } else if mp, can := reply[LoaderJson].([]map[string]any); !can { t.Errorf("Unexpected type: %t", reply[LoaderJson]) } else { - mp[0][utils.DataCfg] = []map[string]interface{}{} + mp[0][utils.DataCfg] = []map[string]any{} if !reflect.DeepEqual(expected[LoaderJson], mp) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected[LoaderJson]), utils.ToJSON(mp)) } @@ -3469,9 +3469,9 @@ func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { } func TestCgrCfgV1GetConfigSectionHTTPAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - HttpAgentJson: []map[string]interface{}{}, + var reply map[string]any + expected := map[string]any{ + HttpAgentJson: []map[string]any{}, } cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1GetConfig(&SectionWithAPIOpts{Section: HttpAgentJson}, &reply); err != nil { @@ -3482,9 +3482,9 @@ func TestCgrCfgV1GetConfigSectionHTTPAgent(t *testing.T) { } func TestCgrCfgV1GetConfigSectionCoreS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CoreSCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CoreSCfgJson: map[string]any{ utils.CapsCfg: 0, utils.CapsStrategyCfg: utils.MetaBusy, utils.CapsStatsIntervalCfg: "0", @@ -3508,8 +3508,8 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { "http": ":2080", } }` - expected := map[string]interface{}{ - "listen": map[string]interface{}{ + expected := map[string]any{ + "listen": map[string]any{ "http": ":2080", "http_tls": "127.0.0.1:2280", "rpc_gob": ":2013", @@ -3518,7 +3518,7 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { "rpc_json_tls": "127.0.0.1:2022", }, } - var rcv map[string]interface{} + var rcv map[string]any if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) } else if err := cgrCfg.V1GetConfig(&SectionWithAPIOpts{Section: LISTEN_JSN}, &rcv); err != nil { @@ -3529,7 +3529,7 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { } func TestV1GetConfigGeneral(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any cfgJSONStr := `{ "general": { "node_id": "ENGINE1", @@ -3539,7 +3539,7 @@ func TestV1GetConfigGeneral(t *testing.T) { "reply_timeout": "0s", } }` - expected := map[string]interface{}{ + expected := map[string]any{ utils.NodeIDCfg: "ENGINE1", utils.LoggerCfg: "*syslog", utils.LogLevelCfg: 6, @@ -3565,7 +3565,7 @@ func TestV1GetConfigGeneral(t *testing.T) { utils.RSRSepCfg: ";", utils.MaxParallelConnsCfg: 100, } - expected = map[string]interface{}{ + expected = map[string]any{ GENERAL_JSN: expected, } cfgCgr, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr) @@ -3580,8 +3580,8 @@ func TestV1GetConfigGeneral(t *testing.T) { } func TestV1GetConfigDataDB(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ utils.DataDbTypeCfg: "*redis", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: int(6379), @@ -3591,22 +3591,22 @@ func TestV1GetConfigDataDB(t *testing.T) { utils.ReplicationFilteredCfg: false, utils.RemoteConnIDCfg: "", utils.ReplicationCache: "", - utils.OptsCfg: map[string]interface{}{}, + utils.OptsCfg: map[string]any{}, utils.RemoteConnsCfg: []string{}, utils.ReplicationConnsCfg: []string{}, - utils.ItemsCfg: map[string]interface{}{}, + utils.ItemsCfg: map[string]any{}, } - expected = map[string]interface{}{ + expected = map[string]any{ DATADB_JSN: expected, } cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: DATADB_JSN}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[DATADB_JSN].(map[string]interface{}); !can { + } else if mp, can := reply[DATADB_JSN].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[DATADB_JSN]) } else { - mp[utils.ItemsCfg] = map[string]interface{}{} - mp[utils.OptsCfg] = map[string]interface{}{} + mp[utils.ItemsCfg] = map[string]any{} + mp[utils.OptsCfg] = map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -3614,9 +3614,9 @@ func TestV1GetConfigDataDB(t *testing.T) { } func TestV1GetConfigStorDB(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any var empty []string - expected := map[string]interface{}{ + expected := map[string]any{ utils.DataDbTypeCfg: "*mysql", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 3306, @@ -3627,7 +3627,7 @@ func TestV1GetConfigStorDB(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.RemoteConnsCfg: empty, utils.ReplicationConnsCfg: empty, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.SQLMaxOpenConnsCfg: 100, utils.SQLMaxIdleConnsCfg: 10, utils.SQLConnMaxLifetimeCfg: "0s", @@ -3636,18 +3636,18 @@ func TestV1GetConfigStorDB(t *testing.T) { utils.PgSSLModeCfg: "disable", utils.MysqlLocation: "Local", }, - utils.ItemsCfg: map[string]interface{}{}, + utils.ItemsCfg: map[string]any{}, } - expected = map[string]interface{}{ + expected = map[string]any{ STORDB_JSN: expected, } cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: STORDB_JSN}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[STORDB_JSN].(map[string]interface{}); !can { + } else if mp, can := reply[STORDB_JSN].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[STORDB_JSN]) } else { - mp[utils.ItemsCfg] = map[string]interface{}{} + mp[utils.ItemsCfg] = map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -3655,9 +3655,9 @@ func TestV1GetConfigStorDB(t *testing.T) { } func TestV1GetConfigTLS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - TlsCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + TlsCfgJson: map[string]any{ utils.ServerCerificateCfg: "", utils.ServerKeyCfg: "", utils.ServerPolicyCfg: 4, @@ -3676,10 +3676,10 @@ func TestV1GetConfigTLS(t *testing.T) { } func TestV1GetConfigCache(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CACHE_JSN: map[string]interface{}{ - utils.PartitionsCfg: map[string]interface{}{}, + var reply map[string]any + expected := map[string]any{ + CACHE_JSN: map[string]any{ + utils.PartitionsCfg: map[string]any{}, utils.RemoteConnsCfg: []string{}, utils.ReplicationConnsCfg: []string{}, }, @@ -3687,10 +3687,10 @@ func TestV1GetConfigCache(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: CACHE_JSN}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[CACHE_JSN].(map[string]interface{}); !can { + } else if mp, can := reply[CACHE_JSN].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[CACHE_JSN]) } else { - mp[utils.PartitionsCfg] = map[string]interface{}{} + mp[utils.PartitionsCfg] = map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -3698,9 +3698,9 @@ func TestV1GetConfigCache(t *testing.T) { } func TestV1GetConfigHTTP(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - HTTP_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + HTTP_JSN: map[string]any{ utils.HTTPJsonRPCURLCfg: "/jsonrpc", utils.RegistrarSURLCfg: "/registrar", utils.HTTPWSURLCfg: "/ws", @@ -3708,7 +3708,7 @@ func TestV1GetConfigHTTP(t *testing.T) { utils.HTTPCDRsURLCfg: "/cdr_http", utils.HTTPUseBasicAuthCfg: false, utils.HTTPAuthUsersCfg: map[string]string{}, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientTLSClientConfigCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, @@ -3735,9 +3735,9 @@ func TestV1GetConfigHTTP(t *testing.T) { } func TestV1GetConfigFilterS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - FilterSjsn: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + FilterSjsn: map[string]any{ utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, utils.ApierSConnsCfg: []string{}, @@ -3752,15 +3752,15 @@ func TestV1GetConfigFilterS(t *testing.T) { } func TestV1GetConfigRals(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RALS_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RALS_JSN: map[string]any{ utils.EnabledCfg: false, utils.ThresholdSConnsCfg: []string{}, utils.StatSConnsCfg: []string{}, utils.RpSubjectPrefixMatchingCfg: false, utils.RemoveExpiredCfg: true, - utils.MaxComputedUsageCfg: map[string]interface{}{ + utils.MaxComputedUsageCfg: map[string]any{ "*any": "189h0m0s", "*voice": "72h0m0s", "*data": "107374182400", @@ -3783,9 +3783,9 @@ func TestV1GetConfigRals(t *testing.T) { } func TestV1GetConfigScheduler(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SCHEDULER_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SCHEDULER_JSN: map[string]any{ utils.EnabledCfg: false, utils.CDRsConnsCfg: []string{}, utils.ThreshSConnsCfg: []string{}, @@ -3803,9 +3803,9 @@ func TestV1GetConfigScheduler(t *testing.T) { } func TestV1GetConfigCdrs(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CDRS_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CDRS_JSN: map[string]any{ utils.EnabledCfg: false, utils.ExtraFieldsCfg: []string{}, utils.StoreCdrsCfg: true, @@ -3829,9 +3829,9 @@ func TestV1GetConfigCdrs(t *testing.T) { } func TestV1GetConfigSessionS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SessionSJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SessionSJson: map[string]any{ utils.EnabledCfg: false, utils.ListenBijsonCfg: "127.0.0.1:2014", utils.ListenBigobCfg: "", @@ -3854,7 +3854,7 @@ func TestV1GetConfigSessionS(t *testing.T) { utils.TerminateAttemptsCfg: 5, utils.MinDurLowBalanceCfg: "0", utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "-1", utils.DefaultAttestCfg: "A", @@ -3878,9 +3878,9 @@ func TestV1GetConfigSessionS(t *testing.T) { } func TestV1GetConfigFsAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - FreeSWITCHAgentJSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + FreeSWITCHAgentJSN: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SubscribeParkCfg: true, @@ -3890,7 +3890,7 @@ func TestV1GetConfigFsAgent(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "2s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", @@ -3909,14 +3909,14 @@ func TestV1GetConfigFsAgent(t *testing.T) { } func TestV1GetConfigKamailioAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - KamailioAgentJSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + KamailioAgentJSN: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, utils.TimezoneCfg: "", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, @@ -3935,13 +3935,13 @@ func TestV1GetConfigKamailioAgent(t *testing.T) { } func TestV1GetConfigAsteriskAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AsteriskAgentJSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AsteriskAgentJSN: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ { utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8088", @@ -3963,9 +3963,9 @@ func TestV1GetConfigAsteriskAgent(t *testing.T) { } func TestV1GetConfigDiameterAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DA_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DA_JSN: map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter/dict/", @@ -3980,7 +3980,7 @@ func TestV1GetConfigDiameterAgent(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SyncedConnReqsCfg: false, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -3992,9 +3992,9 @@ func TestV1GetConfigDiameterAgent(t *testing.T) { } func TestV1GetConfigRadiusAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RA_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RA_JSN: map[string]any{ utils.EnabledCfg: false, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1812", @@ -4006,7 +4006,7 @@ func TestV1GetConfigRadiusAgent(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/radius/dict/", }, utils.SessionSConnsCfg: []string{"*internal"}, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4018,15 +4018,15 @@ func TestV1GetConfigRadiusAgent(t *testing.T) { } func TestV1GetConfigDNSAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DNSAgentJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DNSAgentJson: map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.TimezoneCfg: "", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4038,9 +4038,9 @@ func TestV1GetConfigDNSAgent(t *testing.T) { } func TestV1GetConfigAttribute(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ATTRIBUTE_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ATTRIBUTE_JSN: map[string]any{ utils.EnabledCfg: false, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -4050,7 +4050,7 @@ func TestV1GetConfigAttribute(t *testing.T) { utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.AnyContextCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProcessRuns: 1, utils.MetaProfileRuns: 0, @@ -4067,9 +4067,9 @@ func TestV1GetConfigAttribute(t *testing.T) { } func TestV1GetConfigChargers(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ChargerSCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ChargerSCfgJson: map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, utils.IndexedSelectsCfg: true, @@ -4087,9 +4087,9 @@ func TestV1GetConfigChargers(t *testing.T) { } func TestV1GetConfigResourceS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RESOURCES_JSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RESOURCES_JSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.ThresholdSConnsCfg: []string{}, @@ -4097,7 +4097,7 @@ func TestV1GetConfigResourceS(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUnitsCfg: 1., utils.MetaUsageIDCfg: "", }, @@ -4112,9 +4112,9 @@ func TestV1GetConfigResourceS(t *testing.T) { } func TestV1GetConfigStats(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - STATS_JSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + STATS_JSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.StoreUncompressedLimitCfg: 0, @@ -4123,7 +4123,7 @@ func TestV1GetConfigStats(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, @@ -4138,16 +4138,16 @@ func TestV1GetConfigStats(t *testing.T) { } func TestV1GetConfigThresholds(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - THRESHOLDS_JSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + THRESHOLDS_JSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, @@ -4162,9 +4162,9 @@ func TestV1GetConfigThresholds(t *testing.T) { } func TestV1GetConfigRoutes(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RouteSJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RouteSJson: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -4175,7 +4175,7 @@ func TestV1GetConfigRoutes(t *testing.T) { utils.StatSConnsCfg: []string{}, utils.RALsConnsCfg: []string{}, utils.DefaultRatioCfg: 1, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: utils.MetaRoutes, utils.MetaIgnoreErrorsCfg: false, utils.MetaMaxCostCfg: utils.EmptyString, @@ -4191,9 +4191,9 @@ func TestV1GetConfigRoutes(t *testing.T) { } func TestV1GetConfigSuretax(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SURETAX_JSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SURETAX_JSON: map[string]any{ utils.URLCfg: utils.EmptyString, utils.ClientNumberCfg: utils.EmptyString, utils.ValidationKeyCfg: utils.EmptyString, @@ -4232,9 +4232,9 @@ func TestV1GetConfigSuretax(t *testing.T) { } func TestV1GetConfigDispatcherS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DispatcherSJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DispatcherSJson: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -4254,17 +4254,17 @@ func TestV1GetConfigDispatcherS(t *testing.T) { } func TestV1GetConfigDispatcherH(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RegistrarCJson: map[string]interface{}{ - utils.DispatcherCfg: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RegistrarCJson: map[string]any{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, - utils.RPCCfg: map[string]interface{}{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, }, @@ -4278,9 +4278,9 @@ func TestV1GetConfigDispatcherH(t *testing.T) { } func TestV1GetConfigSectionLoader(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CgrLoaderCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CgrLoaderCfgJson: map[string]any{ utils.TpIDCfg: "", utils.DataPathCfg: "./", utils.DisableReverseCfg: false, @@ -4300,9 +4300,9 @@ func TestV1GetConfigSectionLoader(t *testing.T) { } func TestV1GetConfigSectionMigrator(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CgrMigratorCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CgrMigratorCfgJson: map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -4317,7 +4317,7 @@ func TestV1GetConfigSectionMigrator(t *testing.T) { utils.OutStorDBUserCfg: "cgrates", utils.OutStorDBPasswordCfg: "", utils.UsersFiltersCfg: []string{}, - utils.OutStorDBOptsCfg: map[string]interface{}{ + utils.OutStorDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.MYSQLDSNParams: map[string]string(nil), utils.MysqlLocation: utils.EmptyString, @@ -4326,7 +4326,7 @@ func TestV1GetConfigSectionMigrator(t *testing.T) { utils.SQLMaxIdleConnsCfg: 0, utils.SQLMaxOpenConnsCfg: 0, }, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, @@ -4353,9 +4353,9 @@ func TestV1GetConfigSectionMigrator(t *testing.T) { } func TestV1GetConfigSectionApierS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ApierS: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ApierS: map[string]any{ utils.EnabledCfg: false, utils.CachesConnsCfg: []string{utils.MetaInternal}, utils.SchedulerConnsCfg: []string{}, @@ -4372,13 +4372,13 @@ func TestV1GetConfigSectionApierS(t *testing.T) { } func TestV1GetConfigSectionEES(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - EEsJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + EEsJson: map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFileCSV: map[string]interface{}{ + utils.CacheCfg: map[string]any{ + utils.MetaFileCSV: map[string]any{ utils.LimitCfg: -1, utils.PrecacheCfg: false, utils.ReplicateCfg: false, @@ -4387,12 +4387,12 @@ func TestV1GetConfigSectionEES(t *testing.T) { utils.StaticTTLCfg: false, }, }, - utils.ExportersCfg: []map[string]interface{}{ + utils.ExportersCfg: []map[string]any{ { utils.IDCfg: utils.MetaDefault, utils.TypeCfg: utils.MetaNone, utils.ExportPathCfg: "/var/spool/cgrates/ees", - utils.OptsCfg: map[string]interface{}{}, + utils.OptsCfg: map[string]any{}, utils.TimezoneCfg: utils.EmptyString, utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -4400,7 +4400,7 @@ func TestV1GetConfigSectionEES(t *testing.T) { utils.AttributeContextCfg: utils.EmptyString, utils.SynchronousCfg: false, utils.AttemptsCfg: 1, - utils.FieldsCfg: []map[string]interface{}{}, + utils.FieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 0, utils.FailedPostsDirCfg: "/var/spool/cgrates/failed_posts", }, @@ -4416,12 +4416,12 @@ func TestV1GetConfigSectionEES(t *testing.T) { } func TestV1GetConfigSectionERS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ERsJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ERsJson: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -4431,12 +4431,12 @@ func TestV1GetConfigSectionERS(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: utils.EmptyString, utils.TimezoneCfg: utils.EmptyString, - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: utils.MetaNone, utils.FieldsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0, @@ -4453,10 +4453,10 @@ func TestV1GetConfigSectionERS(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: ERsJson}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[ERsJson].(map[string]interface{}); !can { + } else if mp, can := reply[ERsJson].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[ERsJson]) } else { - mp[utils.ReadersCfg].([]map[string]interface{})[0][utils.FieldsCfg] = []string{} + mp[utils.ReadersCfg].([]map[string]any)[0][utils.FieldsCfg] = []string{} if !reflect.DeepEqual(mp, expected[ERsJson]) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected[ERsJson]), utils.ToJSON(mp)) } @@ -4464,43 +4464,43 @@ func TestV1GetConfigSectionERS(t *testing.T) { } func TestV1GetConfigSectionRPConns(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RPCConnsJsonName: map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RPCConnsJsonName: map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, }, }, }, - utils.MetaLocalHost: map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2012", utils.TransportCfg: "*json", }, }, }, - utils.MetaInternal: map[string]interface{}{ + utils.MetaInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, }, }, }, - rpcclient.BiRPCInternal: map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -4518,16 +4518,16 @@ func TestV1GetConfigSectionRPConns(t *testing.T) { } func TestV1GetConfigSectionSIPAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SIPAgentJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SIPAgentJson: map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.TimezoneCfg: utils.EmptyString, utils.RetransmissionTimerCfg: time.Second, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4539,9 +4539,9 @@ func TestV1GetConfigSectionSIPAgent(t *testing.T) { } func TestV1GetConfigSectionTemplates(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - TemplatesJson: map[string][]map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + TemplatesJson: map[string][]map[string]any{ utils.MetaErr: { {utils.TagCfg: "SessionId", utils.PathCfg: "*rep.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, @@ -4573,13 +4573,13 @@ func TestV1GetConfigSectionTemplates(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: TemplatesJson}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[TemplatesJson].(map[string][]map[string]interface{}); !can { + } else if mp, can := reply[TemplatesJson].(map[string][]map[string]any); !can { t.Errorf("Unexpected type: %t", reply[TemplatesJson]) } else { - mp[utils.MetaCCA] = []map[string]interface{}{} - mp[utils.MetaRAR] = []map[string]interface{}{} - mp["*errSip"] = []map[string]interface{}{} - mp[utils.MetaCdrLog] = []map[string]interface{}{} + mp[utils.MetaCCA] = []map[string]any{} + mp[utils.MetaRAR] = []map[string]any{} + mp["*errSip"] = []map[string]any{} + mp[utils.MetaCdrLog] = []map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -4587,9 +4587,9 @@ func TestV1GetConfigSectionTemplates(t *testing.T) { } func TestV1GetConfigSectionConfigs(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ConfigSJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ConfigSJson: map[string]any{ utils.EnabledCfg: true, utils.URLCfg: "/configs/", utils.RootDirCfg: "/var/spool/cgrates/configs", @@ -4624,9 +4624,9 @@ func TestV1GetConfigSectionConfigs(t *testing.T) { } func TestV1GetConfigSectionAPIBans(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - APIBanCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + APIBanCfgJson: map[string]any{ utils.EnabledCfg: false, utils.KeysCfg: []string{}, }, @@ -4640,9 +4640,9 @@ func TestV1GetConfigSectionAPIBans(t *testing.T) { } func TestV1GetConfigSectionMailer(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - MAILER_JSN: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + MAILER_JSN: map[string]any{ utils.MailerServerCfg: "localhost", utils.MailerAuthUserCfg: "cgrates", utils.MailerAuthPassCfg: "CGRateS.org", @@ -4658,9 +4658,9 @@ func TestV1GetConfigSectionMailer(t *testing.T) { } func TestV1GetConfigSectionAnalyzer(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AnalyzerCfgJson: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AnalyzerCfgJson: map[string]any{ utils.EnabledCfg: false, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", @@ -4677,7 +4677,7 @@ func TestV1GetConfigSectionAnalyzer(t *testing.T) { } func TestV1GetConfigSectionInvalidSection(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any expected := "Invalid section" cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(&SectionWithAPIOpts{Section: "invalidSection"}, &reply); err == nil || err.Error() != expected { @@ -4700,7 +4700,7 @@ func TestV1ReloadConfigUnmarshalError(t *testing.T) { expected := "json: unsupported type: chan int" cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1SetConfig(&SetConfigArgs{ - Config: map[string]interface{}{ + Config: map[string]any{ "randomValue": make(chan int), }, }, @@ -4711,8 +4711,8 @@ func TestV1ReloadConfigUnmarshalError(t *testing.T) { func TestV1ReloadConfigJSONWithLocks(t *testing.T) { var reply string - section := map[string]interface{}{ - "inexistentSection": map[string]interface{}{}, + section := map[string]any{ + "inexistentSection": map[string]any{}, } expected := "Invalid section: " cfgCgr := NewDefaultCGRConfig() @@ -4729,8 +4729,8 @@ func TestV1ReloadConfigCheckingSanity(t *testing.T) { "stats_conns": ["*internal:*stats"] } }` - ralsMap := map[string]interface{}{ - RALS_JSN: map[string]interface{}{ + ralsMap := map[string]any{ + RALS_JSN: map[string]any{ utils.EnabledCfg: true, utils.StatSConnsCfg: []string{"*internal:*stats"}, }, diff --git a/config/configs.go b/config/configs.go index 4bc15a427..0715a4100 100644 --- a/config/configs.go +++ b/config/configs.go @@ -107,9 +107,9 @@ func handleConfigSFile(path string, w http.ResponseWriter) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (cScfg *ConfigSCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cScfg *ConfigSCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: cScfg.Enabled, utils.URLCfg: cScfg.URL, utils.RootDirCfg: cScfg.RootDir, diff --git a/config/configs_test.go b/config/configs_test.go index 654e88360..60b6f4503 100644 --- a/config/configs_test.go +++ b/config/configs_test.go @@ -53,7 +53,7 @@ func TestConfigsAsMapInterface(t *testing.T) { "root_dir": "/var/spool/cgrates/configs" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.URLCfg: "", utils.RootDirCfg: "/var/spool/cgrates/configs", @@ -69,7 +69,7 @@ func TestConfigsAsMapInterface2(t *testing.T) { cfgsJSONStr := `{ "configs":{} }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.URLCfg: "/configs/", utils.RootDirCfg: "/var/spool/cgrates/configs", diff --git a/config/corescfg.go b/config/corescfg.go index bcd0c6abd..e648f3555 100644 --- a/config/corescfg.go +++ b/config/corescfg.go @@ -55,9 +55,9 @@ func (cS *CoreSCfg) loadFromJSONCfg(jsnCfg *CoreSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (cS *CoreSCfg) AsMapInterface() map[string]interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cS *CoreSCfg) AsMapInterface() map[string]any { + mp := map[string]any{ utils.CapsCfg: cS.Caps, utils.CapsStrategyCfg: cS.CapsStrategy, utils.CapsStatsIntervalCfg: cS.CapsStatsInterval.String(), diff --git a/config/corescfg_test.go b/config/corescfg_test.go index 55c450225..8537fd275 100644 --- a/config/corescfg_test.go +++ b/config/corescfg_test.go @@ -85,7 +85,7 @@ func TestCoreSAsMapInterface(t *testing.T) { "shutdown_timeout": "0" // the interval we sample for caps stats ( 0 to disabled ) }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.CapsCfg: 0, utils.CapsStrategyCfg: utils.MetaBusy, utils.CapsStatsIntervalCfg: "0", diff --git a/config/datadbcfg.go b/config/datadbcfg.go index 8ec4910ec..365500db5 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -252,9 +252,9 @@ func (dbcfg *DataDbCfg) Clone() (cln *DataDbCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (dbcfg *DataDbCfg) AsMapInterface() (mp map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dbcfg *DataDbCfg) AsMapInterface() (mp map[string]any) { + opts := map[string]any{ utils.RedisMaxConnsCfg: dbcfg.Opts.RedisMaxConns, utils.RedisConnectAttemptsCfg: dbcfg.Opts.RedisConnectAttempts, utils.RedisSentinelNameCfg: dbcfg.Opts.RedisSentinel, @@ -270,7 +270,7 @@ func (dbcfg *DataDbCfg) AsMapInterface() (mp map[string]interface{}) { utils.RedisClientKey: dbcfg.Opts.RedisClientKey, utils.RedisCACertificate: dbcfg.Opts.RedisCACertificate, } - mp = map[string]interface{}{ + mp = map[string]any{ utils.DataDbTypeCfg: dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbNameCfg: dbcfg.Name, @@ -284,7 +284,7 @@ func (dbcfg *DataDbCfg) AsMapInterface() (mp map[string]interface{}) { utils.OptsCfg: opts, } if dbcfg.Items != nil { - items := make(map[string]interface{}) + items := make(map[string]any) for key, item := range dbcfg.Items { items[key] = item.AsMapInterface() } @@ -308,9 +308,9 @@ type ItemOpt struct { APIKey string } -// AsMapInterface returns the config as a map[string]interface{} -func (itm *ItemOpt) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (itm *ItemOpt) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.RemoteCfg: itm.Remote, utils.ReplicateCfg: itm.Replicate, utils.LimitCfg: itm.Limit, diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go index 699a29745..1691d4e70 100644 --- a/config/datadbcfg_test.go +++ b/config/datadbcfg_test.go @@ -536,22 +536,22 @@ func TestDataDbCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.DataDbTypeCfg: "*redis", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 6379, utils.DataDbNameCfg: "10", utils.DataDbUserCfg: "cgrates", utils.DataDbPassCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.RedisSentinelNameCfg: "", utils.MongoQueryTimeoutCfg: "10s", }, utils.RemoteConnsCfg: []string{}, utils.ReplicationConnsCfg: []string{}, - utils.ItemsCfg: map[string]interface{}{ - utils.MetaAccounts: map[string]interface{}{utils.RemoteCfg: true, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false, utils.TTLCfg: "1ns"}, - utils.MetaReverseDestinations: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false, utils.TTLCfg: "1ns"}, + utils.ItemsCfg: map[string]any{ + utils.MetaAccounts: map[string]any{utils.RemoteCfg: true, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false, utils.TTLCfg: "1ns"}, + utils.MetaReverseDestinations: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false, utils.TTLCfg: "1ns"}, }, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { @@ -561,14 +561,14 @@ func TestDataDbCfgAsMapInterface(t *testing.T) { if err != nil { t.Error(err) } - if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts]) - } else if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaReverseDestinations], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaReverseDestinations]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaReverseDestinations], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaReverseDestinations]) + if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts]) + } else if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]any)[utils.MetaReverseDestinations], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaReverseDestinations]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]any)[utils.MetaReverseDestinations], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaReverseDestinations]) } } } diff --git a/config/diametercfg.go b/config/diametercfg.go index 150fd83fa..661de89a6 100644 --- a/config/diametercfg.go +++ b/config/diametercfg.go @@ -118,9 +118,9 @@ func (da *DiameterAgentCfg) loadFromJSONCfg(jsnCfg *DiameterAgentJsonCfg, separa return } -// AsMapInterface returns the config as a map[string]interface{} -func (da *DiameterAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (da *DiameterAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: da.Enabled, utils.ListenNetCfg: da.ListenNet, utils.ListenCfg: da.Listen, @@ -136,7 +136,7 @@ func (da *DiameterAgentCfg) AsMapInterface(separator string) (initialMP map[stri utils.ForcedDisconnectCfg: da.ForcedDisconnect, } - requestProcessors := make([]map[string]interface{}, len(da.RequestProcessors)) + requestProcessors := make([]map[string]any, len(da.RequestProcessors)) for i, item := range da.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/diametercfg_test.go b/config/diametercfg_test.go index 37afd6d44..7dfaf5b66 100644 --- a/config/diametercfg_test.go +++ b/config/diametercfg_test.go @@ -145,7 +145,7 @@ func TestDiameterAgentCfgAsMapInterface(t *testing.T) { ] }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter/dict/", @@ -160,20 +160,20 @@ func TestDiameterAgentCfgAsMapInterface(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, utils.MetaInternal, "*conn1"}, utils.SyncedConnReqsCfg: true, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: utils.CGRateSLwr, utils.TenantCfg: "1", utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{"1"}, utils.TimezoneCfg: utils.EmptyString, - utils.RequestFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{ { utils.PathCfg: "randomPath", utils.TagCfg: "randomPath", }, }, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.ReplyFieldsCfg: []map[string]any{ { utils.PathCfg: "randomPath", utils.TagCfg: "randomPath", @@ -206,7 +206,7 @@ func TestDiameterAgentCfgAsMapInterface1(t *testing.T) { "synced_conn_requests": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter", @@ -221,7 +221,7 @@ func TestDiameterAgentCfgAsMapInterface1(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SyncedConnReqsCfg: false, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) diff --git a/config/dispatcherscfg.go b/config/dispatcherscfg.go index d2cd5d0b6..2caf566c0 100644 --- a/config/dispatcherscfg.go +++ b/config/dispatcherscfg.go @@ -88,9 +88,9 @@ func (dps *DispatcherSCfg) loadFromJSONCfg(jsnCfg *DispatcherSJsonCfg) (err erro return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (dps *DispatcherSCfg) AsMapInterface() (mp map[string]interface{}) { - mp = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps *DispatcherSCfg) AsMapInterface() (mp map[string]any) { + mp = map[string]any{ utils.EnabledCfg: dps.Enabled, utils.IndexedSelectsCfg: dps.IndexedSelects, utils.NestedFieldsCfg: dps.NestedFields, diff --git a/config/dispatcherscfg_test.go b/config/dispatcherscfg_test.go index 3b050dcd6..8f4c9ed07 100644 --- a/config/dispatcherscfg_test.go +++ b/config/dispatcherscfg_test.go @@ -66,7 +66,7 @@ func TestDispatcherSCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -97,7 +97,7 @@ func TestDispatcherSCfgAsMapInterface1(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.StringIndexedFieldsCfg: []string{"*req.prefix"}, @@ -119,7 +119,7 @@ func TestDispatcherSCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "dispatchers":{}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, diff --git a/config/dnsagentcfg_test.go b/config/dnsagentcfg_test.go index 7fc2955b3..da649f364 100644 --- a/config/dnsagentcfg_test.go +++ b/config/dnsagentcfg_test.go @@ -195,13 +195,13 @@ func TestDNSAgentCfgAsMapInterface(t *testing.T) { "request_processors": [], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) @@ -242,21 +242,21 @@ func TestDNSAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.TimezoneCfg: "UTC", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryrun"}, utils.TimezoneCfg: "UTC", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, diff --git a/config/dnsagntcfg.go b/config/dnsagntcfg.go index c23c96658..96a569b21 100644 --- a/config/dnsagntcfg.go +++ b/config/dnsagntcfg.go @@ -80,16 +80,16 @@ func (da *DNSAgentCfg) loadFromJSONCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err return } -// AsMapInterface returns the config as a map[string]interface{} -func (da *DNSAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (da *DNSAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: da.Enabled, utils.ListenCfg: da.Listen, utils.ListenNetCfg: da.ListenNet, utils.TimezoneCfg: da.Timezone, } - requestProcessors := make([]map[string]interface{}, len(da.RequestProcessors)) + requestProcessors := make([]map[string]any, len(da.RequestProcessors)) for i, item := range da.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } @@ -179,9 +179,9 @@ func (rp *RequestProcessor) loadFromJSONCfg(jsnCfg *ReqProcessorJsnCfg, sep stri return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.IDCfg: rp.ID, utils.FiltersCfg: rp.Filters, utils.FlagsCfg: rp.Flags.SliceFlags(), @@ -191,14 +191,14 @@ func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[stri initialMP[utils.TenantCfg] = rp.Tenant.GetRule(separator) } if rp.RequestFields != nil { - requestFields := make([]map[string]interface{}, len(rp.RequestFields)) + requestFields := make([]map[string]any, len(rp.RequestFields)) for i, item := range rp.RequestFields { requestFields[i] = item.AsMapInterface(separator) } initialMP[utils.RequestFieldsCfg] = requestFields } if rp.ReplyFields != nil { - replyFields := make([]map[string]interface{}, len(rp.ReplyFields)) + replyFields := make([]map[string]any, len(rp.ReplyFields)) for i, item := range rp.ReplyFields { replyFields[i] = item.AsMapInterface(separator) } diff --git a/config/eescfg.go b/config/eescfg.go index 0771871c0..d51a55e0e 100644 --- a/config/eescfg.go +++ b/config/eescfg.go @@ -121,9 +121,9 @@ func (eeS *EEsCfg) Clone() (cln *EEsCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (eeS *EEsCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (eeS *EEsCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: eeS.Enabled, } if eeS.AttributeSConns != nil { @@ -137,14 +137,14 @@ func (eeS *EEsCfg) AsMapInterface(separator string) (initialMP map[string]interf initialMP[utils.AttributeSConnsCfg] = attributeSConns } if eeS.Cache != nil { - cache := make(map[string]interface{}, len(eeS.Cache)) + cache := make(map[string]any, len(eeS.Cache)) for key, value := range eeS.Cache { cache[key] = value.AsMapInterface() } initialMP[utils.CacheCfg] = cache } if eeS.Exporters != nil { - exporters := make([]map[string]interface{}, len(eeS.Exporters)) + exporters := make([]map[string]any, len(eeS.Exporters)) for i, item := range eeS.Exporters { exporters[i] = item.AsMapInterface(separator) } @@ -203,7 +203,7 @@ type EventExporterOpts struct { ConnIDs *[]string RPCConnTimeout *time.Duration RPCReplyTimeout *time.Duration - RPCAPIOpts map[string]interface{} + RPCAPIOpts map[string]any } // EventExporterCfg the config for a Event Exporter @@ -416,7 +416,7 @@ func (eeOpts *EventExporterOpts) loadFromJSONCfg(jsnCfg *EventExporterOptsJson) eeOpts.RPCReplyTimeout = utils.DurationPointer(rpcReplyTimeout) } if jsnCfg.RPCAPIOpts != nil { - eeOpts.RPCAPIOpts = make(map[string]interface{}) + eeOpts.RPCAPIOpts = make(map[string]any) eeOpts.RPCAPIOpts = jsnCfg.RPCAPIOpts } return @@ -718,7 +718,7 @@ func (eeOpts *EventExporterOpts) Clone() *EventExporterOpts { *cln.RPCReplyTimeout = *eeOpts.RPCReplyTimeout } if eeOpts.RPCAPIOpts != nil { - cln.RPCAPIOpts = make(map[string]interface{}) + cln.RPCAPIOpts = make(map[string]any) cln.RPCAPIOpts = eeOpts.RPCAPIOpts } return cln @@ -772,9 +772,9 @@ func (eeC EventExporterCfg) Clone() (cln *EventExporterCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - opts := map[string]interface{}{} +// AsMapInterface returns the config as a map[string]any +func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[string]any) { + opts := map[string]any{} if eeC.Opts.CSVFieldSeparator != nil { opts[utils.CSVFieldSepOpt] = *eeC.Opts.CSVFieldSeparator } @@ -930,7 +930,7 @@ func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[str if flgs == nil { flgs = []string{} } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.IDCfg: eeC.ID, utils.TypeCfg: eeC.Type, utils.ExportPathCfg: eeC.ExportPath, @@ -947,7 +947,7 @@ func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[str } if eeC.Fields != nil { - fields := make([]map[string]interface{}, 0, len(eeC.Fields)) + fields := make([]map[string]any, 0, len(eeC.Fields)) for _, fld := range eeC.Fields { fields = append(fields, fld.AsMapInterface(separator)) } diff --git a/config/eescfg_test.go b/config/eescfg_test.go index e4559b5d5..fd0b2c227 100644 --- a/config/eescfg_test.go +++ b/config/eescfg_test.go @@ -271,7 +271,7 @@ func TestEESClone(t *testing.T) { ConnIDs: utils.SliceStringPointer([]string{"id1", "id2"}), RPCConnTimeout: utils.DurationPointer(1 * time.Minute), RPCReplyTimeout: utils.DurationPointer(1 * time.Minute), - RPCAPIOpts: map[string]interface{}{ + RPCAPIOpts: map[string]any{ "key": "val", }, }, @@ -876,11 +876,11 @@ func TestEEsCfgAsMapInterface(t *testing.T) { }] } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.AttributeSConnsCfg: []string{utils.MetaInternal, "*conn2"}, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFileCSV: map[string]interface{}{ + utils.CacheCfg: map[string]any{ + utils.MetaFileCSV: map[string]any{ utils.LimitCfg: -2, utils.PrecacheCfg: false, utils.ReplicateCfg: false, @@ -889,12 +889,12 @@ func TestEEsCfgAsMapInterface(t *testing.T) { utils.StaticTTLCfg: false, }, }, - utils.ExportersCfg: []map[string]interface{}{ + utils.ExportersCfg: []map[string]any{ { utils.IDCfg: "CSVExporter", utils.TypeCfg: "*file_csv", utils.ExportPathCfg: "/tmp/testCSV", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.KafkaTopic: "test", utils.ElsIndex: "test", utils.ElsIfPrimaryTerm: 0, @@ -944,7 +944,7 @@ func TestEEsCfgAsMapInterface(t *testing.T) { utils.MYSQLDSNParams: map[string]string{ "key": "param", }, - utils.RPCAPIOpts: map[string]interface{}{ + utils.RPCAPIOpts: map[string]any{ "key": "val", }, }, @@ -956,7 +956,7 @@ func TestEEsCfgAsMapInterface(t *testing.T) { utils.SynchronousCfg: false, utils.AttemptsCfg: 1, utils.ConcurrentRequestsCfg: 0, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: utils.CGRID, utils.PathCfg: "*exp.CGRID", @@ -972,19 +972,19 @@ func TestEEsCfgAsMapInterface(t *testing.T) { t.Error(err) } else { rcv := cgrCfg.eesCfg.AsMapInterface(cgrCfg.generalCfg.RSRSep) - if len(rcv[utils.ExportersCfg].([]map[string]interface{})) != 2 { - t.Errorf("Expected %+v, received %+v", 2, len(rcv[utils.ExportersCfg].([]map[string]interface{}))) - } else if !reflect.DeepEqual(eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg], - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg], - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg]) + if len(rcv[utils.ExportersCfg].([]map[string]any)) != 2 { + t.Errorf("Expected %+v, received %+v", 2, len(rcv[utils.ExportersCfg].([]map[string]any))) + } else if !reflect.DeepEqual(eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg], + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg], + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg]) } - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg] = nil - eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg] = nil - if !reflect.DeepEqual(rcv[utils.ExportersCfg].([]map[string]interface{})[1], - eMap[utils.ExportersCfg].([]map[string]interface{})[0]) { - t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.ExportersCfg].([]map[string]interface{})[0]), - utils.ToJSON(rcv[utils.ExportersCfg].([]map[string]interface{})[1])) + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg] = nil + eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg] = nil + if !reflect.DeepEqual(rcv[utils.ExportersCfg].([]map[string]any)[1], + eMap[utils.ExportersCfg].([]map[string]any)[0]) { + t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.ExportersCfg].([]map[string]any)[0]), + utils.ToJSON(rcv[utils.ExportersCfg].([]map[string]any)[1])) } rcv[utils.ExportersCfg] = nil eMap[utils.ExportersCfg] = nil diff --git a/config/erscfg.go b/config/erscfg.go index ca2960986..583ae5f1c 100644 --- a/config/erscfg.go +++ b/config/erscfg.go @@ -106,9 +106,9 @@ func (erS *ERsCfg) Clone() (cln *ERsCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (erS *ERsCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (erS *ERsCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: erS.Enabled, utils.PartialCacheTTLCfg: "0", } @@ -126,7 +126,7 @@ func (erS *ERsCfg) AsMapInterface(separator string) (initialMP map[string]interf initialMP[utils.SessionSConnsCfg] = sessionSConns } if erS.Readers != nil { - readers := make([]map[string]interface{}, len(erS.Readers)) + readers := make([]map[string]any, len(erS.Readers)) for i, item := range erS.Readers { readers[i] = item.AsMapInterface(separator) } @@ -802,9 +802,9 @@ func (er EventReaderCfg) Clone() (cln *EventReaderCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - opts := map[string]interface{}{} +// AsMapInterface returns the config as a map[string]any +func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string]any) { + opts := map[string]any{} if er.Opts.PartialPath != nil { opts[utils.PartialPathOpt] = *er.Opts.PartialPath @@ -996,7 +996,7 @@ func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string opts[utils.NATSJetStreamMaxWaitProcessedCfg] = er.Opts.NATSJetStreamMaxWaitProcessed.String() } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.IDCfg: er.ID, utils.TypeCfg: er.Type, utils.ConcurrentRequestsCfg: er.ConcurrentReqs, @@ -1017,21 +1017,21 @@ func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string } if er.Fields != nil { - fields := make([]map[string]interface{}, len(er.Fields)) + fields := make([]map[string]any, len(er.Fields)) for i, item := range er.Fields { fields[i] = item.AsMapInterface(separator) } initialMP[utils.FieldsCfg] = fields } if er.CacheDumpFields != nil { - cacheDumpFields := make([]map[string]interface{}, len(er.CacheDumpFields)) + cacheDumpFields := make([]map[string]any, len(er.CacheDumpFields)) for i, item := range er.CacheDumpFields { cacheDumpFields[i] = item.AsMapInterface(separator) } initialMP[utils.CacheDumpFieldsCfg] = cacheDumpFields } if er.PartialCommitFields != nil { - parCFields := make([]map[string]interface{}, len(er.PartialCommitFields)) + parCFields := make([]map[string]any, len(er.PartialCommitFields)) for i, item := range er.PartialCommitFields { parCFields[i] = item.AsMapInterface(separator) } diff --git a/config/erscfg_test.go b/config/erscfg_test.go index 3d20bd34c..b588de95b 100644 --- a/config/erscfg_test.go +++ b/config/erscfg_test.go @@ -847,10 +847,10 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { ], } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{"conn1", "conn3"}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -860,11 +860,11 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: "", utils.TimezoneCfg: "", - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*none", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -877,7 +877,7 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.AnswerTime", utils.TagCfg: "AnswerTime", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.12"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.Usage", utils.TagCfg: "Usage", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.13"}, }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0, @@ -888,11 +888,11 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { }, }, { - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*file_csv", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -913,7 +913,7 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { utils.SourcePathCfg: "/tmp/ers/in", utils.TenantCfg: "~*req.Destination1", utils.TimezoneCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0, @@ -1011,10 +1011,10 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { ], } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{"conn1", "conn3"}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -1024,11 +1024,11 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: "", utils.TimezoneCfg: "", - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*none", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -1041,7 +1041,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.AnswerTime", utils.TagCfg: "AnswerTime", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.12"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.Usage", utils.TagCfg: "Usage", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.13"}, }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0, @@ -1052,13 +1052,13 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { }, }, { - utils.CacheDumpFieldsCfg: []map[string]interface{}{ + utils.CacheDumpFieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, }, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*file_csv", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -1079,7 +1079,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { utils.SourcePathCfg: "/tmp/ers/in", utils.TenantCfg: "~*req.Destination1", utils.TimezoneCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.CSVLazyQuotes: false, utils.KafkaGroupID: "test", utils.CSVFieldSepOpt: ",", diff --git a/config/fctemplate.go b/config/fctemplate.go index ad3c90e5a..b07d16ac5 100644 --- a/config/fctemplate.go +++ b/config/fctemplate.go @@ -197,11 +197,11 @@ func (fc FCTemplate) Clone() (cln *FCTemplate) { // FcTemplates the config for the templates type FcTemplates map[string][]*FCTemplate -// AsMapInterface returns the config as a map[string]interface{} -func (sCft FcTemplates) AsMapInterface(separator string) (initialMP map[string][]map[string]interface{}) { - initialMP = make(map[string][]map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (sCft FcTemplates) AsMapInterface(separator string) (initialMP map[string][]map[string]any) { + initialMP = make(map[string][]map[string]any) for key, value := range sCft { - initialMP[key] = make([]map[string]interface{}, len(value)) + initialMP[key] = make([]map[string]any, len(value)) for i, item := range value { initialMP[key][i] = item.AsMapInterface(separator) } @@ -209,9 +209,9 @@ func (sCft FcTemplates) AsMapInterface(separator string) (initialMP map[string][ return } -// AsMapInterface returns the config as a map[string]interface{} -func (fc *FCTemplate) AsMapInterface(separator string) (mp map[string]interface{}) { - mp = make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (fc *FCTemplate) AsMapInterface(separator string) (mp map[string]any) { + mp = make(map[string]any) if fc.Tag != utils.EmptyString { mp[utils.TagCfg] = fc.Tag } diff --git a/config/fctemplate_test.go b/config/fctemplate_test.go index 662a946d1..f34728ab2 100644 --- a/config/fctemplate_test.go +++ b/config/fctemplate_test.go @@ -388,8 +388,8 @@ func TestFCTemplateAsMapInterface(t *testing.T) { ], } }` - eMap := map[string]interface{}{ - "custom_template": []map[string]interface{}{ + eMap := map[string]any{ + "custom_template": []map[string]any{ { utils.TagCfg: "Tenant", utils.TypeCfg: "*composed", @@ -446,8 +446,8 @@ func TestFCTemplateAsMapInterface1(t *testing.T) { ], } }` - eMap := map[string]interface{}{ - utils.MetaErr: []map[string]interface{}{ + eMap := map[string]any{ + utils.MetaErr: []map[string]any{ {utils.TagCfg: "SessionId", utils.PathCfg: "*rep.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, {utils.TagCfg: "OriginHost", utils.PathCfg: "*rep.Origin-Host", utils.TypeCfg: "*variable", @@ -455,7 +455,7 @@ func TestFCTemplateAsMapInterface1(t *testing.T) { {utils.TagCfg: "OriginRealm", utils.PathCfg: "*rep.Origin-Realm", utils.TypeCfg: "*variable", utils.ValueCfg: "~*vars.OriginRealm", utils.MandatoryCfg: true}, }, - utils.MetaASR: []map[string]interface{}{ + utils.MetaASR: []map[string]any{ {utils.TagCfg: "SessionId", utils.PathCfg: "*diamreq.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, {utils.TagCfg: "OriginHost", utils.PathCfg: "*diamreq.Origin-Host", utils.TypeCfg: "*variable", diff --git a/config/filterscfg.go b/config/filterscfg.go index 803e02339..e023e61a1 100644 --- a/config/filterscfg.go +++ b/config/filterscfg.go @@ -66,9 +66,9 @@ func (fSCfg *FilterSCfg) loadFromJSONCfg(jsnCfg *FilterSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (fSCfg *FilterSCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (fSCfg *FilterSCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = make(map[string]any) if fSCfg.StatSConns != nil { statSConns := make([]string, len(fSCfg.StatSConns)) for i, item := range fSCfg.StatSConns { diff --git a/config/filterscfg_test.go b/config/filterscfg_test.go index a07e1379d..3e8e6562a 100644 --- a/config/filterscfg_test.go +++ b/config/filterscfg_test.go @@ -51,7 +51,7 @@ func TestFilterSCfgAsMapInterface(t *testing.T) { "apiers_conns": ["*internal:*apier", "*conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.StatSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.ResourceSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.ApierSConnsCfg: []string{utils.MetaInternal, "*conn1"}, @@ -67,7 +67,7 @@ func TestFilterSCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "filters": {} }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, utils.ApierSConnsCfg: []string{}, diff --git a/config/fwvdp.go b/config/fwvdp.go index bc53bf10e..357d399a6 100644 --- a/config/fwvdp.go +++ b/config/fwvdp.go @@ -48,7 +48,7 @@ func (fP *FWVProvider) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return } @@ -83,7 +83,7 @@ func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (fP *FWVProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = fP.FieldAsInterface(fldPath) if err != nil { return diff --git a/config/fwvdp_test.go b/config/fwvdp_test.go index 4aa0eff45..47785b27f 100644 --- a/config/fwvdp_test.go +++ b/config/fwvdp_test.go @@ -71,7 +71,7 @@ func TestFieldAsInterfaceFWV(t *testing.T) { func TestFieldAsInterfaceFWVEmptyPath(t *testing.T) { dp := new(FWVProvider) - var expected interface{} + var expected any if received, err := dp.FieldAsInterface([]string{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, received) { diff --git a/config/generalcfg.go b/config/generalcfg.go index 8c5b5c8d7..4ae0dbdab 100644 --- a/config/generalcfg.go +++ b/config/generalcfg.go @@ -145,9 +145,9 @@ func (gencfg *GeneralCfg) loadFromJSONCfg(jsnGeneralCfg *GeneralJsonCfg) (err er return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (gencfg *GeneralCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (gencfg *GeneralCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.NodeIDCfg: gencfg.NodeID, utils.LoggerCfg: gencfg.Logger, utils.LogLevelCfg: gencfg.LogLevel, diff --git a/config/generalcfg_test.go b/config/generalcfg_test.go index 44d6991bd..10fc02d3f 100644 --- a/config/generalcfg_test.go +++ b/config/generalcfg_test.go @@ -150,7 +150,7 @@ func TestGeneralCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.NodeIDCfg: "cgrates", utils.LoggerCfg: "*syslog", utils.LogLevelCfg: 6, @@ -194,7 +194,7 @@ func TestGeneralCfgAsMapInterface1(t *testing.T) { "max_call_duration": "0" } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.NodeIDCfg: "ENGINE1", utils.LoggerCfg: "*syslog", utils.LogLevelCfg: 6, diff --git a/config/httpagntcfg.go b/config/httpagntcfg.go index e48a68a91..83929d466 100644 --- a/config/httpagntcfg.go +++ b/config/httpagntcfg.go @@ -53,9 +53,9 @@ func (hcfgs *HTTPAgentCfgs) loadFromJSONCfg(jsnHTTPAgntCfg *[]*HttpAgentJsonCfg, return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (hcfgs HTTPAgentCfgs) AsMapInterface(separator string) (mp []map[string]interface{}) { - mp = make([]map[string]interface{}, len(hcfgs)) +// AsMapInterface returns the config as a map[string]any +func (hcfgs HTTPAgentCfgs) AsMapInterface(separator string) (mp []map[string]any) { + mp = make([]map[string]any, len(hcfgs)) for i, item := range hcfgs { mp[i] = item.AsMapInterface(separator) } @@ -143,9 +143,9 @@ func (ha *HTTPAgentCfg) loadFromJSONCfg(jsnCfg *HttpAgentJsonCfg, separator stri return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.IDCfg: ha.ID, utils.URLCfg: ha.URL, utils.RequestPayloadCfg: ha.RequestPayload, @@ -164,7 +164,7 @@ func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]i } initialMP[utils.SessionSConnsCfg] = sessionSConns } - requestProcessors := make([]map[string]interface{}, len(ha.RequestProcessors)) + requestProcessors := make([]map[string]any, len(ha.RequestProcessors)) for i, item := range ha.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/httpagntcfg_test.go b/config/httpagntcfg_test.go index ad713cfb1..7b8e4f570 100644 --- a/config/httpagntcfg_test.go +++ b/config/httpagntcfg_test.go @@ -525,22 +525,22 @@ func TestHttpAgentCfgAsMapInterface(t *testing.T) { }, ], }` - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "conecto1", utils.URLCfg: "/conecto", utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*localhost", "*internal"}, utils.RequestPayloadCfg: "*url", utils.ReplyPayloadCfg: "*xml", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryrun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, diff --git a/config/httpcfg.go b/config/httpcfg.go index 7fc9bb122..c6db36a16 100644 --- a/config/httpcfg.go +++ b/config/httpcfg.go @@ -147,9 +147,9 @@ func (httpcfg *HTTPCfg) loadFromJSONCfg(jsnHTTPCfg *HTTPJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (httpcfg *HTTPCfg) AsMapInterface() map[string]interface{} { - clientOpts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (httpcfg *HTTPCfg) AsMapInterface() map[string]any { + clientOpts := map[string]any{ utils.HTTPClientTLSClientConfigCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: httpcfg.ClientOpts.TLSHandshakeTimeout.String(), utils.HTTPClientDisableKeepAlivesCfg: httpcfg.ClientOpts.DisableKeepAlives, @@ -168,7 +168,7 @@ func (httpcfg *HTTPCfg) AsMapInterface() map[string]interface{} { if httpcfg.ClientOpts.TLSClientConfig != nil { clientOpts[utils.HTTPClientTLSClientConfigCfg] = httpcfg.ClientOpts.TLSClientConfig.InsecureSkipVerify } - return map[string]interface{}{ + return map[string]any{ utils.HTTPJsonRPCURLCfg: httpcfg.HTTPJsonRPCURL, utils.RegistrarSURLCfg: httpcfg.RegistrarSURL, utils.HTTPWSURLCfg: httpcfg.HTTPWSURL, diff --git a/config/httpcfg_test.go b/config/httpcfg_test.go index 3c3be9c24..a63a2508a 100644 --- a/config/httpcfg_test.go +++ b/config/httpcfg_test.go @@ -82,7 +82,7 @@ func TestHTTPCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "http": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.HTTPJsonRPCURLCfg: "/jsonrpc", utils.RegistrarSURLCfg: "/registrar", utils.HTTPWSURLCfg: "/ws", @@ -90,7 +90,7 @@ func TestHTTPCfgAsMapInterface(t *testing.T) { utils.HTTPCDRsURLCfg: "/cdr_http", utils.HTTPUseBasicAuthCfg: false, utils.HTTPAuthUsersCfg: map[string]string{}, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientTLSClientConfigCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, @@ -123,7 +123,7 @@ func TestHTTPCfgAsMapInterface1(t *testing.T) { "auth_users": {"user1": "authenticated", "user2": "authenticated"}, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.HTTPJsonRPCURLCfg: "/rpc", utils.RegistrarSURLCfg: "/registrar", utils.HTTPWSURLCfg: "", @@ -134,7 +134,7 @@ func TestHTTPCfgAsMapInterface1(t *testing.T) { "user1": "authenticated", "user2": "authenticated", }, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientTLSClientConfigCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, diff --git a/config/kamagentcfg.go b/config/kamagentcfg.go index df95b5196..1dc411e0f 100644 --- a/config/kamagentcfg.go +++ b/config/kamagentcfg.go @@ -63,9 +63,9 @@ func (kamCfg *KamConnCfg) loadFromJSONCfg(jsnCfg *KamConnJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (kamCfg *KamConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (kamCfg *KamConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AliasCfg: kamCfg.Alias, utils.AddressCfg: kamCfg.Address, utils.ReconnectsCfg: kamCfg.Reconnects, @@ -126,15 +126,15 @@ func (ka *KamAgentCfg) loadFromJSONCfg(jsnCfg *KamAgentJsonCfg) error { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ka *KamAgentCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ka *KamAgentCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: ka.Enabled, utils.CreateCdrCfg: ka.CreateCdr, utils.TimezoneCfg: ka.Timezone, } if ka.EvapiConns != nil { - evapiConns := make([]map[string]interface{}, len(ka.EvapiConns)) + evapiConns := make([]map[string]any, len(ka.EvapiConns)) for i, item := range ka.EvapiConns { evapiConns[i] = item.AsMapInterface() } diff --git a/config/kamagentcfg_test.go b/config/kamagentcfg_test.go index f164a6f5e..f2ac7fc0c 100644 --- a/config/kamagentcfg_test.go +++ b/config/kamagentcfg_test.go @@ -105,12 +105,12 @@ func TestKamAgentCfgAsMapInterface(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2", utils.MetaInternal}, utils.CreateCdrCfg: true, utils.TimezoneCfg: "UTC", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ {utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, utils.MaxReconnectIntervalCfg: "0s", utils.AliasCfg: ""}, }, } @@ -125,12 +125,12 @@ func TestKamAgentCfgAsMapInterface1(t *testing.T) { cfgJSONStr := `{ "kamailio_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, utils.TimezoneCfg: "", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ {utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, utils.MaxReconnectIntervalCfg: "0s", utils.AliasCfg: ""}, }, } diff --git a/config/libconfig_json.go b/config/libconfig_json.go index 27d31962a..db77ce844 100644 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -298,56 +298,56 @@ type EEsJsonCfg struct { } type EventExporterOptsJson struct { - CSVFieldSeparator *string `json:"csvFieldSeparator"` - ElsIndex *string `json:"elsIndex"` - ElsIfPrimaryTerm *int `json:"elsIfPrimaryTerm"` - ElsIfSeqNo *int `json:"elsIfSeqNo"` - ElsOpType *string `json:"elsOpType"` - ElsPipeline *string `json:"elsPipeline"` - ElsRouting *string `json:"elsRouting"` - ElsTimeout *string `json:"elsTimeout"` - ElsVersion *int `json:"elsVersion"` - ElsVersionType *string `json:"elsVersionType"` - ElsWaitForActiveShards *string `json:"elsWaitForActiveShards"` - SQLMaxIdleConns *int `json:"sqlMaxIdleConns"` - SQLMaxOpenConns *int `json:"sqlMaxOpenConns"` - SQLConnMaxLifetime *string `json:"sqlConnMaxLifetime"` - MYSQLDSNParams map[string]string `json:"mysqlDSNParams"` - SQLTableName *string `json:"sqlTableName"` - SQLDBName *string `json:"sqlDBName"` - PgSSLMode *string `json:"pgSSLMode"` - KafkaTopic *string `json:"kafkaTopic"` - AMQPQueueID *string `json:"amqpQueueID"` - AMQPRoutingKey *string `json:"amqpRoutingKey"` - AMQPExchange *string `json:"amqpExchange"` - AMQPExchangeType *string `json:"amqpExchangeType"` - AMQPUsername *string `json:"amqpUsername"` - AMQPPassword *string `json:"amqpPassword"` - AWSRegion *string `json:"awsRegion"` - AWSKey *string `json:"awsKey"` - AWSSecret *string `json:"awsSecret"` - AWSToken *string `json:"awsToken"` - SQSQueueID *string `json:"sqsQueueID"` - S3BucketID *string `json:"s3BucketID"` - S3FolderPath *string `json:"s3FolderPath"` - NATSJetStream *bool `json:"natsJetStream"` - NATSSubject *string `json:"natsSubject"` - NATSJWTFile *string `json:"natsJWTFile"` - NATSSeedFile *string `json:"natsSeedFile"` - NATSCertificateAuthority *string `json:"natsCertificateAuthority"` - NATSClientCertificate *string `json:"natsClientCertificate"` - NATSClientKey *string `json:"natsClientKey"` - NATSJetStreamMaxWait *string `json:"natsJetStreamMaxWait"` - RPCCodec *string `json:"rpcCodec"` - ServiceMethod *string `json:"serviceMethod"` - KeyPath *string `json:"keyPath"` - CertPath *string `json:"certPath"` - CAPath *string `json:"caPath"` - ConnIDs *[]string `json:"connIDs"` - TLS *bool `json:"tls"` - RPCConnTimeout *string `json:"rpcConnTimeout"` - RPCReplyTimeout *string `json:"rpcReplyTimeout"` - RPCAPIOpts map[string]interface{} `json:"rpcAPIOpts"` + CSVFieldSeparator *string `json:"csvFieldSeparator"` + ElsIndex *string `json:"elsIndex"` + ElsIfPrimaryTerm *int `json:"elsIfPrimaryTerm"` + ElsIfSeqNo *int `json:"elsIfSeqNo"` + ElsOpType *string `json:"elsOpType"` + ElsPipeline *string `json:"elsPipeline"` + ElsRouting *string `json:"elsRouting"` + ElsTimeout *string `json:"elsTimeout"` + ElsVersion *int `json:"elsVersion"` + ElsVersionType *string `json:"elsVersionType"` + ElsWaitForActiveShards *string `json:"elsWaitForActiveShards"` + SQLMaxIdleConns *int `json:"sqlMaxIdleConns"` + SQLMaxOpenConns *int `json:"sqlMaxOpenConns"` + SQLConnMaxLifetime *string `json:"sqlConnMaxLifetime"` + MYSQLDSNParams map[string]string `json:"mysqlDSNParams"` + SQLTableName *string `json:"sqlTableName"` + SQLDBName *string `json:"sqlDBName"` + PgSSLMode *string `json:"pgSSLMode"` + KafkaTopic *string `json:"kafkaTopic"` + AMQPQueueID *string `json:"amqpQueueID"` + AMQPRoutingKey *string `json:"amqpRoutingKey"` + AMQPExchange *string `json:"amqpExchange"` + AMQPExchangeType *string `json:"amqpExchangeType"` + AMQPUsername *string `json:"amqpUsername"` + AMQPPassword *string `json:"amqpPassword"` + AWSRegion *string `json:"awsRegion"` + AWSKey *string `json:"awsKey"` + AWSSecret *string `json:"awsSecret"` + AWSToken *string `json:"awsToken"` + SQSQueueID *string `json:"sqsQueueID"` + S3BucketID *string `json:"s3BucketID"` + S3FolderPath *string `json:"s3FolderPath"` + NATSJetStream *bool `json:"natsJetStream"` + NATSSubject *string `json:"natsSubject"` + NATSJWTFile *string `json:"natsJWTFile"` + NATSSeedFile *string `json:"natsSeedFile"` + NATSCertificateAuthority *string `json:"natsCertificateAuthority"` + NATSClientCertificate *string `json:"natsClientCertificate"` + NATSClientKey *string `json:"natsClientKey"` + NATSJetStreamMaxWait *string `json:"natsJetStreamMaxWait"` + RPCCodec *string `json:"rpcCodec"` + ServiceMethod *string `json:"serviceMethod"` + KeyPath *string `json:"keyPath"` + CertPath *string `json:"certPath"` + CAPath *string `json:"caPath"` + ConnIDs *[]string `json:"connIDs"` + TLS *bool `json:"tls"` + RPCConnTimeout *string `json:"rpcConnTimeout"` + RPCReplyTimeout *string `json:"rpcReplyTimeout"` + RPCAPIOpts map[string]any `json:"rpcAPIOpts"` } // EventExporterJsonCfg is the configuration of a single EventExporter @@ -653,12 +653,12 @@ type ThresholdSJsonCfg struct { } type RoutesOptsJson struct { - Context *string `json:"*context"` - IgnoreErrors *bool `json:"*ignoreErrors"` - MaxCost interface{} `json:"*maxCost"` - Limit *int `json:"*limit"` - Offset *int `json:"*offset"` - ProfileCount *int `json:"*profileCount"` + Context *string `json:"*context"` + IgnoreErrors *bool `json:"*ignoreErrors"` + MaxCost any `json:"*maxCost"` + Limit *int `json:"*limit"` + Offset *int `json:"*offset"` + ProfileCount *int `json:"*profileCount"` } // Route service config section diff --git a/config/listencfg.go b/config/listencfg.go index 95114b2a5..676d6f41f 100644 --- a/config/listencfg.go +++ b/config/listencfg.go @@ -56,9 +56,9 @@ func (lstcfg *ListenCfg) loadFromJSONCfg(jsnListenCfg *ListenJsonCfg) (err error return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (lstcfg *ListenCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (lstcfg *ListenCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.RPCJSONListenCfg: lstcfg.RPCJSONListen, utils.RPCGOBListenCfg: lstcfg.RPCGOBListen, utils.HTTPListenCfg: lstcfg.HTTPListen, diff --git a/config/listencfg_test.go b/config/listencfg_test.go index 17a8ed890..693c1e2b9 100644 --- a/config/listencfg_test.go +++ b/config/listencfg_test.go @@ -53,7 +53,7 @@ func TestListenCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "listen": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.RPCJSONListenCfg: "127.0.0.1:2012", utils.RPCGOBListenCfg: "127.0.0.1:2013", utils.HTTPListenCfg: "127.0.0.1:2080", @@ -78,7 +78,7 @@ func TestListenCfgAsMapInterface1(t *testing.T) { "http_tls": "127.0.0.1:2288", } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.RPCJSONListenCfg: "127.0.0.1:2010", utils.RPCGOBListenCfg: "127.0.0.1:2018", utils.HTTPListenCfg: "127.0.0.1:2080", diff --git a/config/loadercgrcfg.go b/config/loadercgrcfg.go index 56aa0d4b9..39c579728 100644 --- a/config/loadercgrcfg.go +++ b/config/loadercgrcfg.go @@ -82,9 +82,9 @@ func (ld *LoaderCgrCfg) loadFromJSONCfg(jsnCfg *LoaderCfgJson) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ld *LoaderCgrCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ld *LoaderCgrCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.TpIDCfg: ld.TpID, utils.DataPathCfg: ld.DataPath, utils.DisableReverseCfg: ld.DisableReverse, diff --git a/config/loadercgrcfg_test.go b/config/loadercgrcfg_test.go index 770a43117..4ab33cd4e 100644 --- a/config/loadercgrcfg_test.go +++ b/config/loadercgrcfg_test.go @@ -67,7 +67,7 @@ func TestLoaderCgrCfgAsMapInterface(t *testing.T) { "gapi_token": ".gapi/token.json" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.TpIDCfg: "", utils.DataPathCfg: "./", utils.DisableReverseCfg: false, diff --git a/config/loaderscfg.go b/config/loaderscfg.go index be22479b5..73061da36 100644 --- a/config/loaderscfg.go +++ b/config/loaderscfg.go @@ -39,9 +39,9 @@ func NewDfltLoaderSCfg() *LoaderSCfg { // LoaderSCfgs to export some methods for LoaderS profiles type LoaderSCfgs []*LoaderSCfg -// AsMapInterface returns the config as a map[string]interface{} -func (ldrs LoaderSCfgs) AsMapInterface(separator string) (loaderCfg []map[string]interface{}) { - loaderCfg = make([]map[string]interface{}, len(ldrs)) +// AsMapInterface returns the config as a map[string]any +func (ldrs LoaderSCfgs) AsMapInterface(separator string) (loaderCfg []map[string]any) { + loaderCfg = make([]map[string]any, len(ldrs)) for i, item := range ldrs { loaderCfg[i] = item.AsMapInterface(separator) } @@ -224,15 +224,15 @@ func (l LoaderSCfg) Clone() (cln *LoaderSCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (lData *LoaderDataType) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (lData *LoaderDataType) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.TypeCf: lData.Type, utils.FilenameCfg: lData.Filename, utils.FlagsCfg: lData.Flags.SliceFlags(), } - fields := make([]map[string]interface{}, len(lData.Fields)) + fields := make([]map[string]any, len(lData.Fields)) for i, item := range lData.Fields { fields[i] = item.AsMapInterface(separator) } @@ -240,9 +240,9 @@ func (lData *LoaderDataType) AsMapInterface(separator string) (initialMP map[str return } -// AsMapInterface returns the config as a map[string]interface{} -func (l *LoaderSCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (l *LoaderSCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.IDCfg: l.ID, utils.TenantCfg: l.Tenant, utils.EnabledCfg: l.Enabled, @@ -254,7 +254,7 @@ func (l *LoaderSCfg) AsMapInterface(separator string) (initialMP map[string]inte utils.RunDelayCfg: "0", } if l.Data != nil { - data := make([]map[string]interface{}, len(l.Data)) + data := make([]map[string]any, len(l.Data)) for i, item := range l.Data { data[i] = item.AsMapInterface(separator) } diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go index f2408b572..a3e6df260 100644 --- a/config/loaderscfg_test.go +++ b/config/loaderscfg_test.go @@ -279,7 +279,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { }, ], }` - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -291,11 +291,11 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.FieldSepCfg: ",", utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", - utils.DataCfg: []map[string]interface{}{ + utils.DataCfg: []map[string]any{ { utils.TypeCfg: "*attributes", utils.FilenameCfg: "Attributes.csv", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "TenantID", utils.PathCfg: "Tenant", @@ -318,14 +318,14 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { t.Error(err) } else { rcv := cgrCfg.loaderCfg.AsMapInterface(cfgCgr.generalCfg.RSRSep) - if !reflect.DeepEqual(eMap[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0], - rcv[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0]) { - t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0]), - utils.ToJSON(rcv[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0])) - } else if !reflect.DeepEqual(eMap[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[1], - rcv[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[1]) { - t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[1]), - utils.ToJSON(rcv[0][utils.DataCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[1])) + if !reflect.DeepEqual(eMap[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0], + rcv[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0]) { + t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0]), + utils.ToJSON(rcv[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0])) + } else if !reflect.DeepEqual(eMap[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[1], + rcv[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[1]) { + t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[1]), + utils.ToJSON(rcv[0][utils.DataCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[1])) } else if !reflect.DeepEqual(eMap[0][utils.CachesConnsCfg], rcv[0][utils.CachesConnsCfg]) { t.Errorf("Expected %+v, received %+v", eMap[0][utils.CachesConnsCfg], rcv[0][utils.CachesConnsCfg]) } else if !reflect.DeepEqual(eMap[0][utils.TpInDirCfg], rcv[0][utils.TpInDirCfg]) { @@ -363,7 +363,7 @@ func TestLoaderCfgAsMapInterfaceCase2(t *testing.T) { }, ], }` - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -375,11 +375,11 @@ func TestLoaderCfgAsMapInterfaceCase2(t *testing.T) { utils.FieldSepCfg: ",", utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", - utils.DataCfg: []map[string]interface{}{ + utils.DataCfg: []map[string]any{ { utils.TypeCfg: "*attributes", utils.FilenameCfg: "Attributes.csv", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "TenantID", utils.PathCfg: "Tenant", diff --git a/config/mailercfg.go b/config/mailercfg.go index 7d8eb30b6..6ec44e7df 100644 --- a/config/mailercfg.go +++ b/config/mailercfg.go @@ -48,9 +48,9 @@ func (mailcfg *MailerCfg) loadFromJSONCfg(jsnMailerCfg *MailerJsonCfg) (err erro return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (mailcfg *MailerCfg) AsMapInterface() (initialMP map[string]interface{}) { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (mailcfg *MailerCfg) AsMapInterface() (initialMP map[string]any) { + return map[string]any{ utils.MailerServerCfg: mailcfg.MailerServer, utils.MailerAuthUserCfg: mailcfg.MailerAuthUser, utils.MailerAuthPassCfg: mailcfg.MailerAuthPass, diff --git a/config/mailercfg_test.go b/config/mailercfg_test.go index e1470ac9d..bc90b7a25 100644 --- a/config/mailercfg_test.go +++ b/config/mailercfg_test.go @@ -54,7 +54,7 @@ func TestMailerCfgAsMapInterface(t *testing.T) { "from_address": "", }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.MailerServerCfg: "", utils.MailerAuthUserCfg: "", utils.MailerAuthPassCfg: "", @@ -71,7 +71,7 @@ func TestMailerCfgAsMapInterface1(t *testing.T) { cfgJSONStr := `{ "mailer": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.MailerServerCfg: "localhost", utils.MailerAuthUserCfg: "cgrates", utils.MailerAuthPassCfg: "CGRateS.org", diff --git a/config/migratorcfg.go b/config/migratorcfg.go index 0843a6048..9ee21cd52 100644 --- a/config/migratorcfg.go +++ b/config/migratorcfg.go @@ -111,9 +111,9 @@ func (mg *MigratorCgrCfg) loadFromJSONCfg(jsnCfg *MigratorCfgJson) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (mg *MigratorCgrCfg) AsMapInterface() (initialMP map[string]interface{}) { - outDataDBOpts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (mg *MigratorCgrCfg) AsMapInterface() (initialMP map[string]any) { + outDataDBOpts := map[string]any{ utils.RedisMaxConnsCfg: mg.OutDataDBOpts.RedisMaxConns, utils.RedisConnectAttemptsCfg: mg.OutDataDBOpts.RedisConnectAttempts, utils.RedisSentinelNameCfg: mg.OutDataDBOpts.RedisSentinel, @@ -129,7 +129,7 @@ func (mg *MigratorCgrCfg) AsMapInterface() (initialMP map[string]interface{}) { utils.RedisClientKey: mg.OutDataDBOpts.RedisClientKey, utils.RedisCACertificate: mg.OutDataDBOpts.RedisCACertificate, } - outStorDBOpts := map[string]interface{}{ + outStorDBOpts := map[string]any{ utils.SQLMaxOpenConnsCfg: mg.OutStorDBOpts.SQLMaxOpenConns, utils.SQLMaxIdleConnsCfg: mg.OutStorDBOpts.SQLMaxIdleConns, utils.SQLConnMaxLifetime: mg.OutStorDBOpts.SQLConnMaxLifetime.String(), @@ -138,7 +138,7 @@ func (mg *MigratorCgrCfg) AsMapInterface() (initialMP map[string]interface{}) { utils.MysqlLocation: mg.OutStorDBOpts.MySQLLocation, utils.MYSQLDSNParams: mg.OutStorDBOpts.MySQLDSNParams, } - return map[string]interface{}{ + return map[string]any{ utils.OutDataDBTypeCfg: mg.OutDataDBType, utils.OutDataDBHostCfg: mg.OutDataDBHost, utils.OutDataDBPortCfg: mg.OutDataDBPort, diff --git a/config/migratorcfg_test.go b/config/migratorcfg_test.go index 5244ea69d..9a675e2b6 100644 --- a/config/migratorcfg_test.go +++ b/config/migratorcfg_test.go @@ -112,7 +112,7 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.19", utils.OutDataDBPortCfg: "8865", @@ -127,7 +127,7 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { utils.OutStorDBUserCfg: "cgrates", utils.OutStorDBPasswordCfg: "", utils.UsersFiltersCfg: []string{"users", "filters", "Account"}, - utils.OutStorDBOptsCfg: map[string]interface{}{ + utils.OutStorDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.MYSQLDSNParams: map[string]string{ "key": "value", @@ -138,7 +138,7 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { utils.SQLMaxIdleConnsCfg: 0, utils.SQLMaxOpenConnsCfg: 0, }, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.RedisMaxConnsCfg: 5, utils.RedisConnectAttemptsCfg: 15, @@ -172,7 +172,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -187,7 +187,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) { utils.OutStorDBUserCfg: "cgrates", utils.OutStorDBPasswordCfg: "out_stordb_password", utils.UsersFiltersCfg: []string{"users", "filters", "Account"}, - utils.OutStorDBOptsCfg: map[string]interface{}{ + utils.OutStorDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.MYSQLDSNParams: map[string]string(nil), utils.MysqlLocation: utils.EmptyString, @@ -196,7 +196,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) { utils.SQLMaxIdleConnsCfg: 0, utils.SQLMaxOpenConnsCfg: 0, }, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, @@ -224,7 +224,7 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "migrator": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -239,7 +239,7 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { utils.OutStorDBUserCfg: "cgrates", utils.OutStorDBPasswordCfg: "", utils.UsersFiltersCfg: []string{}, - utils.OutStorDBOptsCfg: map[string]interface{}{ + utils.OutStorDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.MYSQLDSNParams: map[string]string(nil), utils.MysqlLocation: utils.EmptyString, @@ -248,7 +248,7 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { utils.SQLMaxIdleConnsCfg: 0, utils.SQLMaxOpenConnsCfg: 0, }, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.MongoQueryTimeoutCfg: "0s", utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, diff --git a/config/objdp.go b/config/objdp.go index f9e8adda6..d8709eaa3 100644 --- a/config/objdp.go +++ b/config/objdp.go @@ -26,24 +26,24 @@ import ( ) // NewObjectDP constructs a utils.DataProvider -func NewObjectDP(obj interface{}) utils.DataProvider { +func NewObjectDP(obj any) utils.DataProvider { return &ObjectDP{ obj: obj, - cache: make(map[string]interface{}), + cache: make(map[string]any), } } -// ObjectDP implements the DataProvider for any interface{} +// ObjectDP implements the DataProvider for any any type ObjectDP struct { - obj interface{} - cache map[string]interface{} + obj any + cache map[string]any } -func (objDP *ObjectDP) setCache(path string, val interface{}) { +func (objDP *ObjectDP) setCache(path string, val any) { objDP.cache[path] = val } -func (objDP *ObjectDP) getCache(path string) (val interface{}, has bool) { +func (objDP *ObjectDP) getCache(path string) (val any, has bool) { val, has = objDP.cache[path] return } @@ -55,7 +55,7 @@ func (objDP *ObjectDP) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data any, err error) { obj := objDP.obj // []string{ BalanceMap *monetary[0] Value } var has bool @@ -117,7 +117,7 @@ func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (objDP *ObjectDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any if valIface, err = objDP.FieldAsInterface(fldPath); err != nil { return } diff --git a/config/objdp_test.go b/config/objdp_test.go index 9521bd504..3e3cc395e 100644 --- a/config/objdp_test.go +++ b/config/objdp_test.go @@ -29,7 +29,7 @@ func TestNewObjectDP(t *testing.T) { object := "cgrates.org" objDp := &ObjectDP{ obj: "cgrates.org", - cache: make(map[string]interface{}), + cache: make(map[string]any), } if received := NewObjectDP(object); !reflect.DeepEqual(objDp, received) { t.Errorf("Expected %+v, received %+v", objDp, received) @@ -39,7 +39,7 @@ func TestNewObjectDP(t *testing.T) { func TestStringObjDP(t *testing.T) { objDp := &ObjectDP{ obj: "cgrates.org", - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := `"cgrates.org"` if received := objDp.String(); !reflect.DeepEqual(expected, received) { @@ -51,11 +51,11 @@ func TestFieldAsInterfaceObjDPSliceOfInt(t *testing.T) { object := []string{"1"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } objDp2 := &ObjectDP{ - obj: []interface{}{}, - cache: make(map[string]interface{}), + obj: []any{}, + cache: make(map[string]any), } expected := 13 if received, err := objDp.FieldAsInterface(object); err != nil { @@ -71,7 +71,7 @@ func TestFieldAsInterfaceObjDPInvalidSyntax(t *testing.T) { object := []string{"1]"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := utils.ErrNotFound.Error() if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -83,7 +83,7 @@ func TestFieldAsInterfaceObjDPInvalidFormat(t *testing.T) { object := []string{"invalid[path"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := "filter rule needs to end in ]" if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -94,7 +94,7 @@ func TestFieldAsInterfaceObjDPInvalidFormat(t *testing.T) { func TestFieldAsInterfaceObjDPCache(t *testing.T) { object := []string{"validPath"} objDp := &ObjectDP{ - cache: map[string]interface{}{ + cache: map[string]any{ "validPath": "cgrates.org", }, } @@ -110,7 +110,7 @@ func TestFieldAsInterfaceObjDPChangedObject(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ obj: []int{1}, - cache: map[string]interface{}{}, + cache: map[string]any{}, } expected := "unsupported field kind: int" if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -121,13 +121,13 @@ func TestFieldAsInterfaceObjDPChangedObject(t *testing.T) { func TestFieldAsInterfaceObjDPValid1(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ - obj: []map[string]interface{}{ + obj: []map[string]any{ { "1": 1, "2": 2, }, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsInterface(object); err != nil { t.Error(err) @@ -142,13 +142,13 @@ func TestFieldAsInterfaceObjDPValid1(t *testing.T) { func TestFieldAsStringObjDP(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ - obj: []map[string]interface{}{ + obj: []map[string]any{ { "1": 1, "2": 2, }, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsString(object); err != nil { t.Error(err) @@ -161,7 +161,7 @@ func TestFieldAsStringError(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ obj: []int{1}, - cache: map[string]interface{}{}, + cache: map[string]any{}, } expected := "unsupported field kind: int" if _, err := objDp.FieldAsString(object); err == nil || err.Error() != expected { @@ -188,7 +188,7 @@ func TestFieldAsInterfaceObjDPMultiplePaths(t *testing.T) { Field4: 2, Field5: []string{"1", "2"}, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsInterface([]string{"Field3", "Field2"}); err != nil { t.Error(err) diff --git a/config/radiuscfg.go b/config/radiuscfg.go index 6af18d24b..34aa42f57 100644 --- a/config/radiuscfg.go +++ b/config/radiuscfg.go @@ -98,16 +98,16 @@ func (ra *RadiusAgentCfg) loadFromJSONCfg(jsnCfg *RadiusAgentJsonCfg, separator return } -// AsMapInterface returns the config as a map[string]interface{} -func (ra *RadiusAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ra *RadiusAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: ra.Enabled, utils.ListenNetCfg: ra.ListenNet, utils.ListenAuthCfg: ra.ListenAuth, utils.ListenAcctCfg: ra.ListenAcct, } - requestProcessors := make([]map[string]interface{}, len(ra.RequestProcessors)) + requestProcessors := make([]map[string]any, len(ra.RequestProcessors)) for i, item := range ra.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/radiuscfg_test.go b/config/radiuscfg_test.go index eb394d160..c674905bb 100644 --- a/config/radiuscfg_test.go +++ b/config/radiuscfg_test.go @@ -170,7 +170,7 @@ func TestRadiusAgentCfgAsMapInterface(t *testing.T) { },], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1816", @@ -182,15 +182,15 @@ func TestRadiusAgentCfgAsMapInterface(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/", }, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryrun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, }, }, @@ -207,7 +207,7 @@ func TestRadiusAgentCfgAsMapInterface1(t *testing.T) { cfgJSONStr := `{ "radius_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1812", @@ -219,7 +219,7 @@ func TestRadiusAgentCfgAsMapInterface1(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/radius/dict/", }, utils.SessionSConnsCfg: []string{"*internal"}, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) diff --git a/config/ralscfg.go b/config/ralscfg.go index 473162eea..63061dafa 100644 --- a/config/ralscfg.go +++ b/config/ralscfg.go @@ -90,9 +90,9 @@ func (ralsCfg *RalsCfg) loadFromJSONCfg(jsnRALsCfg *RalsJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ralsCfg *RalsCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ralsCfg *RalsCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: ralsCfg.Enabled, utils.RpSubjectPrefixMatchingCfg: ralsCfg.RpSubjectPrefixMatching, utils.RemoveExpiredCfg: ralsCfg.RemoveExpired, @@ -118,7 +118,7 @@ func (ralsCfg *RalsCfg) AsMapInterface() (initialMP map[string]interface{}) { } initialMP[utils.StatSConnsCfg] = statS } - maxComputed := make(map[string]interface{}) + maxComputed := make(map[string]any) for key, item := range ralsCfg.MaxComputedUsage { if key == utils.MetaAny || key == utils.MetaVoice { maxComputed[key] = item.String() diff --git a/config/ralscfg_test.go b/config/ralscfg_test.go index d2efe97d2..d1be6a58f 100644 --- a/config/ralscfg_test.go +++ b/config/ralscfg_test.go @@ -99,13 +99,13 @@ func TestRalsCfgAsMapInterfaceCase1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ThresholdSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.StatSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.RpSubjectPrefixMatchingCfg: true, utils.RemoveExpiredCfg: true, - utils.MaxComputedUsageCfg: map[string]interface{}{ + utils.MaxComputedUsageCfg: map[string]any{ "*any": "189h0m0s", "*voice": "48h0m0s", "*data": "107374182400", @@ -132,13 +132,13 @@ func TestRalsCfgAsMapInterfaceCase2(t *testing.T) { "stats_conns": ["*internal:*stats"], } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ThresholdSConnsCfg: []string{}, utils.StatSConnsCfg: []string{utils.MetaInternal}, utils.RpSubjectPrefixMatchingCfg: false, utils.RemoveExpiredCfg: true, - utils.MaxComputedUsageCfg: map[string]interface{}{ + utils.MaxComputedUsageCfg: map[string]any{ "*any": "189h0m0s", "*voice": "72h0m0s", "*data": "107374182400", diff --git a/config/registrarccfg.go b/config/registrarccfg.go index 70f9a4836..e5eba1849 100644 --- a/config/registrarccfg.go +++ b/config/registrarccfg.go @@ -40,9 +40,9 @@ func (dps *RegistrarCCfgs) loadFromJSONCfg(jsnCfg *RegistrarCJsonCfgs) (err erro return dps.Dispatchers.loadFromJSONCfg(jsnCfg.Dispatchers) } -// AsMapInterface returns the config as a map[string]interface{} -func (dps *RegistrarCCfgs) AsMapInterface() (initialMP map[string]interface{}) { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps *RegistrarCCfgs) AsMapInterface() (initialMP map[string]any) { + return map[string]any{ utils.RPCCfg: dps.RPC.AsMapInterface(), utils.DispatcherCfg: dps.Dispatchers.AsMapInterface(), } @@ -95,9 +95,9 @@ func (dps *RegistrarCCfg) loadFromJSONCfg(jsnCfg *RegistrarCJsonCfg) (err error) return } -// AsMapInterface returns the config as a map[string]interface{} -func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.RegistrarsConnsCfg: dps.RegistrarSConns, utils.RefreshIntervalCfg: dps.RefreshInterval.String(), } @@ -105,7 +105,7 @@ func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]interface{}) { initialMP[utils.RefreshIntervalCfg] = "0" } if dps.Hosts != nil { - hosts := []map[string]interface{}{} + hosts := []map[string]any{} for tnt, hs := range dps.Hosts { for _, h := range hs { mp := h.AsMapInterface() diff --git a/config/registrarccfg_test.go b/config/registrarccfg_test.go index 63f160b30..f7ccbb5a2 100644 --- a/config/registrarccfg_test.go +++ b/config/registrarccfg_test.go @@ -209,10 +209,10 @@ func TestDispatcherHCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.RPCCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{"*conn1", "*conn2"}, - utils.HostsCfg: []map[string]interface{}{ + utils.HostsCfg: []map[string]any{ { utils.Tenant: utils.MetaDefault, utils.IDCfg: "Host1", @@ -226,9 +226,9 @@ func TestDispatcherHCfgAsMapInterface(t *testing.T) { }, utils.RefreshIntervalCfg: "0", }, - utils.DispatcherCfg: map[string]interface{}{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{"*conn1", "*conn2"}, - utils.HostsCfg: []map[string]interface{}{ + utils.HostsCfg: []map[string]any{ { utils.Tenant: utils.MetaDefault, utils.IDCfg: "Host1", @@ -280,15 +280,15 @@ func TestDispatcherHCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "registrarc": {}, }` - eMap := map[string]interface{}{ - utils.DispatcherCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, - utils.RPCCfg: map[string]interface{}{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, } diff --git a/config/resourcescfg.go b/config/resourcescfg.go index beaf25a1c..65bf57b20 100644 --- a/config/resourcescfg.go +++ b/config/resourcescfg.go @@ -118,16 +118,16 @@ func (rlcfg *ResourceSConfig) loadFromJSONCfg(jsnCfg *ResourceSJsonCfg) (err err return } -// AsMapInterface returns the config as a map[string]interface{} -func (rlcfg *ResourceSConfig) AsMapInterface() (initialMP map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rlcfg *ResourceSConfig) AsMapInterface() (initialMP map[string]any) { + opts := map[string]any{ utils.MetaUsageIDCfg: rlcfg.Opts.UsageID, utils.MetaUnitsCfg: rlcfg.Opts.Units, } if rlcfg.Opts.UsageTTL != nil { opts[utils.MetaUsageTTLCfg] = *rlcfg.Opts.UsageTTL } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: rlcfg.Enabled, utils.IndexedSelectsCfg: rlcfg.IndexedSelects, utils.NestedFieldsCfg: rlcfg.NestedFields, diff --git a/config/resourcescfg_test.go b/config/resourcescfg_test.go index 1f38261b3..dd9ce953b 100644 --- a/config/resourcescfg_test.go +++ b/config/resourcescfg_test.go @@ -89,7 +89,7 @@ func TestResourceSConfigAsMapInterface(t *testing.T) { cfgJSONStr := `{ "resources": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.ThresholdSConnsCfg: []string{}, @@ -97,7 +97,7 @@ func TestResourceSConfigAsMapInterface(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUnitsCfg: 1., utils.MetaUsageIDCfg: "", }, @@ -126,7 +126,7 @@ func TestResourceSConfigAsMapInterface1(t *testing.T) { } }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "7m0s", utils.ThresholdSConnsCfg: []string{utils.MetaInternal, "*conn1"}, @@ -135,7 +135,7 @@ func TestResourceSConfigAsMapInterface1(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{"*req.prefix_indexed_fields1", "*req.prefix_indexed_fields2"}, utils.SuffixIndexedFieldsCfg: []string{"*req.prefix_indexed_fields1"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUnitsCfg: 1., utils.MetaUsageIDCfg: "", utils.MetaUsageTTLCfg: 1 * time.Nanosecond, diff --git a/config/rjreader.go b/config/rjreader.go index 34752a1d9..29971c4bd 100644 --- a/config/rjreader.go +++ b/config/rjreader.go @@ -412,7 +412,7 @@ func (rjr *RjReader) getJSONOffsetLine(offset int64) (line, character int64) { } // Decode loads the json config out of rjReader -func (rjr *RjReader) Decode(cfg interface{}) (err error) { +func (rjr *RjReader) Decode(cfg any) (err error) { if err = json.NewDecoder(rjr).Decode(cfg); err != nil { return rjr.HandleJSONError(err) } diff --git a/config/routescfg.go b/config/routescfg.go index d8c0a0f51..56c8bfdd7 100644 --- a/config/routescfg.go +++ b/config/routescfg.go @@ -25,7 +25,7 @@ import ( type RoutesOpts struct { Context string IgnoreErrors bool - MaxCost interface{} + MaxCost any Limit *int Offset *int ProfileCount *int @@ -154,9 +154,9 @@ func (rts *RouteSCfg) loadFromJSONCfg(jsnCfg *RouteSJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]any) { + opts := map[string]any{ utils.OptsContext: rts.Opts.Context, utils.MetaIgnoreErrorsCfg: rts.Opts.IgnoreErrors, } @@ -172,7 +172,7 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) { if rts.Opts.ProfileCount != nil { opts[utils.MetaProfileCountCfg] = rts.Opts.ProfileCount } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: rts.Enabled, utils.IndexedSelectsCfg: rts.IndexedSelects, utils.DefaultRatioCfg: rts.DefaultRatio, diff --git a/config/routescfg_test.go b/config/routescfg_test.go index 5e0bbcb64..fdaf77f58 100644 --- a/config/routescfg_test.go +++ b/config/routescfg_test.go @@ -92,7 +92,7 @@ func TestRouteSCfgAsMapInterface(t *testing.T) { /* ,*/ - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -103,7 +103,7 @@ func TestRouteSCfgAsMapInterface(t *testing.T) { utils.StatSConnsCfg: []string{}, utils.RALsConnsCfg: []string{}, utils.DefaultRatioCfg: 1, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: utils.MetaRoutes, utils.MetaIgnoreErrorsCfg: false, utils.MetaMaxCostCfg: utils.EmptyString, @@ -132,7 +132,7 @@ func TestRouteSCfgAsMapInterface1(t *testing.T) { "default_ratio":2, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.IndexedSelectsCfg: false, utils.StringIndexedFieldsCfg: []string{"*req.string"}, @@ -144,7 +144,7 @@ func TestRouteSCfgAsMapInterface1(t *testing.T) { utils.StatSConnsCfg: []string{utils.MetaInternal, "conn1"}, utils.RALsConnsCfg: []string{utils.MetaInternal, "conn1"}, utils.DefaultRatioCfg: 2, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: utils.MetaRoutes, utils.MetaIgnoreErrorsCfg: false, utils.MetaMaxCostCfg: utils.EmptyString, diff --git a/config/rpcconn.go b/config/rpcconn.go index 225a5da3b..74a3e1fb4 100644 --- a/config/rpcconn.go +++ b/config/rpcconn.go @@ -42,9 +42,9 @@ func NewDfltRPCConn() *RPCConn { // RPCConns the config for all rpc pools type RPCConns map[string]*RPCConn -// AsMapInterface returns the config as a map[string]interface{} -func (rC RPCConns) AsMapInterface() (rpcConns map[string]interface{}) { - rpcConns = make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (rC RPCConns) AsMapInterface() (rpcConns map[string]any) { + rpcConns = make(map[string]any) for key, value := range rC { rpcConns[key] = value.AsMapInterface() } @@ -86,14 +86,14 @@ func (rC *RPCConn) loadFromJSONCfg(jsnCfg *RPCConnsJson) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (rC *RPCConn) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rC *RPCConn) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.StrategyCfg: rC.Strategy, utils.PoolSize: rC.PoolSize, } if rC.Conns != nil { - conns := make([]map[string]interface{}, len(rC.Conns)) + conns := make([]map[string]any, len(rC.Conns)) for i, item := range rC.Conns { conns[i] = item.AsMapInterface() } @@ -185,9 +185,9 @@ func (rh *RemoteHost) loadFromJSONCfg(jsnCfg *RemoteHostJson) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (rh *RemoteHost) AsMapInterface() (mp map[string]interface{}) { - mp = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rh *RemoteHost) AsMapInterface() (mp map[string]any) { + mp = map[string]any{ utils.AddressCfg: rh.Address, utils.TransportCfg: rh.Transport, } diff --git a/config/rpcconn_test.go b/config/rpcconn_test.go index f48e9e48f..e49d90333 100644 --- a/config/rpcconn_test.go +++ b/config/rpcconn_test.go @@ -203,21 +203,21 @@ func TestRPCConnsAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ + eMap := map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, }, }, }, - utils.MetaLocalHost: map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2012", @@ -234,20 +234,20 @@ func TestRPCConnsAsMapInterface(t *testing.T) { }, }, }, - utils.MetaInternal: map[string]interface{}{ + utils.MetaInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, }, }, }, - rpcclient.BiRPCInternal: map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -274,9 +274,9 @@ func TestRpcConnAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + eMap := map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, @@ -285,8 +285,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - utils.MetaInternal: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + utils.MetaInternal: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, @@ -295,8 +295,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - rpcclient.BiRPCInternal: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -305,8 +305,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - utils.MetaLocalHost: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ + utils.Conns: []map[string]any{ { utils.TLSNoCaps: true, utils.AddressCfg: "127.0.0.1:2018", diff --git a/config/rsrparser.go b/config/rsrparser.go index 3722352a9..104ab9e01 100644 --- a/config/rsrparser.go +++ b/config/rsrparser.go @@ -132,7 +132,7 @@ func (prsrs RSRParsers) Compile() (err error) { } // ParseValue will parse the value out considering converters -func (prsrs RSRParsers) ParseValue(value interface{}) (out string, err error) { +func (prsrs RSRParsers) ParseValue(value any) (out string, err error) { for _, prsr := range prsrs { var outPrsr string if outPrsr, err = prsr.ParseValue(value); err != nil { @@ -168,8 +168,8 @@ func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP utils.DataProvider) ( } // GetIfaceFromValues returns an interface for each RSRParser -func (prsrs RSRParsers) GetIfaceFromValues(evNm utils.DataProvider) (iFaceVals []interface{}, err error) { - iFaceVals = make([]interface{}, len(prsrs)) +func (prsrs RSRParsers) GetIfaceFromValues(evNm utils.DataProvider) (iFaceVals []any, err error) { + iFaceVals = make([]any, len(prsrs)) for i, val := range prsrs { var strVal string if strVal, err = val.ParseDataProvider(evNm); err != nil { @@ -304,7 +304,7 @@ func (prsr *RSRParser) parseValue(value string) (out string, err error) { } // ParseValue will parse the value out considering converters -func (prsr *RSRParser) ParseValue(value interface{}) (out string, err error) { +func (prsr *RSRParser) ParseValue(value any) (out string, err error) { out = prsr.path if out != utils.DynamicDataPrefix && strings.HasPrefix(out, utils.DynamicDataPrefix) { // Enforce parsing of static values @@ -346,7 +346,7 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (o } return dynRSR.ParseDataProviderWithInterfaces(dP) } - var outIface interface{} + var outIface any if outIface, err = utils.DPDynamicInterface(prsr.path, dP); err != nil { return } diff --git a/config/rsrparser_test.go b/config/rsrparser_test.go index cac2b92d4..5626052ad 100644 --- a/config/rsrparser_test.go +++ b/config/rsrparser_test.go @@ -554,7 +554,7 @@ func TestRSRParsersGetIfaceFromValues(t *testing.T) { utils.Category: "call", }, } - exp := []interface{}{"*rated", "call"} + exp := []any{"*rated", "call"} if rply, err := NewRSRParsersMustCompile("*rated;~*req.Category", utils.InfieldSep).GetIfaceFromValues(dp); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { diff --git a/config/schedulercfg.go b/config/schedulercfg.go index ab33f2cda..58878160b 100644 --- a/config/schedulercfg.go +++ b/config/schedulercfg.go @@ -84,9 +84,9 @@ func (schdcfg *SchedulerCfg) loadFromJSONCfg(jsnCfg *SchedulerJsonCfg) error { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (schdcfg *SchedulerCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (schdcfg *SchedulerCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: schdcfg.Enabled, utils.FiltersCfg: schdcfg.Filters, utils.DynaprepaidActionplansCfg: schdcfg.DynaprepaidActionPlans, diff --git a/config/schedulercfg_test.go b/config/schedulercfg_test.go index 662bcedec..9c8f20dd3 100644 --- a/config/schedulercfg_test.go +++ b/config/schedulercfg_test.go @@ -53,7 +53,7 @@ func TestSchedulerCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "schedulers": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.CDRsConnsCfg: []string{}, utils.ThreshSConnsCfg: []string{}, @@ -80,7 +80,7 @@ func TestSchedulerCfgAsMapInterface1(t *testing.T) { "dynaprepaid_actionplans":["randomPlan"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.CDRsConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.ThreshSConnsCfg: []string{utils.MetaInternal, "*conn1"}, diff --git a/config/sessionscfg.go b/config/sessionscfg.go index 5b42d28a7..e80758c72 100644 --- a/config/sessionscfg.go +++ b/config/sessionscfg.go @@ -71,9 +71,9 @@ func (fs *FsConnCfg) loadFromJSONCfg(jsnCfg *FsConnJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (fs *FsConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (fs *FsConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AddressCfg: fs.Address, utils.Password: fs.Password, utils.ReconnectsCfg: fs.Reconnects, @@ -317,8 +317,8 @@ func (scfg *SessionSCfg) GetDefaultUsage(tor string) time.Duration { return scfg.DefaultUsage[tor] } -// AsMapInterface returns the config as a map[string]interface{} -func (scfg *SessionSCfg) AsMapInterface() (initialMP map[string]interface{}) { +// AsMapInterface returns the config as a map[string]any +func (scfg *SessionSCfg) AsMapInterface() (initialMP map[string]any) { maxComputed := make(map[string]string) for key, item := range scfg.DefaultUsage { if key == utils.MetaAny || key == utils.MetaVoice { @@ -327,7 +327,7 @@ func (scfg *SessionSCfg) AsMapInterface() (initialMP map[string]interface{}) { maxComputed[key] = strconv.Itoa(int(item)) } } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: scfg.Enabled, utils.ListenBijsonCfg: scfg.ListenBijson, utils.ListenBigobCfg: scfg.ListenBigob, @@ -632,9 +632,9 @@ func (fscfg *FsAgentCfg) loadFromJSONCfg(jsnCfg *FreeswitchAgentJsonCfg) error { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (fscfg *FsAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (fscfg *FsAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: fscfg.Enabled, utils.SubscribeParkCfg: fscfg.SubscribePark, utils.CreateCdrCfg: fscfg.CreateCdr, @@ -664,7 +664,7 @@ func (fscfg *FsAgentCfg) AsMapInterface(separator string) (initialMP map[string] initialMP[utils.MaxWaitConnectionCfg] = utils.EmptyString } if fscfg.EventSocketConns != nil { - eventSocketConns := make([]map[string]interface{}, len(fscfg.EventSocketConns)) + eventSocketConns := make([]map[string]any, len(fscfg.EventSocketConns)) for key, item := range fscfg.EventSocketConns { eventSocketConns[key] = item.AsMapInterface() } @@ -750,9 +750,9 @@ func (aConnCfg *AsteriskConnCfg) loadFromJSONCfg(jsnCfg *AstConnJsonCfg) (err er return } -// AsMapInterface returns the config as a map[string]interface{} -func (aConnCfg *AsteriskConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aConnCfg *AsteriskConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AliasCfg: aConnCfg.Alias, utils.AddressCfg: aConnCfg.Address, utils.UserCf: aConnCfg.User, @@ -816,14 +816,14 @@ func (aCfg *AsteriskAgentCfg) loadFromJSONCfg(jsnCfg *AsteriskAgentJsonCfg) (err return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (aCfg *AsteriskAgentCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aCfg *AsteriskAgentCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: aCfg.Enabled, utils.CreateCDRCfg: aCfg.CreateCDR, } if aCfg.AsteriskConns != nil { - conns := make([]map[string]interface{}, len(aCfg.AsteriskConns)) + conns := make([]map[string]any, len(aCfg.AsteriskConns)) for i, item := range aCfg.AsteriskConns { conns[i] = item.AsMapInterface() } @@ -898,9 +898,9 @@ func (stirCfg *STIRcfg) loadFromJSONCfg(jsnCfg *STIRJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (stirCfg *STIRcfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (stirCfg *STIRcfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.DefaultAttestCfg: stirCfg.DefaultAttest, utils.PublicKeyPathCfg: stirCfg.PublicKeyPath, utils.PrivateKeyPathCfg: stirCfg.PrivateKeyPath, diff --git a/config/sessionscfg_test.go b/config/sessionscfg_test.go index 82bf3661e..c0c59305c 100644 --- a/config/sessionscfg_test.go +++ b/config/sessionscfg_test.go @@ -340,7 +340,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenBijsonCfg: "127.0.0.1:2014", utils.ListenBigobCfg: "", @@ -366,7 +366,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) { utils.TerminateAttemptsCfg: 5, utils.MinDurLowBalanceCfg: "0", utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "-1", utils.DefaultAttestCfg: "A", @@ -418,7 +418,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { "scheduler_conns": ["*internal:*scheduler", "*conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenBijsonCfg: "127.0.0.1:2018", utils.ListenBigobCfg: "", @@ -440,7 +440,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { utils.ChannelSyncIntervalCfg: "0", utils.TerminateAttemptsCfg: 10, utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"any1", "any2"}, utils.PayloadMaxdurationCfg: "1s", utils.DefaultAttestCfg: "B", @@ -460,7 +460,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { t.Error(err) } rcv := cgrCfg.sessionSCfg.AsMapInterface() - sort.Strings(rcv[utils.STIRCfg].(map[string]interface{})[utils.AllowedAtestCfg].([]string)) + sort.Strings(rcv[utils.STIRCfg].(map[string]any)[utils.AllowedAtestCfg].([]string)) if !reflect.DeepEqual(eMap, rcv) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) } @@ -475,8 +475,8 @@ func TestSessionSCfgAsMapInterfaceCase3(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.STIRCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "0", utils.DefaultAttestCfg: "A", @@ -564,7 +564,7 @@ func TestFsAgentCfgAsMapInterfaceCase1(t *testing.T) { cfgJSONStr := `{ "freeswitch_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SubscribeParkCfg: true, @@ -574,7 +574,7 @@ func TestFsAgentCfgAsMapInterfaceCase1(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "2s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ {utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", utils.ReconnectsCfg: 5, utils.MaxReconnectIntervalCfg: "0s", utils.AliasCfg: "127.0.0.1:8021"}, }, } @@ -597,7 +597,7 @@ func TestFsAgentCfgAsMapInterfaceCase2(t *testing.T) { {"address": "127.0.0.1:8000", "password": "ClueCon123", "reconnects": 8, "alias": "127.0.0.1:8000"} ],}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, utils.SubscribeParkCfg: false, @@ -607,7 +607,7 @@ func TestFsAgentCfgAsMapInterfaceCase2(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "7s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ {utils.AddressCfg: "127.0.0.1:8000", utils.Password: "ClueCon123", utils.ReconnectsCfg: 8, utils.MaxReconnectIntervalCfg: "0s", utils.AliasCfg: "127.0.0.1:8000"}, }, } @@ -626,7 +626,7 @@ func TestFsAgentCfgAsMapInterfaceCase3(t *testing.T) { "sessions_conns": ["*internal"] } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.SubscribeParkCfg: true, @@ -636,7 +636,7 @@ func TestFsAgentCfgAsMapInterfaceCase3(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ {utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", utils.ReconnectsCfg: 5, utils.MaxReconnectIntervalCfg: "0s", utils.AliasCfg: "127.0.0.1:8021"}, }, } @@ -752,11 +752,11 @@ func TestAsteriskAgentCfgAsMapInterface(t *testing.T) { "sessions_conns": ["*internal"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.CreateCdrCfg: false, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ {utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8088", utils.UserCf: "cgrates", utils.Password: "CGRateS.org", utils.ConnectAttemptsCfg: 3, utils.ReconnectsCfg: 5, utils.MaxReconnectIntervalCfg: "0s"}, }, } @@ -778,11 +778,11 @@ func TestAsteriskAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, utils.CreateCdrCfg: true, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ {utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8089", utils.UserCf: "cgrates", utils.Password: "CGRateS.org", utils.ConnectAttemptsCfg: 5, utils.ReconnectsCfg: 8, utils.MaxReconnectIntervalCfg: "0s"}, }, } diff --git a/config/sipagentcfg.go b/config/sipagentcfg.go index 79abcfa8d..67d5e77c6 100644 --- a/config/sipagentcfg.go +++ b/config/sipagentcfg.go @@ -88,9 +88,9 @@ func (sa *SIPAgentCfg) loadFromJSONCfg(jsnCfg *SIPAgentJsonCfg, sep string) (err return } -// AsMapInterface returns the config as a map[string]interface{} -func (sa *SIPAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (sa *SIPAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.EnabledCfg: sa.Enabled, utils.ListenCfg: sa.Listen, utils.ListenNetCfg: sa.ListenNet, @@ -98,7 +98,7 @@ func (sa *SIPAgentCfg) AsMapInterface(separator string) (initialMP map[string]in utils.RetransmissionTimerCfg: sa.RetransmissionTimer, } - requestProcessors := make([]map[string]interface{}, len(sa.RequestProcessors)) + requestProcessors := make([]map[string]any, len(sa.RequestProcessors)) for i, item := range sa.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/sipagentcfg_test.go b/config/sipagentcfg_test.go index ba08b9cf8..f24931475 100644 --- a/config/sipagentcfg_test.go +++ b/config/sipagentcfg_test.go @@ -156,14 +156,14 @@ func TestSIPAgentCfgAsMapInterface(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "", utils.RetransmissionTimerCfg: 2 * time.Second, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) @@ -206,22 +206,22 @@ func TestSIPAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "UTC", utils.RetransmissionTimerCfg: 5 * time.Second, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryrun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, @@ -260,22 +260,22 @@ func TestSIPAgentCfgAsMapInterface2(t *testing.T) { } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenCfg: "", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*conn1", "*conn2"}, utils.TimezoneCfg: "", utils.RetransmissionTimerCfg: time.Second, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "Register", utils.FiltersCfg: []string{"*notstring:~*vars.Method:INVITE"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*none"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Request", utils.PathCfg: "*rep.Request", utils.TypeCfg: "*constant", utils.ValueCfg: "SIP/2.0 405 Method Not Allowed"}, }, }, diff --git a/config/slicedp.go b/config/slicedp.go index 5c6d378fd..ceb547ede 100644 --- a/config/slicedp.go +++ b/config/slicedp.go @@ -48,7 +48,7 @@ func (cP *SliceDP) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (cP *SliceDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (cP *SliceDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return } @@ -74,7 +74,7 @@ func (cP *SliceDP) FieldAsInterface(fldPath []string) (data interface{}, err err // FieldAsString is part of engine.utils.DataProvider interface func (cP *SliceDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = cP.FieldAsInterface(fldPath) if err != nil { return diff --git a/config/slicedp_test.go b/config/slicedp_test.go index eb152d6de..50559ae7a 100644 --- a/config/slicedp_test.go +++ b/config/slicedp_test.go @@ -148,7 +148,7 @@ func TestFieldAsInterfaceMultiplePaths(t *testing.T) { func TestFieldAsInterfaceEmptyPath(t *testing.T) { sliceDp := new(SliceDP) - var expected interface{} + var expected any if value, err := sliceDp.FieldAsInterface([]string{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, value) { diff --git a/config/statscfg.go b/config/statscfg.go index 8b860f15e..e6965d2e2 100644 --- a/config/statscfg.go +++ b/config/statscfg.go @@ -113,13 +113,13 @@ func (st *StatSCfg) loadFromJSONCfg(jsnCfg *StatServJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (st *StatSCfg) AsMapInterface() (initialMP map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (st *StatSCfg) AsMapInterface() (initialMP map[string]any) { + opts := map[string]any{ utils.MetaProfileIDs: st.Opts.ProfileIDs, utils.MetaProfileIgnoreFiltersCfg: st.Opts.ProfileIgnoreFilters, } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: st.Enabled, utils.IndexedSelectsCfg: st.IndexedSelects, utils.StoreUncompressedLimitCfg: st.StoreUncompressedLimit, diff --git a/config/statscfg_test.go b/config/statscfg_test.go index 23c8c041d..298ac11b7 100644 --- a/config/statscfg_test.go +++ b/config/statscfg_test.go @@ -78,7 +78,7 @@ func TestStatSCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "stats": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.StoreUncompressedLimitCfg: 0, @@ -87,7 +87,7 @@ func TestStatSCfgAsMapInterface(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, @@ -113,7 +113,7 @@ func TestStatSCfgAsMapInterface1(t *testing.T) { "nested_fields": true, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "72h0m0s", utils.StoreUncompressedLimitCfg: 1, @@ -123,7 +123,7 @@ func TestStatSCfgAsMapInterface1(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{"*req.prefix_indexed_fields1", "*req.prefix_indexed_fields2"}, utils.SuffixIndexedFieldsCfg: []string{"*req.suffix_indexed_fields"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, diff --git a/config/stordbcfg.go b/config/stordbcfg.go index 43f7e8f6d..f2f316078 100644 --- a/config/stordbcfg.go +++ b/config/stordbcfg.go @@ -211,9 +211,9 @@ func (dbcfg *StorDbCfg) Clone() (cln *StorDbCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (dbcfg *StorDbCfg) AsMapInterface() (mp map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dbcfg *StorDbCfg) AsMapInterface() (mp map[string]any) { + opts := map[string]any{ utils.SQLMaxOpenConnsCfg: dbcfg.Opts.SQLMaxOpenConns, utils.SQLMaxIdleConnsCfg: dbcfg.Opts.SQLMaxIdleConns, utils.SQLConnMaxLifetime: dbcfg.Opts.SQLConnMaxLifetime.String(), @@ -222,7 +222,7 @@ func (dbcfg *StorDbCfg) AsMapInterface() (mp map[string]interface{}) { utils.PgSSLModeCfg: dbcfg.Opts.PgSSLMode, utils.MysqlLocation: dbcfg.Opts.MySQLLocation, } - mp = map[string]interface{}{ + mp = map[string]any{ utils.DataDbTypeCfg: dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbNameCfg: dbcfg.Name, @@ -235,7 +235,7 @@ func (dbcfg *StorDbCfg) AsMapInterface() (mp map[string]interface{}) { utils.OptsCfg: opts, } if dbcfg.Items != nil { - items := make(map[string]interface{}) + items := make(map[string]any) for key, item := range dbcfg.Items { items[key] = item.AsMapInterface() } diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index 654086115..b57e93a6b 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -242,7 +242,7 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.DataDbTypeCfg: "*mysql", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 3306, @@ -253,7 +253,7 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.RemoteConnsCfg: []string{"*conn1"}, utils.ReplicationConnsCfg: []string{"*conn1"}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.SQLMaxOpenConnsCfg: 100, utils.SQLMaxIdleConnsCfg: 10, utils.SQLConnMaxLifetimeCfg: "0s", @@ -262,19 +262,19 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { utils.PgSSLModeCfg: "disable", utils.MysqlLocation: "UTC", }, - utils.ItemsCfg: map[string]interface{}{ - utils.SessionCostsTBL: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false}, - utils.CDRsTBL: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false}, + utils.ItemsCfg: map[string]any{ + utils.SessionCostsTBL: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false}, + utils.CDRsTBL: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false}, }, } if cfgCgr, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { rcv := cfgCgr.storDbCfg.AsMapInterface() - if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg]) + if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg], + rcv[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg], + rcv[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg]) } else if !reflect.DeepEqual(eMap[utils.OptsCfg], rcv[utils.OptsCfg]) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.OptsCfg]), utils.ToJSON(rcv[utils.OptsCfg])) } else if !reflect.DeepEqual(eMap[utils.PrefixIndexedFieldsCfg], rcv[utils.PrefixIndexedFieldsCfg]) { diff --git a/config/suretaxcfg.go b/config/suretaxcfg.go index fbefaaff5..750080f52 100644 --- a/config/suretaxcfg.go +++ b/config/suretaxcfg.go @@ -174,9 +174,9 @@ func (st *SureTaxCfg) loadFromJSONCfg(jsnCfg *SureTaxJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (st *SureTaxCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (st *SureTaxCfg) AsMapInterface(separator string) (initialMP map[string]any) { + return map[string]any{ utils.URLCfg: st.URL, utils.ClientNumberCfg: st.ClientNumber, utils.ValidationKeyCfg: st.ValidationKey, diff --git a/config/suretaxcfg_test.go b/config/suretaxcfg_test.go index 36a182671..b0f7066d7 100644 --- a/config/suretaxcfg_test.go +++ b/config/suretaxcfg_test.go @@ -309,7 +309,7 @@ func TestSureTaxCfgAsMapInterface(t *testing.T) { "tax_exemption_code_list": "randomCode" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.URLCfg: utils.EmptyString, utils.ClientNumberCfg: utils.EmptyString, utils.ValidationKeyCfg: utils.EmptyString, diff --git a/config/thresholdscfg.go b/config/thresholdscfg.go index 7a32c4bfe..87141186c 100644 --- a/config/thresholdscfg.go +++ b/config/thresholdscfg.go @@ -98,13 +98,13 @@ func (t *ThresholdSCfg) loadFromJSONCfg(jsnCfg *ThresholdSJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (t *ThresholdSCfg) AsMapInterface() (initialMP map[string]interface{}) { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (t *ThresholdSCfg) AsMapInterface() (initialMP map[string]any) { + opts := map[string]any{ utils.MetaProfileIDs: t.Opts.ProfileIDs, utils.MetaProfileIgnoreFiltersCfg: t.Opts.ProfileIgnoreFilters, } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.EnabledCfg: t.Enabled, utils.IndexedSelectsCfg: t.IndexedSelects, utils.NestedFieldsCfg: t.NestedFields, diff --git a/config/thresholdscfg_test.go b/config/thresholdscfg_test.go index 46276d287..a858def77 100644 --- a/config/thresholdscfg_test.go +++ b/config/thresholdscfg_test.go @@ -80,14 +80,14 @@ func TestThresholdSCfgAsMapInterfaceCase1(t *testing.T) { cfgJSONStr := `{ "thresholds": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: "", utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, utils.SuffixIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, @@ -111,7 +111,7 @@ func TestThresholdSCfgAsMapInterfaceCase2(t *testing.T) { "nested_fields": true, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "96h0m0s", utils.IndexedSelectsCfg: false, @@ -119,7 +119,7 @@ func TestThresholdSCfgAsMapInterfaceCase2(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{"*req.prefix", "*req.indexed", "*req.fields"}, utils.SuffixIndexedFieldsCfg: []string{"*req.suffix_indexed_fields1", "*req.suffix_indexed_fields2"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []string{}, utils.MetaProfileIgnoreFiltersCfg: false, }, diff --git a/config/tlscfg.go b/config/tlscfg.go index 8fe87332c..0ca505aaa 100644 --- a/config/tlscfg.go +++ b/config/tlscfg.go @@ -59,9 +59,9 @@ func (tls *TLSCfg) loadFromJSONCfg(jsnCfg *TlsJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (tls *TLSCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (tls *TLSCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.ServerCerificateCfg: tls.ServerCerificate, utils.ServerKeyCfg: tls.ServerKey, utils.ServerPolicyCfg: tls.ServerPolicy, diff --git a/config/tlscfg_test.go b/config/tlscfg_test.go index 25cc16b18..eeff0ef0f 100644 --- a/config/tlscfg_test.go +++ b/config/tlscfg_test.go @@ -55,7 +55,7 @@ func TestTlsCfgAsMapInterface(t *testing.T) { cfgJSONStr := ` { "tls": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ServerCerificateCfg: utils.EmptyString, utils.ServerKeyCfg: utils.EmptyString, utils.ServerPolicyCfg: 4, @@ -83,7 +83,7 @@ func TestTlsCfgAsMapInterface1(t *testing.T) { "server_policy":3, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ServerCerificateCfg: "path/To/Server/Cert", utils.ServerKeyCfg: "path/To/Server/Key", utils.ServerPolicyCfg: 3, diff --git a/config/xmldp.go b/config/xmldp.go index 2f7e31f3a..e7c12841f 100644 --- a/config/xmldp.go +++ b/config/xmldp.go @@ -51,7 +51,7 @@ func (xP *XMLProvider) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -86,7 +86,7 @@ func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (xP *XMLProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = xP.FieldAsInterface(fldPath) if err != nil { return diff --git a/console/account_actionplan_get.go b/console/account_actionplan_get.go index b22a27f68..344a9d5cc 100644 --- a/console/account_actionplan_get.go +++ b/console/account_actionplan_get.go @@ -49,7 +49,7 @@ func (self *CmdGetAccountActionPlan) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccountActionPlan) RpcParams(reset bool) interface{} { +func (self *CmdGetAccountActionPlan) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantAccount{} } @@ -60,7 +60,7 @@ func (self *CmdGetAccountActionPlan) PostprocessRpcParams() error { return nil } -func (self *CmdGetAccountActionPlan) RpcResult() interface{} { +func (self *CmdGetAccountActionPlan) RpcResult() any { s := make([]*v1.AccountActionTiming, 0) return &s } diff --git a/console/account_remove.go b/console/account_remove.go index 38ddc0274..1791e4de5 100644 --- a/console/account_remove.go +++ b/console/account_remove.go @@ -45,7 +45,7 @@ func (self *CmdRemoveAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveAccount) RpcParams(reset bool) interface{} { +func (self *CmdRemoveAccount) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrRemoveAccount{} } @@ -56,7 +56,7 @@ func (self *CmdRemoveAccount) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveAccount) RpcResult() interface{} { +func (self *CmdRemoveAccount) RpcResult() any { var s string return &s } diff --git a/console/account_set.go b/console/account_set.go index 5146d62f7..42a04a6e1 100644 --- a/console/account_set.go +++ b/console/account_set.go @@ -48,7 +48,7 @@ func (self *CmdAddAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdAddAccount) RpcParams(reset bool) interface{} { +func (self *CmdAddAccount) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v2.AttrSetAccount{} } @@ -59,7 +59,7 @@ func (self *CmdAddAccount) PostprocessRpcParams() error { return nil } -func (self *CmdAddAccount) RpcResult() interface{} { +func (self *CmdAddAccount) RpcResult() any { var s string return &s } diff --git a/console/account_trigger_add.go b/console/account_trigger_add.go index 152d3a6f1..7284f8557 100644 --- a/console/account_trigger_add.go +++ b/console/account_trigger_add.go @@ -49,7 +49,7 @@ func (self *CmdAccountAddTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdAccountAddTriggers) RpcParams(reset bool) interface{} { +func (self *CmdAccountAddTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrAddAccountActionTriggers{} } @@ -60,7 +60,7 @@ func (self *CmdAccountAddTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdAccountAddTriggers) RpcResult() interface{} { +func (self *CmdAccountAddTriggers) RpcResult() any { var s string return &s } diff --git a/console/account_trigger_remove.go b/console/account_trigger_remove.go index 0b3277320..881f438a6 100644 --- a/console/account_trigger_remove.go +++ b/console/account_trigger_remove.go @@ -49,7 +49,7 @@ func (self *CmdAccountRemoveTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdAccountRemoveTriggers) RpcParams(reset bool) interface{} { +func (self *CmdAccountRemoveTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrRemoveAccountActionTriggers{} } @@ -60,7 +60,7 @@ func (self *CmdAccountRemoveTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdAccountRemoveTriggers) RpcResult() interface{} { +func (self *CmdAccountRemoveTriggers) RpcResult() any { var s string return &s } diff --git a/console/account_trigger_reset.go b/console/account_trigger_reset.go index 61a1d7701..9542357e8 100644 --- a/console/account_trigger_reset.go +++ b/console/account_trigger_reset.go @@ -49,7 +49,7 @@ func (self *CmdAccountResetTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdAccountResetTriggers) RpcParams(reset bool) interface{} { +func (self *CmdAccountResetTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrResetAccountActionTriggers{} } @@ -60,7 +60,7 @@ func (self *CmdAccountResetTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdAccountResetTriggers) RpcResult() interface{} { +func (self *CmdAccountResetTriggers) RpcResult() any { var s string return &s } diff --git a/console/account_trigger_set.go b/console/account_trigger_set.go index 97f5df218..1f810d518 100644 --- a/console/account_trigger_set.go +++ b/console/account_trigger_set.go @@ -49,7 +49,7 @@ func (self *CmdAccountSetTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdAccountSetTriggers) RpcParams(reset bool) interface{} { +func (self *CmdAccountSetTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrSetAccountActionTriggers{} } @@ -60,7 +60,7 @@ func (self *CmdAccountSetTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdAccountSetTriggers) RpcResult() interface{} { +func (self *CmdAccountSetTriggers) RpcResult() any { var s string return &s } diff --git a/console/accounts.go b/console/accounts.go index 33995bd5a..61dcca898 100644 --- a/console/accounts.go +++ b/console/accounts.go @@ -49,7 +49,7 @@ func (self *CmdGetAccounts) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccounts) RpcParams(reset bool) interface{} { +func (self *CmdGetAccounts) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrGetAccounts{} } @@ -60,12 +60,12 @@ func (self *CmdGetAccounts) PostprocessRpcParams() error { return nil } -func (self *CmdGetAccounts) RpcResult() interface{} { +func (self *CmdGetAccounts) RpcResult() any { a := make([]*engine.Account, 0) return &a } -func (self *CmdGetAccounts) GetFormatedResult(result interface{}) string { +func (self *CmdGetAccounts) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/console/action_execute.go b/console/action_execute.go index e9d997c41..72db14c8f 100644 --- a/console/action_execute.go +++ b/console/action_execute.go @@ -48,7 +48,7 @@ func (self *CmdExecuteAction) RpcMethod() string { return self.rpcMethod } -func (self *CmdExecuteAction) RpcParams(reset bool) interface{} { +func (self *CmdExecuteAction) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrExecuteAction{} } @@ -59,7 +59,7 @@ func (self *CmdExecuteAction) PostprocessRpcParams() error { return nil } -func (self *CmdExecuteAction) RpcResult() interface{} { +func (self *CmdExecuteAction) RpcResult() any { var s string return &s } diff --git a/console/actionplan_get.go b/console/actionplan_get.go index 9d8c90b81..1d4aa6b75 100644 --- a/console/actionplan_get.go +++ b/console/actionplan_get.go @@ -50,7 +50,7 @@ func (self *CmdGetActionPlan) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetActionPlan) RpcParams(reset bool) interface{} { +func (self *CmdGetActionPlan) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrGetActionPlan{} } @@ -61,7 +61,7 @@ func (self *CmdGetActionPlan) PostprocessRpcParams() error { return nil } -func (self *CmdGetActionPlan) RpcResult() interface{} { +func (self *CmdGetActionPlan) RpcResult() any { s := make([]*engine.ActionPlan, 0) return &s } diff --git a/console/actionplan_remove.go b/console/actionplan_remove.go index 3a38c33aa..e4f9cde11 100644 --- a/console/actionplan_remove.go +++ b/console/actionplan_remove.go @@ -49,7 +49,7 @@ func (self *CmdRemoveActionPlan) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveActionPlan) RpcParams(reset bool) interface{} { +func (self *CmdRemoveActionPlan) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrGetActionPlan{} } @@ -60,7 +60,7 @@ func (self *CmdRemoveActionPlan) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveActionPlan) RpcResult() interface{} { +func (self *CmdRemoveActionPlan) RpcResult() any { var s string return &s } diff --git a/console/actionplan_set.go b/console/actionplan_set.go index c67550633..e837ec2fd 100644 --- a/console/actionplan_set.go +++ b/console/actionplan_set.go @@ -49,7 +49,7 @@ func (self *CmdSetActionPlan) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetActionPlan) RpcParams(reset bool) interface{} { +func (self *CmdSetActionPlan) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrSetActionPlan{} } @@ -60,7 +60,7 @@ func (self *CmdSetActionPlan) PostprocessRpcParams() error { return nil } -func (self *CmdSetActionPlan) RpcResult() interface{} { +func (self *CmdSetActionPlan) RpcResult() any { var s string return &s } diff --git a/console/active_sessions.go b/console/active_sessions.go index dbd346be3..bf31ca091 100644 --- a/console/active_sessions.go +++ b/console/active_sessions.go @@ -36,7 +36,7 @@ func init() { type CmdActiveSessions struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -48,9 +48,9 @@ func (self *CmdActiveSessions) RpcMethod() string { return self.rpcMethod } -func (self *CmdActiveSessions) RpcParams(reset bool) interface{} { +func (self *CmdActiveSessions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return self.rpcParams @@ -62,12 +62,12 @@ func (self *CmdActiveSessions) PostprocessRpcParams() error { return nil } -func (self *CmdActiveSessions) RpcResult() interface{} { +func (self *CmdActiveSessions) RpcResult() any { var sessions []*sessions.ExternalSession return &sessions } -func (self *CmdActiveSessions) GetFormatedResult(result interface{}) string { +func (self *CmdActiveSessions) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/attributes_for_event.go b/console/attributes_for_event.go index 59608dafb..b25f8abdb 100644 --- a/console/attributes_for_event.go +++ b/console/attributes_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetAttributeForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributeForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributeForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetAttributeForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributeForEvent) RpcResult() interface{} { +func (self *CmdGetAttributeForEvent) RpcResult() any { var atr engine.AttributeProfile return &atr } diff --git a/console/attributes_process_event.go b/console/attributes_process_event.go index 505694cac..a97894ee6 100644 --- a/console/attributes_process_event.go +++ b/console/attributes_process_event.go @@ -50,7 +50,7 @@ func (self *CmdAttributesProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdAttributesProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdAttributesProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,12 +64,12 @@ func (self *CmdAttributesProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdAttributesProcessEvent) RpcResult() interface{} { +func (self *CmdAttributesProcessEvent) RpcResult() any { var atr engine.AttrSProcessEventReply return &atr } -func (self *CmdAttributesProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdAttributesProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, }) diff --git a/console/attributes_profile.go b/console/attributes_profile.go index 347314a0a..e73fcbd84 100644 --- a/console/attributes_profile.go +++ b/console/attributes_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetAttributes) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributes) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,7 +60,7 @@ func (self *CmdGetAttributes) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributes) RpcResult() interface{} { +func (self *CmdGetAttributes) RpcResult() any { var atr engine.AttributeProfile return &atr } diff --git a/console/attributes_profile_ids.go b/console/attributes_profile_ids.go index 4fead1b70..3b2683db9 100644 --- a/console/attributes_profile_ids.go +++ b/console/attributes_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetAttributeIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributeIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributeIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -59,7 +59,7 @@ func (self *CmdGetAttributeIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributeIDs) RpcResult() interface{} { +func (self *CmdGetAttributeIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/attributes_profile_rem.go b/console/attributes_profile_rem.go index 39d4ba5f8..2b5b23ea4 100644 --- a/console/attributes_profile_rem.go +++ b/console/attributes_profile_rem.go @@ -45,9 +45,9 @@ func (self *CmdRemoveAttributes) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveAttributes) RpcParams(reset bool) interface{} { +func (self *CmdRemoveAttributes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveAttributes) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveAttributes) RpcResult() interface{} { +func (self *CmdRemoveAttributes) RpcResult() any { var s string return &s } diff --git a/console/attributes_profile_set.go b/console/attributes_profile_set.go index 33759b7e9..f6ec067c1 100644 --- a/console/attributes_profile_set.go +++ b/console/attributes_profile_set.go @@ -49,7 +49,7 @@ func (self *CmdSetAttributes) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetAttributes) RpcParams(reset bool) interface{} { +func (self *CmdSetAttributes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v2.AttributeWithAPIOpts{APIAttributeProfile: new(engine.APIAttributeProfile)} } @@ -60,7 +60,7 @@ func (self *CmdSetAttributes) PostprocessRpcParams() error { return nil } -func (self *CmdSetAttributes) RpcResult() interface{} { +func (self *CmdSetAttributes) RpcResult() any { var s string return &s } diff --git a/console/balance_add.go b/console/balance_add.go index 73659957a..32d2f0a6b 100644 --- a/console/balance_add.go +++ b/console/balance_add.go @@ -48,7 +48,7 @@ func (self *CmdAddBalance) RpcMethod() string { return self.rpcMethod } -func (self *CmdAddBalance) RpcParams(reset bool) interface{} { +func (self *CmdAddBalance) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrAddBalance{BalanceType: utils.MetaMonetary, Overwrite: false} } @@ -59,7 +59,7 @@ func (self *CmdAddBalance) PostprocessRpcParams() error { return nil } -func (self *CmdAddBalance) RpcResult() interface{} { +func (self *CmdAddBalance) RpcResult() any { var s string return &s } diff --git a/console/balance_debit.go b/console/balance_debit.go index 8e025e983..900696617 100644 --- a/console/balance_debit.go +++ b/console/balance_debit.go @@ -49,7 +49,7 @@ func (self *CmdBalanceDebit) RpcMethod() string { return self.rpcMethod } -func (self *CmdBalanceDebit) RpcParams(reset bool) interface{} { +func (self *CmdBalanceDebit) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrAddBalance{} } @@ -60,7 +60,7 @@ func (self *CmdBalanceDebit) PostprocessRpcParams() error { return nil } -func (self *CmdBalanceDebit) RpcResult() interface{} { +func (self *CmdBalanceDebit) RpcResult() any { var s string return &s } diff --git a/console/balance_remove.go b/console/balance_remove.go index 75fc535bc..3872051a0 100644 --- a/console/balance_remove.go +++ b/console/balance_remove.go @@ -47,7 +47,7 @@ func (self *CmdRemoveBalance) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveBalance) RpcParams(reset bool) interface{} { +func (self *CmdRemoveBalance) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrSetBalance{BalanceType: utils.MetaMonetary} } @@ -58,7 +58,7 @@ func (self *CmdRemoveBalance) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveBalance) RpcResult() interface{} { +func (self *CmdRemoveBalance) RpcResult() any { var s string return &s } diff --git a/console/balance_set.go b/console/balance_set.go index 67576bb8e..b2cd543e3 100644 --- a/console/balance_set.go +++ b/console/balance_set.go @@ -47,7 +47,7 @@ func (self *CmdSetBalance) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetBalance) RpcParams(reset bool) interface{} { +func (self *CmdSetBalance) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrSetBalance{BalanceType: utils.MetaMonetary} } @@ -58,7 +58,7 @@ func (self *CmdSetBalance) PostprocessRpcParams() error { return nil } -func (self *CmdSetBalance) RpcResult() interface{} { +func (self *CmdSetBalance) RpcResult() any { var s string return &s } diff --git a/console/cache_clear.go b/console/cache_clear.go index 9457ea585..59a957cbf 100644 --- a/console/cache_clear.go +++ b/console/cache_clear.go @@ -48,7 +48,7 @@ func (self *CmdClear) RpcMethod() string { return self.rpcMethod } -func (self *CmdClear) RpcParams(reset bool) interface{} { +func (self *CmdClear) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -59,7 +59,7 @@ func (self *CmdClear) PostprocessRpcParams() error { return nil } -func (self *CmdClear) RpcResult() interface{} { +func (self *CmdClear) RpcResult() any { var reply string return &reply } diff --git a/console/cache_group_item_id.go b/console/cache_group_item_id.go index 28e5994fa..c9761ccbb 100644 --- a/console/cache_group_item_id.go +++ b/console/cache_group_item_id.go @@ -48,7 +48,7 @@ func (self *CmdCacheGetGroupItemIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetGroupItemIDs) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetGroupItemIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheGetGroupItemIDs) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetGroupItemIDs) RpcResult() interface{} { +func (self *CmdCacheGetGroupItemIDs) RpcResult() any { var reply []string return &reply } diff --git a/console/cache_has_group.go b/console/cache_has_group.go index 01c38fb2f..1cea6a912 100644 --- a/console/cache_has_group.go +++ b/console/cache_has_group.go @@ -48,7 +48,7 @@ func (self *CmdCacheHasGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheHasGroup) RpcParams(reset bool) interface{} { +func (self *CmdCacheHasGroup) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheHasGroup) PostprocessRpcParams() error { return nil } -func (self *CmdCacheHasGroup) RpcResult() interface{} { +func (self *CmdCacheHasGroup) RpcResult() any { var reply bool return &reply } diff --git a/console/cache_has_item.go b/console/cache_has_item.go index 0cc2bd700..8a47e4261 100644 --- a/console/cache_has_item.go +++ b/console/cache_has_item.go @@ -48,7 +48,7 @@ func (self *CmdCacheHasItem) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheHasItem) RpcParams(reset bool) interface{} { +func (self *CmdCacheHasItem) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheHasItem) PostprocessRpcParams() error { return nil } -func (self *CmdCacheHasItem) RpcResult() interface{} { +func (self *CmdCacheHasItem) RpcResult() any { var reply bool return &reply } diff --git a/console/cache_item_expiry_time.go b/console/cache_item_expiry_time.go index 4d013421b..d728dab6b 100644 --- a/console/cache_item_expiry_time.go +++ b/console/cache_item_expiry_time.go @@ -50,7 +50,7 @@ func (self *CmdCacheGetItemExpiryTime) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetItemExpiryTime) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetItemExpiryTime) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -61,7 +61,7 @@ func (self *CmdCacheGetItemExpiryTime) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetItemExpiryTime) RpcResult() interface{} { +func (self *CmdCacheGetItemExpiryTime) RpcResult() any { var reply time.Time return &reply } diff --git a/console/cache_item_ids.go b/console/cache_item_ids.go index 4922a7a65..f8143c455 100644 --- a/console/cache_item_ids.go +++ b/console/cache_item_ids.go @@ -48,7 +48,7 @@ func (self *CmdCacheGetItemIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetItemIDs) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetItemIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemIDsWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheGetItemIDs) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetItemIDs) RpcResult() interface{} { +func (self *CmdCacheGetItemIDs) RpcResult() any { var reply []string return &reply } diff --git a/console/cache_precache_status.go b/console/cache_precache_status.go index 574fe66ef..520a24cac 100644 --- a/console/cache_precache_status.go +++ b/console/cache_precache_status.go @@ -48,7 +48,7 @@ func (self *CmdGetPrecacheStatus) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetPrecacheStatus) RpcParams(reset bool) interface{} { +func (self *CmdGetPrecacheStatus) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -59,7 +59,7 @@ func (self *CmdGetPrecacheStatus) PostprocessRpcParams() error { return nil } -func (self *CmdGetPrecacheStatus) RpcResult() interface{} { +func (self *CmdGetPrecacheStatus) RpcResult() any { reply := make(map[string]string) return &reply } diff --git a/console/cache_reload.go b/console/cache_reload.go index d51b57f96..cc0db59e3 100644 --- a/console/cache_reload.go +++ b/console/cache_reload.go @@ -47,7 +47,7 @@ func (self *CmdReloadCache) RpcMethod() string { return self.rpcMethod } -func (self *CmdReloadCache) RpcParams(reset bool) interface{} { +func (self *CmdReloadCache) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrReloadCacheWithAPIOpts{} } @@ -58,7 +58,7 @@ func (self *CmdReloadCache) PostprocessRpcParams() error { return nil } -func (self *CmdReloadCache) RpcResult() interface{} { +func (self *CmdReloadCache) RpcResult() any { var s string return &s } diff --git a/console/cache_remove_group.go b/console/cache_remove_group.go index 21145e81d..fd1f11b03 100644 --- a/console/cache_remove_group.go +++ b/console/cache_remove_group.go @@ -48,7 +48,7 @@ func (self *CmdCacheRemoveGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheRemoveGroup) RpcParams(reset bool) interface{} { +func (self *CmdCacheRemoveGroup) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheRemoveGroup) PostprocessRpcParams() error { return nil } -func (self *CmdCacheRemoveGroup) RpcResult() interface{} { +func (self *CmdCacheRemoveGroup) RpcResult() any { var reply string return &reply } diff --git a/console/cache_remove_item.go b/console/cache_remove_item.go index 637fb8bf2..7b4b0437a 100644 --- a/console/cache_remove_item.go +++ b/console/cache_remove_item.go @@ -48,7 +48,7 @@ func (self *CmdCacheRemoveItem) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheRemoveItem) RpcParams(reset bool) interface{} { +func (self *CmdCacheRemoveItem) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheRemoveItem) PostprocessRpcParams() error { return nil } -func (self *CmdCacheRemoveItem) RpcResult() interface{} { +func (self *CmdCacheRemoveItem) RpcResult() any { var reply string return &reply } diff --git a/console/cache_stats.go b/console/cache_stats.go index d54db95e5..9884dfa09 100644 --- a/console/cache_stats.go +++ b/console/cache_stats.go @@ -49,7 +49,7 @@ func (self *CmdGetCacheStats) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCacheStats) RpcParams(reset bool) interface{} { +func (self *CmdGetCacheStats) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -60,7 +60,7 @@ func (self *CmdGetCacheStats) PostprocessRpcParams() error { return nil } -func (self *CmdGetCacheStats) RpcResult() interface{} { +func (self *CmdGetCacheStats) RpcResult() any { reply := make(map[string]*ltcache.CacheStats) return &reply } diff --git a/console/cdrs.go b/console/cdrs.go index 09dc56709..1f5872240 100644 --- a/console/cdrs.go +++ b/console/cdrs.go @@ -48,7 +48,7 @@ func (self *CmdGetCDRs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCDRs) RpcParams(reset bool) interface{} { +func (self *CmdGetCDRs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.RPCCDRsFilterWithAPIOpts{ RPCCDRsFilter: new(utils.RPCCDRsFilter), @@ -61,7 +61,7 @@ func (self *CmdGetCDRs) PostprocessRpcParams() error { return nil } -func (self *CmdGetCDRs) RpcResult() interface{} { +func (self *CmdGetCDRs) RpcResult() any { a := make([]*engine.CDR, 0) return &a } diff --git a/console/chargers_for_event.go b/console/chargers_for_event.go index f24c19042..376174247 100644 --- a/console/chargers_for_event.go +++ b/console/chargers_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetChargersForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargersForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetChargersForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetChargersForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargersForEvent) RpcResult() interface{} { +func (self *CmdGetChargersForEvent) RpcResult() any { var atr engine.ChargerProfiles return &atr } diff --git a/console/chargers_process_event.go b/console/chargers_process_event.go index a913ee90e..43105c5ea 100644 --- a/console/chargers_process_event.go +++ b/console/chargers_process_event.go @@ -50,7 +50,7 @@ func (self *CmdChargersProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdChargersProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdChargersProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,12 +64,12 @@ func (self *CmdChargersProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdChargersProcessEvent) RpcResult() interface{} { +func (self *CmdChargersProcessEvent) RpcResult() any { var atr []*engine.ChrgSProcessEventReply return &atr } -func (self *CmdChargersProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdChargersProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, }) diff --git a/console/chargers_profile.go b/console/chargers_profile.go index f518a26cc..0191facfd 100644 --- a/console/chargers_profile.go +++ b/console/chargers_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetChargers) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargers) RpcParams(reset bool) interface{} { +func (self *CmdGetChargers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -60,7 +60,7 @@ func (self *CmdGetChargers) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargers) RpcResult() interface{} { +func (self *CmdGetChargers) RpcResult() any { var atr engine.ChargerProfile return &atr } diff --git a/console/chargers_profile_ids.go b/console/chargers_profile_ids.go index 2548866e0..633998832 100644 --- a/console/chargers_profile_ids.go +++ b/console/chargers_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetChargerIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargerIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetChargerIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -59,7 +59,7 @@ func (self *CmdGetChargerIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargerIDs) RpcResult() interface{} { +func (self *CmdGetChargerIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/chargers_profile_rem.go b/console/chargers_profile_rem.go index cc1176689..425f67d0e 100644 --- a/console/chargers_profile_rem.go +++ b/console/chargers_profile_rem.go @@ -45,7 +45,7 @@ func (self *CmdRemoveChargers) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveChargers) RpcParams(reset bool) interface{} { +func (self *CmdRemoveChargers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -56,7 +56,7 @@ func (self *CmdRemoveChargers) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveChargers) RpcResult() interface{} { +func (self *CmdRemoveChargers) RpcResult() any { var s string return &s } diff --git a/console/chargers_profile_set.go b/console/chargers_profile_set.go index c43950dee..86fdd26cc 100644 --- a/console/chargers_profile_set.go +++ b/console/chargers_profile_set.go @@ -49,7 +49,7 @@ func (self *CmdSetChargers) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetChargers) RpcParams(reset bool) interface{} { +func (self *CmdSetChargers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.ChargerWithAPIOpts{ChargerProfile: new(engine.ChargerProfile)} } @@ -60,7 +60,7 @@ func (self *CmdSetChargers) PostprocessRpcParams() error { return nil } -func (self *CmdSetChargers) RpcResult() interface{} { +func (self *CmdSetChargers) RpcResult() any { var s string return &s } diff --git a/console/command.go b/console/command.go index 3b6deca66..6ee2310cb 100644 --- a/console/command.go +++ b/console/command.go @@ -34,13 +34,13 @@ type Commander interface { FromArgs(args string, verbose bool) error // Load data from os arguments or flag.Args() Usage() string // usage message RpcMethod() string // Method which should be called remotely - RpcParams(bool) interface{} // Parameters to send out on rpc + RpcParams(bool) any // Parameters to send out on rpc PostprocessRpcParams() error // Corrects rpc parameters when needed - RpcResult() interface{} // Only requirement is to have a String method to print on console + RpcResult() any // Only requirement is to have a String method to print on console ClientArgs() []string // for autocompletion Name() string LocalExecute() string - GetFormatedResult(result interface{}) string + GetFormatedResult(result any) string } func GetCommands() map[string]Commander { diff --git a/console/command_executer.go b/console/command_executer.go index a085c2b6e..b518fdf57 100644 --- a/console/command_executer.go +++ b/console/command_executer.go @@ -59,7 +59,7 @@ func (ce *CommandExecuter) FromArgs(args string, verbose bool) error { return nil } -func (ce *CommandExecuter) clientArgs(iface interface{}) (args []string) { +func (ce *CommandExecuter) clientArgs(iface any) (args []string) { val := reflect.ValueOf(iface) if val.Kind() == reflect.Ptr { val = val.Elem() @@ -136,7 +136,7 @@ func FromJSON(jsn []byte, interestingFields []string) (line string) { return strings.TrimSpace(line) } -func getStringValue(v interface{}, defaultDurationFields utils.StringSet) string { +func getStringValue(v any, defaultDurationFields utils.StringSet) string { switch o := v.(type) { case nil: return "null" @@ -146,15 +146,15 @@ func getStringValue(v interface{}, defaultDurationFields utils.StringSet) string return fmt.Sprintf(`%v`, o) case string: return fmt.Sprintf(`"%s"`, o) - case map[string]interface{}: + case map[string]any: return getMapAsString(o, defaultDurationFields) - case []interface{}: + case []any: return getSliceAsString(o, defaultDurationFields) } return utils.ToJSON(v) } -func getSliceAsString(mp []interface{}, defaultDurationFields utils.StringSet) (out string) { +func getSliceAsString(mp []any, defaultDurationFields utils.StringSet) (out string) { out = utils.IdxStart for _, v := range mp { out += fmt.Sprintf(`%s,`, getStringValue(v, defaultDurationFields)) @@ -162,7 +162,7 @@ func getSliceAsString(mp []interface{}, defaultDurationFields utils.StringSet) ( return strings.TrimSuffix(out, utils.FieldsSep) + utils.IdxEnd } -func getMapAsString(mp map[string]interface{}, defaultDurationFields utils.StringSet) (out string) { +func getMapAsString(mp map[string]any, defaultDurationFields utils.StringSet) (out string) { // in order to find the data faster keylist := []string{} // add key value pairs to list so at the end we can sort them for k, v := range mp { @@ -178,9 +178,9 @@ func getMapAsString(mp map[string]interface{}, defaultDurationFields utils.Strin return fmt.Sprintf(`{%s}`, strings.Join(keylist, utils.FieldsSep)) } -func GetFormatedResult(result interface{}, defaultDurationFields utils.StringSet) string { +func GetFormatedResult(result any, defaultDurationFields utils.StringSet) string { jsonResult, _ := json.Marshal(result) - var mp map[string]interface{} + var mp map[string]any if err := json.Unmarshal(jsonResult, &mp); err != nil { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) @@ -191,9 +191,9 @@ func GetFormatedResult(result interface{}, defaultDurationFields utils.StringSet return out.String() } -func GetFormatedSliceResult(result interface{}, defaultDurationFields utils.StringSet) string { +func GetFormatedSliceResult(result any, defaultDurationFields utils.StringSet) string { jsonResult, _ := json.Marshal(result) - var mp []interface{} + var mp []any if err := json.Unmarshal(jsonResult, &mp); err != nil { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) @@ -204,7 +204,7 @@ func GetFormatedSliceResult(result interface{}, defaultDurationFields utils.Stri return out.String() } -func (ce *CommandExecuter) GetFormatedResult(result interface{}) string { +func (ce *CommandExecuter) GetFormatedResult(result any) string { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) } diff --git a/console/command_executer_test.go b/console/command_executer_test.go index 2fadb238b..c6608fcd3 100644 --- a/console/command_executer_test.go +++ b/console/command_executer_test.go @@ -38,7 +38,7 @@ func TestToJSON(t *testing.T) { func TestToJSONValid(t *testing.T) { jsn := ToJSON(`TimeStart="Test" Crazy = 1 Mama=true coco Test=1`) - a := make(map[string]interface{}) + a := make(map[string]any) if err := json.Unmarshal(jsn, &a); err != nil { t.Error("Error unmarshaling generated json: ", err) } @@ -147,21 +147,21 @@ func TestGetStringValue(t *testing.T) { t.Errorf("Expecting: %s , received: %s", expected, rply) } - if rply := getStringValue(map[string]interface{}{ + if rply := getStringValue(map[string]any{ "ID": "id1", "TimeValue": 10000}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } expected = `{"ID":"id1","TimeValue":"1s"}` - if rply := getStringValue(map[string]interface{}{ + if rply := getStringValue(map[string]any{ "ID": "id1", "TimeValue": int64(time.Second)}, utils.StringSet{"TimeValue": {}}); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } expected = "[10,20,30]" - if rply := getSliceAsString([]interface{}{10, 20, 30}, dflt); rply != expected { + if rply := getSliceAsString([]any{10, 20, 30}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } } @@ -169,12 +169,12 @@ func TestGetStringValue(t *testing.T) { func TestGetSliceAsString(t *testing.T) { dflt := utils.StringSet{} expected := "[10,20,30]" - if rply := getSliceAsString([]interface{}{10, 20, 30}, dflt); rply != expected { + if rply := getSliceAsString([]any{10, 20, 30}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } expected = `["test1","test2","test3"]` - if rply := getSliceAsString([]interface{}{"test1", "test2", "test3"}, dflt); rply != expected { + if rply := getSliceAsString([]any{"test1", "test2", "test3"}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } } @@ -182,14 +182,14 @@ func TestGetSliceAsString(t *testing.T) { func TestGetMapAsString(t *testing.T) { dflt := utils.StringSet{} expected := `{"ID":"id1","TimeValue":10000}` - if rply := getStringValue(map[string]interface{}{ + if rply := getStringValue(map[string]any{ "ID": "id1", "TimeValue": 10000}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } expected = `{"ID":"id1","TimeValue":"1s"}` - if rply := getStringValue(map[string]interface{}{ + if rply := getStringValue(map[string]any{ "ID": "id1", "TimeValue": int64(time.Second)}, utils.StringSet{"TimeValue": {}}); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) @@ -202,7 +202,7 @@ func TestGetFormatedResult(t *testing.T) { "ID": "id1", "TimeValue": 10000 }` - if rply := GetFormatedResult(map[string]interface{}{ + if rply := GetFormatedResult(map[string]any{ "ID": "id1", "TimeValue": 10000}, dflt); rply != expected { t.Errorf("Expecting: %q , received: %q", expected, rply) @@ -212,7 +212,7 @@ func TestGetFormatedResult(t *testing.T) { "ID": "id1", "TimeValue": "1s" }` - if rply := GetFormatedResult(map[string]interface{}{ + if rply := GetFormatedResult(map[string]any{ "ID": "id1", "TimeValue": int64(time.Second)}, utils.StringSet{"TimeValue": {}}); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) @@ -233,12 +233,12 @@ func TestGetFormatedResult(t *testing.T) { func TestGetFormatedSliceResult(t *testing.T) { dflt := utils.StringSet{} expected := "[10,20,30]" - if rply := getSliceAsString([]interface{}{10, 20, 30}, dflt); rply != expected { + if rply := getSliceAsString([]any{10, 20, 30}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } expected = `["test1","test2","test3"]` - if rply := getSliceAsString([]interface{}{"test1", "test2", "test3"}, dflt); rply != expected { + if rply := getSliceAsString([]any{"test1", "test2", "test3"}, dflt); rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } } @@ -246,7 +246,7 @@ func TestGetFormatedSliceResult(t *testing.T) { func TestFromJSONInterestingFields2(t *testing.T) { jsn := utils.ToJSON(&utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), }) line := FromJSON([]byte(jsn), []string{"Tenant", "ID", "APIOpts"}) @@ -259,8 +259,8 @@ func TestFromJSONInterestingFields2(t *testing.T) { func TestGetStringValueInterface(t *testing.T) { dflt := utils.StringSet{} - expected := getSliceAsString([]interface{}{}, dflt) - rply := getStringValue([]interface{}{}, dflt) + expected := getSliceAsString([]any{}, dflt) + rply := getStringValue([]any{}, dflt) if rply != expected { t.Errorf("Expecting: %s , received: %s", expected, rply) } @@ -322,7 +322,7 @@ func (*mockCommandExecuter) RpcMethod() string { return utils.EmptyString } -func (*mockCommandExecuter) RpcParams(reset bool) interface{} { +func (*mockCommandExecuter) RpcParams(reset bool) any { return struct{}{} } @@ -330,7 +330,7 @@ func (*mockCommandExecuter) PostprocessRpcParams() error { return nil } -func (*mockCommandExecuter) RpcResult() interface{} { +func (*mockCommandExecuter) RpcResult() any { return nil } diff --git a/console/command_test.go b/console/command_test.go index 8baf22189..5350963cf 100644 --- a/console/command_test.go +++ b/console/command_test.go @@ -91,7 +91,7 @@ func (*mockCommander) Usage() string { func (*mockCommander) RpcMethod() string { return utils.EmptyString } -func (*mockCommander) RpcParams(bool) interface{} { +func (*mockCommander) RpcParams(bool) any { return nil } @@ -99,7 +99,7 @@ func (*mockCommander) PostprocessRpcParams() error { return utils.ErrNotImplemented } -func (*mockCommander) RpcResult() interface{} { +func (*mockCommander) RpcResult() any { return nil } func (*mockCommander) ClientArgs() []string { @@ -111,7 +111,7 @@ func (*mockCommander) Name() string { func (*mockCommander) LocalExecute() string { return utils.EmptyString } -func (*mockCommander) GetFormatedResult(result interface{}) string { +func (*mockCommander) GetFormatedResult(result any) string { return utils.EmptyString } @@ -138,7 +138,7 @@ func (*mockCommander2) Usage() string { func (*mockCommander2) RpcMethod() string { return utils.EmptyString } -func (*mockCommander2) RpcParams(bool) interface{} { +func (*mockCommander2) RpcParams(bool) any { return nil } @@ -146,7 +146,7 @@ func (*mockCommander2) PostprocessRpcParams() error { return nil } -func (*mockCommander2) RpcResult() interface{} { +func (*mockCommander2) RpcResult() any { return nil } @@ -162,7 +162,7 @@ func (*mockCommander2) LocalExecute() string { return utils.EmptyString } -func (*mockCommander2) GetFormatedResult(result interface{}) string { +func (*mockCommander2) GetFormatedResult(result any) string { return utils.EmptyString } diff --git a/console/compute_actionplan_indexes.go b/console/compute_actionplan_indexes.go index e77a870aa..26df86b46 100644 --- a/console/compute_actionplan_indexes.go +++ b/console/compute_actionplan_indexes.go @@ -48,7 +48,7 @@ func (self *CmdComputeActionPlanIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdComputeActionPlanIndexes) RpcParams(reset bool) interface{} { +func (self *CmdComputeActionPlanIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(EmptyWrapper) } @@ -59,7 +59,7 @@ func (self *CmdComputeActionPlanIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdComputeActionPlanIndexes) RpcResult() interface{} { +func (self *CmdComputeActionPlanIndexes) RpcResult() any { s := "" return &s } diff --git a/console/compute_filter_indexes.go b/console/compute_filter_indexes.go index 21fb7969f..d666846e9 100644 --- a/console/compute_filter_indexes.go +++ b/console/compute_filter_indexes.go @@ -46,7 +46,7 @@ func (self *CmdComputeFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdComputeFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdComputeFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsComputeFilterIndexes{} } @@ -57,7 +57,7 @@ func (self *CmdComputeFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdComputeFilterIndexes) RpcResult() interface{} { +func (self *CmdComputeFilterIndexes) RpcResult() any { var reply string return &reply } diff --git a/console/cost.go b/console/cost.go index 95ed83f10..fa8a2d042 100644 --- a/console/cost.go +++ b/console/cost.go @@ -52,9 +52,9 @@ func (self *CmdGetCost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCost) RpcParams(reset bool) interface{} { +func (self *CmdGetCost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &v1.AttrGetCost{APIOpts: make(map[string]interface{})} + self.rpcParams = &v1.AttrGetCost{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -63,7 +63,7 @@ func (self *CmdGetCost) PostprocessRpcParams() error { return nil } -func (self *CmdGetCost) RpcResult() interface{} { +func (self *CmdGetCost) RpcResult() any { return &engine.EventCost{} } @@ -71,7 +71,7 @@ func (self *CmdGetCost) ClientArgs() []string { return self.clientArgs } -func (self *CmdGetCost) GetFormatedResult(result interface{}) string { +func (self *CmdGetCost) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.GroupIntervalStart: {}, diff --git a/console/cost_details.go b/console/cost_details.go index a11a60d08..c4154da2b 100644 --- a/console/cost_details.go +++ b/console/cost_details.go @@ -49,7 +49,7 @@ func (self *CmdGetCostDetails) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCostDetails) RpcParams(reset bool) interface{} { +func (self *CmdGetCostDetails) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrGetCallCost{RunId: utils.MetaDefault} } @@ -60,11 +60,11 @@ func (self *CmdGetCostDetails) PostprocessRpcParams() error { return nil } -func (self *CmdGetCostDetails) RpcResult() interface{} { +func (self *CmdGetCostDetails) RpcResult() any { return &engine.EventCost{} } -func (self *CmdGetCostDetails) GetFormatedResult(result interface{}) string { +func (self *CmdGetCostDetails) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.GroupIntervalStart: {}, diff --git a/console/datacost.go b/console/datacost.go index df13f3e99..75c2adf10 100644 --- a/console/datacost.go +++ b/console/datacost.go @@ -51,9 +51,9 @@ func (self *CmdGetDataCost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDataCost) RpcParams(reset bool) interface{} { +func (self *CmdGetDataCost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &v1.AttrGetDataCost{Opts: make(map[string]interface{})} + self.rpcParams = &v1.AttrGetDataCost{Opts: make(map[string]any)} } return self.rpcParams } @@ -62,7 +62,7 @@ func (self *CmdGetDataCost) PostprocessRpcParams() error { return nil } -func (self *CmdGetDataCost) RpcResult() interface{} { +func (self *CmdGetDataCost) RpcResult() any { return &engine.DataCost{} } @@ -70,7 +70,7 @@ func (self *CmdGetDataCost) ClientArgs() []string { return self.clientArgs } -func (self *CmdGetDataCost) GetFormatedResult(result interface{}) string { +func (self *CmdGetDataCost) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.GroupIntervalStart: {}, diff --git a/console/datadb_versions.go b/console/datadb_versions.go index acea92b68..8dbbbb225 100644 --- a/console/datadb_versions.go +++ b/console/datadb_versions.go @@ -48,7 +48,7 @@ func (self *CmdGetDataDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDataDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdGetDataDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &EmptyWrapper{} } @@ -59,7 +59,7 @@ func (self *CmdGetDataDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdGetDataDBVersions) RpcResult() interface{} { +func (self *CmdGetDataDBVersions) RpcResult() any { var s engine.Versions return &s } diff --git a/console/debit.go b/console/debit.go index 484e2a9fd..2dd8a1aea 100644 --- a/console/debit.go +++ b/console/debit.go @@ -50,11 +50,11 @@ func (self *CmdDebit) RpcMethod() string { return self.rpcMethod } -func (self *CmdDebit) RpcParams(reset bool) interface{} { +func (self *CmdDebit) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.CallDescriptorWithAPIOpts{ CallDescriptor: new(engine.CallDescriptor), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -64,7 +64,7 @@ func (self *CmdDebit) PostprocessRpcParams() error { return nil } -func (self *CmdDebit) RpcResult() interface{} { +func (self *CmdDebit) RpcResult() any { return &engine.CallCost{} } diff --git a/console/debit_max.go b/console/debit_max.go index 7a31bd703..93d49f5ec 100644 --- a/console/debit_max.go +++ b/console/debit_max.go @@ -50,11 +50,11 @@ func (self *CmdMaxDebit) RpcMethod() string { return self.rpcMethod } -func (self *CmdMaxDebit) RpcParams(reset bool) interface{} { +func (self *CmdMaxDebit) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.CallDescriptorWithAPIOpts{ CallDescriptor: new(engine.CallDescriptor), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -64,7 +64,7 @@ func (self *CmdMaxDebit) PostprocessRpcParams() error { return nil } -func (self *CmdMaxDebit) RpcResult() interface{} { +func (self *CmdMaxDebit) RpcResult() any { return &engine.CallCost{} } diff --git a/console/destination_set.go b/console/destination_set.go index 88f457467..ec5580022 100644 --- a/console/destination_set.go +++ b/console/destination_set.go @@ -46,7 +46,7 @@ func (self *CmdSetDestination) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDestination) RpcParams(reset bool) interface{} { +func (self *CmdSetDestination) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrSetDestination{} } @@ -57,7 +57,7 @@ func (self *CmdSetDestination) PostprocessRpcParams() error { return nil } -func (self *CmdSetDestination) RpcResult() interface{} { +func (self *CmdSetDestination) RpcResult() any { var s string return &s } diff --git a/console/destinations.go b/console/destinations.go index 7fab9e81c..36c25fa45 100644 --- a/console/destinations.go +++ b/console/destinations.go @@ -49,7 +49,7 @@ func (self *CmdGetDestination) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDestination) RpcParams(reset bool) interface{} { +func (self *CmdGetDestination) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v2.AttrGetDestinations{} } @@ -60,7 +60,7 @@ func (self *CmdGetDestination) PostprocessRpcParams() error { return nil } -func (self *CmdGetDestination) RpcResult() interface{} { +func (self *CmdGetDestination) RpcResult() any { a := make([]*engine.Destination, 0) return &a } diff --git a/console/dispatchers_for_event.go b/console/dispatchers_for_event.go index 26533ba71..efddc8f27 100644 --- a/console/dispatchers_for_event.go +++ b/console/dispatchers_for_event.go @@ -48,7 +48,7 @@ func (self *CmdDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdDispatcherProfile) RpcResult() interface{} { +func (self *CmdDispatcherProfile) RpcResult() any { var s engine.DispatcherProfiles return &s } diff --git a/console/dispatchers_host.go b/console/dispatchers_host.go index 34ef01d61..8c01af924 100644 --- a/console/dispatchers_host.go +++ b/console/dispatchers_host.go @@ -48,7 +48,7 @@ func (self *CmdGetDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.TenantID) } @@ -59,7 +59,7 @@ func (self *CmdGetDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherHost) RpcResult() interface{} { +func (self *CmdGetDispatcherHost) RpcResult() any { var s engine.DispatcherHost return &s } diff --git a/console/dispatchers_host_ids.go b/console/dispatchers_host_ids.go index 9ca328e79..a37b2f77f 100644 --- a/console/dispatchers_host_ids.go +++ b/console/dispatchers_host_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetDispatcherHostIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherHostIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherHostIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.PaginatorWithTenant) } @@ -58,7 +58,7 @@ func (self *CmdGetDispatcherHostIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherHostIDs) RpcResult() interface{} { +func (self *CmdGetDispatcherHostIDs) RpcResult() any { var s []string return &s } diff --git a/console/dispatchers_host_rem.go b/console/dispatchers_host_rem.go index 82d614dc3..b71852ef5 100644 --- a/console/dispatchers_host_rem.go +++ b/console/dispatchers_host_rem.go @@ -47,9 +47,9 @@ func (self *CmdRemoveDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdRemoveDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -58,7 +58,7 @@ func (self *CmdRemoveDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveDispatcherHost) RpcResult() interface{} { +func (self *CmdRemoveDispatcherHost) RpcResult() any { var s string return &s } diff --git a/console/dispatchers_host_set.go b/console/dispatchers_host_set.go index 6e55511ee..c5c1e7719 100644 --- a/console/dispatchers_host_set.go +++ b/console/dispatchers_host_set.go @@ -48,11 +48,11 @@ func (self *CmdSetDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdSetDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.DispatcherHostWithAPIOpts{ DispatcherHost: new(engine.DispatcherHost), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -62,7 +62,7 @@ func (self *CmdSetDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdSetDispatcherHost) RpcResult() interface{} { +func (self *CmdSetDispatcherHost) RpcResult() any { var s string return &s } diff --git a/console/dispatchers_profile.go b/console/dispatchers_profile.go index 8687c31f7..17834b424 100644 --- a/console/dispatchers_profile.go +++ b/console/dispatchers_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.TenantID) } @@ -59,7 +59,7 @@ func (self *CmdGetDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherProfile) RpcResult() interface{} { +func (self *CmdGetDispatcherProfile) RpcResult() any { var s engine.DispatcherProfile return &s } diff --git a/console/dispatchers_profile_ids.go b/console/dispatchers_profile_ids.go index 8ec5f9963..be3f709d7 100644 --- a/console/dispatchers_profile_ids.go +++ b/console/dispatchers_profile_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetDispatcherProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.PaginatorWithTenant) } @@ -58,7 +58,7 @@ func (self *CmdGetDispatcherProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherProfileIDs) RpcResult() interface{} { +func (self *CmdGetDispatcherProfileIDs) RpcResult() any { var s []string return &s } diff --git a/console/dispatchers_profile_rem.go b/console/dispatchers_profile_rem.go index a10083f9e..0fd6e66c7 100644 --- a/console/dispatchers_profile_rem.go +++ b/console/dispatchers_profile_rem.go @@ -47,9 +47,9 @@ func (self *CmdRemoveDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -58,7 +58,7 @@ func (self *CmdRemoveDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveDispatcherProfile) RpcResult() interface{} { +func (self *CmdRemoveDispatcherProfile) RpcResult() any { var s string return &s } diff --git a/console/dispatchers_profile_set.go b/console/dispatchers_profile_set.go index 003afa072..ffcf2abcd 100644 --- a/console/dispatchers_profile_set.go +++ b/console/dispatchers_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.DispatcherWithAPIOpts{ DispatcherProfile: new(engine.DispatcherProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetDispatcherProfile) RpcResult() interface{} { +func (self *CmdSetDispatcherProfile) RpcResult() any { var s string return &s } diff --git a/console/filter.go b/console/filter.go index 8306c54a5..164b5760a 100644 --- a/console/filter.go +++ b/console/filter.go @@ -49,7 +49,7 @@ func (self *CmdGetFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilter) RpcParams(reset bool) interface{} { +func (self *CmdGetFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -60,7 +60,7 @@ func (self *CmdGetFilter) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilter) RpcResult() interface{} { +func (self *CmdGetFilter) RpcResult() any { var atr engine.Filter return &atr } diff --git a/console/filter_ids.go b/console/filter_ids.go index 725f64c47..c94d3505d 100644 --- a/console/filter_ids.go +++ b/console/filter_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetFilterIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilterIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetFilterIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -59,7 +59,7 @@ func (self *CmdGetFilterIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilterIDs) RpcResult() interface{} { +func (self *CmdGetFilterIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/filter_indexes.go b/console/filter_indexes.go index 14e45e090..709428a89 100644 --- a/console/filter_indexes.go +++ b/console/filter_indexes.go @@ -49,7 +49,7 @@ func (self *CmdGetFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdGetFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrGetFilterIndexes{} } @@ -60,7 +60,7 @@ func (self *CmdGetFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilterIndexes) RpcResult() interface{} { +func (self *CmdGetFilterIndexes) RpcResult() any { var atr []string return &atr } diff --git a/console/filter_indexes_remove.go b/console/filter_indexes_remove.go index 694ea2c02..e4909de15 100644 --- a/console/filter_indexes_remove.go +++ b/console/filter_indexes_remove.go @@ -49,7 +49,7 @@ func (self *CmdRemoveFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdRemoveFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrRemFilterIndexes{} } @@ -60,7 +60,7 @@ func (self *CmdRemoveFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveFilterIndexes) RpcResult() interface{} { +func (self *CmdRemoveFilterIndexes) RpcResult() any { var atr string return &atr } diff --git a/console/filter_remove.go b/console/filter_remove.go index a3f4911fe..deab71146 100644 --- a/console/filter_remove.go +++ b/console/filter_remove.go @@ -46,9 +46,9 @@ func (self *CmdRemoveFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveFilter) RpcParams(reset bool) interface{} { +func (self *CmdRemoveFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveFilter) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveFilter) RpcResult() interface{} { +func (self *CmdRemoveFilter) RpcResult() any { var s string return &s } diff --git a/console/filter_set.go b/console/filter_set.go index 488a0f99c..861ef0221 100644 --- a/console/filter_set.go +++ b/console/filter_set.go @@ -49,7 +49,7 @@ func (self *CmdSetFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetFilter) RpcParams(reset bool) interface{} { +func (self *CmdSetFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.FilterWithAPIOpts{Filter: new(engine.Filter)} } @@ -60,7 +60,7 @@ func (self *CmdSetFilter) PostprocessRpcParams() error { return nil } -func (self *CmdSetFilter) RpcResult() interface{} { +func (self *CmdSetFilter) RpcResult() any { var s string return &s } diff --git a/console/get_json_section.go b/console/get_json_section.go index 0a2e6ea58..197450911 100644 --- a/console/get_json_section.go +++ b/console/get_json_section.go @@ -49,9 +49,9 @@ func (self *CmdGetJSONConfig) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetJSONConfig) RpcParams(reset bool) interface{} { +func (self *CmdGetJSONConfig) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &config.SectionWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &config.SectionWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -60,7 +60,7 @@ func (self *CmdGetJSONConfig) PostprocessRpcParams() error { return nil } -func (self *CmdGetJSONConfig) RpcResult() interface{} { - var s map[string]interface{} +func (self *CmdGetJSONConfig) RpcResult() any { + var s map[string]any return &s } diff --git a/console/import_tp_from_folder.go b/console/import_tp_from_folder.go index 41866f85c..fc67aa396 100644 --- a/console/import_tp_from_folder.go +++ b/console/import_tp_from_folder.go @@ -46,7 +46,7 @@ func (self *ImportTpFromFolder) RpcMethod() string { return self.rpcMethod } -func (self *ImportTpFromFolder) RpcParams(reset bool) interface{} { +func (self *ImportTpFromFolder) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrImportTPFromFolder{} } @@ -57,7 +57,7 @@ func (self *ImportTpFromFolder) PostprocessRpcParams() error { return nil } -func (self *ImportTpFromFolder) RpcResult() interface{} { +func (self *ImportTpFromFolder) RpcResult() any { var s string return &s } diff --git a/console/load_history.go b/console/load_history.go index 6d9dd0e09..e4fe880e1 100644 --- a/console/load_history.go +++ b/console/load_history.go @@ -46,7 +46,7 @@ func (self *CmdGetLoadHistory) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetLoadHistory) RpcParams(reset bool) interface{} { +func (self *CmdGetLoadHistory) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.Paginator) } @@ -57,7 +57,7 @@ func (self *CmdGetLoadHistory) PostprocessRpcParams() error { return nil } -func (self *CmdGetLoadHistory) RpcResult() interface{} { +func (self *CmdGetLoadHistory) RpcResult() any { a := make([]*utils.LoadInstance, 0) return &a } diff --git a/console/load_ids.go b/console/load_ids.go index c1c89a554..f5083276d 100644 --- a/console/load_ids.go +++ b/console/load_ids.go @@ -45,7 +45,7 @@ func (self *CmdCacheVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheVersions) RpcParams(reset bool) interface{} { +func (self *CmdCacheVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &StringWrapper{} } @@ -56,7 +56,7 @@ func (self *CmdCacheVersions) PostprocessRpcParams() error { return nil } -func (self *CmdCacheVersions) RpcResult() interface{} { +func (self *CmdCacheVersions) RpcResult() any { a := make(map[string]int64, 0) return &a } diff --git a/console/load_times.go b/console/load_times.go index 9f3dfc4e8..062d69f60 100644 --- a/console/load_times.go +++ b/console/load_times.go @@ -49,7 +49,7 @@ func (self *CmdLoadTimes) RpcMethod() string { return self.rpcMethod } -func (self *CmdLoadTimes) RpcParams(reset bool) interface{} { +func (self *CmdLoadTimes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.LoadTimeArgs{} } @@ -60,7 +60,7 @@ func (self *CmdLoadTimes) PostprocessRpcParams() error { return nil } -func (self *CmdLoadTimes) RpcResult() interface{} { +func (self *CmdLoadTimes) RpcResult() any { a := make(map[string]string, 0) return &a } diff --git a/console/load_tp_from_folder.go b/console/load_tp_from_folder.go index 05ac9528f..3c763555c 100644 --- a/console/load_tp_from_folder.go +++ b/console/load_tp_from_folder.go @@ -46,7 +46,7 @@ func (self *LoadTpFromFolder) RpcMethod() string { return self.rpcMethod } -func (self *LoadTpFromFolder) RpcParams(reset bool) interface{} { +func (self *LoadTpFromFolder) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrLoadTpFromFolder{} } @@ -57,7 +57,7 @@ func (self *LoadTpFromFolder) PostprocessRpcParams() error { return nil } -func (self *LoadTpFromFolder) RpcResult() interface{} { +func (self *LoadTpFromFolder) RpcResult() any { var s string return &s } diff --git a/console/load_tp_from_stordb.go b/console/load_tp_from_stordb.go index 55de48873..b85922774 100644 --- a/console/load_tp_from_stordb.go +++ b/console/load_tp_from_stordb.go @@ -49,7 +49,7 @@ func (self *LoadTpFromStorDb) RpcMethod() string { return self.rpcMethod } -func (self *LoadTpFromStorDb) RpcParams(reset bool) interface{} { +func (self *LoadTpFromStorDb) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrLoadTpFromStorDb{} } @@ -60,7 +60,7 @@ func (self *LoadTpFromStorDb) PostprocessRpcParams() error { return nil } -func (self *LoadTpFromStorDb) RpcResult() interface{} { +func (self *LoadTpFromStorDb) RpcResult() any { var s string return &s } diff --git a/console/loader_load.go b/console/loader_load.go index d8c9f3a96..ca728ab1f 100644 --- a/console/loader_load.go +++ b/console/loader_load.go @@ -48,7 +48,7 @@ func (self *CmdLoaderLoad) RpcMethod() string { return self.rpcMethod } -func (self *CmdLoaderLoad) RpcParams(reset bool) interface{} { +func (self *CmdLoaderLoad) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &loaders.ArgsProcessFolder{} } @@ -59,7 +59,7 @@ func (self *CmdLoaderLoad) PostprocessRpcParams() error { return nil } -func (self *CmdLoaderLoad) RpcResult() interface{} { +func (self *CmdLoaderLoad) RpcResult() any { var s string return &s } diff --git a/console/loader_remove.go b/console/loader_remove.go index 38117bc19..40f5fe105 100644 --- a/console/loader_remove.go +++ b/console/loader_remove.go @@ -48,7 +48,7 @@ func (self *CmdLoaderRemove) RpcMethod() string { return self.rpcMethod } -func (self *CmdLoaderRemove) RpcParams(reset bool) interface{} { +func (self *CmdLoaderRemove) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &loaders.ArgsProcessFolder{} } @@ -59,7 +59,7 @@ func (self *CmdLoaderRemove) PostprocessRpcParams() error { return nil } -func (self *CmdLoaderRemove) RpcResult() interface{} { +func (self *CmdLoaderRemove) RpcResult() any { var s string return &s } diff --git a/console/maxduration.go b/console/maxduration.go index 3f21bb970..464b7ccc7 100644 --- a/console/maxduration.go +++ b/console/maxduration.go @@ -54,11 +54,11 @@ func (self *CmdGetMaxDuration) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetMaxDuration) RpcParams(reset bool) interface{} { +func (self *CmdGetMaxDuration) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.CallDescriptorWithAPIOpts{ CallDescriptor: new(engine.CallDescriptor), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -68,7 +68,7 @@ func (self *CmdGetMaxDuration) PostprocessRpcParams() error { return nil } -func (self *CmdGetMaxDuration) RpcResult() interface{} { +func (self *CmdGetMaxDuration) RpcResult() any { var d time.Duration return &d } @@ -77,7 +77,7 @@ func (self *CmdGetMaxDuration) ClientArgs() []string { return self.clientArgs } -func (self *CmdGetMaxDuration) GetFormatedResult(result interface{}) string { +func (self *CmdGetMaxDuration) GetFormatedResult(result any) string { if tv, canCast := result.(*time.Duration); canCast { return fmt.Sprintf(`"%s"`, tv.String()) } diff --git a/console/maxusage.go b/console/maxusage.go index f40c35317..98652e086 100644 --- a/console/maxusage.go +++ b/console/maxusage.go @@ -52,7 +52,7 @@ func (self *CmdGetMaxUsage) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetMaxUsage) RpcParams(reset bool) interface{} { +func (self *CmdGetMaxUsage) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(engine.UsageRecordWithAPIOpts) } @@ -63,7 +63,7 @@ func (self *CmdGetMaxUsage) PostprocessRpcParams() error { return nil } -func (self *CmdGetMaxUsage) RpcResult() interface{} { +func (self *CmdGetMaxUsage) RpcResult() any { var f int64 return &f } diff --git a/console/parse.go b/console/parse.go index ebce7b134..16ad333d6 100644 --- a/console/parse.go +++ b/console/parse.go @@ -52,14 +52,14 @@ func (self *CmdParse) RpcMethod() string { return utils.EmptyString } -func (self *CmdParse) RpcParams(reset bool) interface{} { +func (self *CmdParse) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &AttrParse{} } return self.rpcParams } -func (self *CmdParse) RpcResult() interface{} { +func (self *CmdParse) RpcResult() any { return nil } diff --git a/console/passive_sessions.go b/console/passive_sessions.go index e3b8c5250..2aea44a98 100644 --- a/console/passive_sessions.go +++ b/console/passive_sessions.go @@ -36,7 +36,7 @@ func init() { type CmdPassiveSessions struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -48,9 +48,9 @@ func (cmd *CmdPassiveSessions) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdPassiveSessions) RpcParams(reset bool) interface{} { +func (cmd *CmdPassiveSessions) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { - cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return cmd.rpcParams } @@ -61,12 +61,12 @@ func (cmd *CmdPassiveSessions) PostprocessRpcParams() error { return nil } -func (cmd *CmdPassiveSessions) RpcResult() interface{} { +func (cmd *CmdPassiveSessions) RpcResult() any { var sessions []*sessions.ExternalSession return &sessions } -func (cmd *CmdPassiveSessions) GetFormatedResult(result interface{}) string { +func (cmd *CmdPassiveSessions) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/ping.go b/console/ping.go index 7e1142e68..3c9e9af48 100644 --- a/console/ping.go +++ b/console/ping.go @@ -36,7 +36,7 @@ func init() { type CmdApierPing struct { name string rpcMethod string - rpcParams interface{} + rpcParams any item string *CommandExecuter } @@ -86,7 +86,7 @@ func (self *CmdApierPing) RpcMethod() string { return self.rpcMethod } -func (self *CmdApierPing) RpcParams(reset bool) interface{} { +func (self *CmdApierPing) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &StringWrapper{} } @@ -101,7 +101,7 @@ func (self *CmdApierPing) PostprocessRpcParams() error { return nil } -func (self *CmdApierPing) RpcResult() interface{} { +func (self *CmdApierPing) RpcResult() any { var s string return &s } diff --git a/console/ratingplan_cost.go b/console/ratingplan_cost.go index e67765431..d05bd016c 100644 --- a/console/ratingplan_cost.go +++ b/console/ratingplan_cost.go @@ -49,7 +49,7 @@ func (self *CmdGetRatingPlanCost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRatingPlanCost) RpcParams(reset bool) interface{} { +func (self *CmdGetRatingPlanCost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.RatingPlanCostArg) } @@ -60,7 +60,7 @@ func (self *CmdGetRatingPlanCost) PostprocessRpcParams() error { return nil } -func (self *CmdGetRatingPlanCost) RpcResult() interface{} { +func (self *CmdGetRatingPlanCost) RpcResult() any { var s dispatchers.RatingPlanCost return &s } diff --git a/console/ratingprofile.go b/console/ratingprofile.go index 4bc003c63..7e7501c61 100644 --- a/console/ratingprofile.go +++ b/console/ratingprofile.go @@ -49,7 +49,7 @@ func (self *CmdGetRatingProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRatingProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetRatingProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrGetRatingProfile) } @@ -60,7 +60,7 @@ func (self *CmdGetRatingProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetRatingProfile) RpcResult() interface{} { +func (self *CmdGetRatingProfile) RpcResult() any { var s engine.RatingProfile return &s } diff --git a/console/ratingprofile_ids.go b/console/ratingprofile_ids.go index 43cad5726..a4fae42f7 100644 --- a/console/ratingprofile_ids.go +++ b/console/ratingprofile_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetRatingProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRatingProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetRatingProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.PaginatorWithTenant) } @@ -58,7 +58,7 @@ func (self *CmdGetRatingProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetRatingProfileIDs) RpcResult() interface{} { +func (self *CmdGetRatingProfileIDs) RpcResult() any { var s []string return &s } diff --git a/console/ratingprofile_remove.go b/console/ratingprofile_remove.go index 5c0287c84..4e614d4a3 100644 --- a/console/ratingprofile_remove.go +++ b/console/ratingprofile_remove.go @@ -51,7 +51,7 @@ func (self *CmdRemRatingProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemRatingProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemRatingProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrRemoveRatingProfile{} } @@ -65,7 +65,7 @@ func (self *CmdRemRatingProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemRatingProfile) RpcResult() interface{} { +func (self *CmdRemRatingProfile) RpcResult() any { var s string return &s } diff --git a/console/ratingprofile_set.go b/console/ratingprofile_set.go index 7cb4ab634..0d2849a25 100644 --- a/console/ratingprofile_set.go +++ b/console/ratingprofile_set.go @@ -48,7 +48,7 @@ func (self *CmdSetRatingProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetRatingProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetRatingProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrSetRatingProfile) } @@ -59,7 +59,7 @@ func (self *CmdSetRatingProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetRatingProfile) RpcResult() interface{} { +func (self *CmdSetRatingProfile) RpcResult() any { var s string return &s } diff --git a/console/reload_config.go b/console/reload_config.go index 6add0ff71..ad16cdcc8 100644 --- a/console/reload_config.go +++ b/console/reload_config.go @@ -49,9 +49,9 @@ func (self *CmdRelaodConfigSection) RpcMethod() string { return self.rpcMethod } -func (self *CmdRelaodConfigSection) RpcParams(reset bool) interface{} { +func (self *CmdRelaodConfigSection) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &config.ReloadArgs{APIOpts: make(map[string]interface{})} + self.rpcParams = &config.ReloadArgs{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -60,7 +60,7 @@ func (self *CmdRelaodConfigSection) PostprocessRpcParams() error { return nil } -func (self *CmdRelaodConfigSection) RpcResult() interface{} { +func (self *CmdRelaodConfigSection) RpcResult() any { var s string return &s } diff --git a/console/resources.go b/console/resources.go index 6f3b7eb26..765a0b7a7 100644 --- a/console/resources.go +++ b/console/resources.go @@ -49,11 +49,11 @@ func (self *CmdGetResource) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResource) RpcParams(reset bool) interface{} { +func (self *CmdGetResource) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdGetResource) PostprocessRpcParams() error { return nil } -func (self *CmdGetResource) RpcResult() interface{} { +func (self *CmdGetResource) RpcResult() any { var atr engine.Resource return &atr } diff --git a/console/resources_allocate.go b/console/resources_allocate.go index 1bde570af..3b25b3e9f 100644 --- a/console/resources_allocate.go +++ b/console/resources_allocate.go @@ -50,7 +50,7 @@ func (self *CmdResourceAllocate) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceAllocate) RpcParams(reset bool) interface{} { +func (self *CmdResourceAllocate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,7 +64,7 @@ func (self *CmdResourceAllocate) PostprocessRpcParams() error { return nil } -func (self *CmdResourceAllocate) RpcResult() interface{} { +func (self *CmdResourceAllocate) RpcResult() any { var atr string return &atr } diff --git a/console/resources_authorize.go b/console/resources_authorize.go index a67dd2a48..2a08c70a2 100644 --- a/console/resources_authorize.go +++ b/console/resources_authorize.go @@ -50,7 +50,7 @@ func (self *CmdResourceAuthorize) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceAuthorize) RpcParams(reset bool) interface{} { +func (self *CmdResourceAuthorize) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,7 +64,7 @@ func (self *CmdResourceAuthorize) PostprocessRpcParams() error { return nil } -func (self *CmdResourceAuthorize) RpcResult() interface{} { +func (self *CmdResourceAuthorize) RpcResult() any { var atr string return &atr } diff --git a/console/resources_for_event.go b/console/resources_for_event.go index f73522118..d4965bbea 100644 --- a/console/resources_for_event.go +++ b/console/resources_for_event.go @@ -51,7 +51,7 @@ func (self *CmdGetResourceForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -65,7 +65,7 @@ func (self *CmdGetResourceForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceForEvent) RpcResult() interface{} { +func (self *CmdGetResourceForEvent) RpcResult() any { var atr engine.Resources return &atr } diff --git a/console/resources_profile.go b/console/resources_profile.go index 6d82cf634..2b6d51e7b 100644 --- a/console/resources_profile.go +++ b/console/resources_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetResourceProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -60,12 +60,12 @@ func (self *CmdGetResourceProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceProfile) RpcResult() interface{} { +func (self *CmdGetResourceProfile) RpcResult() any { var atr engine.ResourceProfile return &atr } -func (self *CmdGetResourceProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetResourceProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.UsageTTL: {}, }) diff --git a/console/resources_profile_ids.go b/console/resources_profile_ids.go index 505b5102b..dc6967e85 100644 --- a/console/resources_profile_ids.go +++ b/console/resources_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetResourceIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -59,7 +59,7 @@ func (self *CmdGetResourceIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceIDs) RpcResult() interface{} { +func (self *CmdGetResourceIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/resources_profile_rem.go b/console/resources_profile_rem.go index 1ca82f5a9..d38fe7789 100644 --- a/console/resources_profile_rem.go +++ b/console/resources_profile_rem.go @@ -46,9 +46,9 @@ func (self *CmdRemoveResource) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveResource) RpcParams(reset bool) interface{} { +func (self *CmdRemoveResource) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveResource) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveResource) RpcResult() interface{} { +func (self *CmdRemoveResource) RpcResult() any { var s string return &s } diff --git a/console/resources_profile_set.go b/console/resources_profile_set.go index b987ebe3b..bc5a74c64 100644 --- a/console/resources_profile_set.go +++ b/console/resources_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetResource) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetResource) RpcParams(reset bool) interface{} { +func (self *CmdSetResource) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.ResourceProfileWithAPIOpts{ ResourceProfile: new(engine.ResourceProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetResource) PostprocessRpcParams() error { return nil } -func (self *CmdSetResource) RpcResult() interface{} { +func (self *CmdSetResource) RpcResult() any { var s string return &s } diff --git a/console/resources_release.go b/console/resources_release.go index 75353b4e6..9585db8b2 100644 --- a/console/resources_release.go +++ b/console/resources_release.go @@ -50,7 +50,7 @@ func (self *CmdResourceRelease) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceRelease) RpcParams(reset bool) interface{} { +func (self *CmdResourceRelease) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,7 +64,7 @@ func (self *CmdResourceRelease) PostprocessRpcParams() error { return nil } -func (self *CmdResourceRelease) RpcResult() interface{} { +func (self *CmdResourceRelease) RpcResult() any { var atr string return &atr } diff --git a/console/routes.go b/console/routes.go index 03d6dac68..d47da7f38 100644 --- a/console/routes.go +++ b/console/routes.go @@ -50,7 +50,7 @@ func (self *CmdRoutesSort) RpcMethod() string { return self.rpcMethod } -func (self *CmdRoutesSort) RpcParams(reset bool) interface{} { +func (self *CmdRoutesSort) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,7 +64,7 @@ func (self *CmdRoutesSort) PostprocessRpcParams() error { return nil } -func (self *CmdRoutesSort) RpcResult() interface{} { +func (self *CmdRoutesSort) RpcResult() any { var atr engine.SortedRoutesList return &atr } diff --git a/console/routes_profile.go b/console/routes_profile.go index 6aba94094..960c40b8b 100644 --- a/console/routes_profile.go +++ b/console/routes_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetRoute) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRoute) RpcParams(reset bool) interface{} { +func (self *CmdGetRoute) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -59,7 +59,7 @@ func (self *CmdGetRoute) PostprocessRpcParams() error { return nil } -func (self *CmdGetRoute) RpcResult() interface{} { +func (self *CmdGetRoute) RpcResult() any { var atr engine.RouteProfile return &atr } diff --git a/console/routes_profile_ids.go b/console/routes_profile_ids.go index 99531b098..cb1abafd8 100644 --- a/console/routes_profile_ids.go +++ b/console/routes_profile_ids.go @@ -47,7 +47,7 @@ func (self *CmdRouteIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdRouteIDs) RpcParams(reset bool) interface{} { +func (self *CmdRouteIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -58,7 +58,7 @@ func (self *CmdRouteIDs) PostprocessRpcParams() error { return nil } -func (self *CmdRouteIDs) RpcResult() interface{} { +func (self *CmdRouteIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/routes_profile_remove.go b/console/routes_profile_remove.go index 37f8bc43d..0fc956239 100644 --- a/console/routes_profile_remove.go +++ b/console/routes_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveRoute) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveRoute) RpcParams(reset bool) interface{} { +func (self *CmdRemoveRoute) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveRoute) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveRoute) RpcResult() interface{} { +func (self *CmdRemoveRoute) RpcResult() any { var s string return &s } diff --git a/console/routes_profile_set.go b/console/routes_profile_set.go index b400f4d97..160a28a46 100644 --- a/console/routes_profile_set.go +++ b/console/routes_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetRoute) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetRoute) RpcParams(reset bool) interface{} { +func (self *CmdSetRoute) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.RouteWithAPIOpts{ RouteProfile: new(engine.RouteProfile), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetRoute) PostprocessRpcParams() error { return nil } -func (self *CmdSetRoute) RpcResult() interface{} { +func (self *CmdSetRoute) RpcResult() any { var s string return &s } diff --git a/console/routes_profiles_for_event.go b/console/routes_profiles_for_event.go index f5c2999df..e279df47a 100644 --- a/console/routes_profiles_for_event.go +++ b/console/routes_profiles_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetRouteForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRouteForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetRouteForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetRouteForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetRouteForEvent) RpcResult() interface{} { +func (self *CmdGetRouteForEvent) RpcResult() any { var atr []*engine.RouteProfile return &atr } diff --git a/console/scheduler_execute.go b/console/scheduler_execute.go index 042882215..8d5f61a7c 100644 --- a/console/scheduler_execute.go +++ b/console/scheduler_execute.go @@ -48,7 +48,7 @@ func (self *CmdExecuteScheduledActions) RpcMethod() string { return self.rpcMethod } -func (self *CmdExecuteScheduledActions) RpcParams(reset bool) interface{} { +func (self *CmdExecuteScheduledActions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrsExecuteActions{} } @@ -59,7 +59,7 @@ func (self *CmdExecuteScheduledActions) PostprocessRpcParams() error { return nil } -func (self *CmdExecuteScheduledActions) RpcResult() interface{} { +func (self *CmdExecuteScheduledActions) RpcResult() any { var s string return &s } diff --git a/console/scheduler_queue.go b/console/scheduler_queue.go index 3de9ad07f..86c9f8eac 100644 --- a/console/scheduler_queue.go +++ b/console/scheduler_queue.go @@ -49,7 +49,7 @@ func (self *CmdGetScheduledActions) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetScheduledActions) RpcParams(reset bool) interface{} { +func (self *CmdGetScheduledActions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &scheduler.ArgsGetScheduledActions{} } @@ -60,7 +60,7 @@ func (self *CmdGetScheduledActions) PostprocessRpcParams() error { return nil } -func (self *CmdGetScheduledActions) RpcResult() interface{} { +func (self *CmdGetScheduledActions) RpcResult() any { s := make([]*scheduler.ScheduledAction, 0) return &s } diff --git a/console/scheduler_reload.go b/console/scheduler_reload.go index 0aab73882..228902c4c 100644 --- a/console/scheduler_reload.go +++ b/console/scheduler_reload.go @@ -45,7 +45,7 @@ func (self *CmdReloadScheduler) RpcMethod() string { return self.rpcMethod } -func (self *CmdReloadScheduler) RpcParams(reset bool) interface{} { +func (self *CmdReloadScheduler) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -56,7 +56,7 @@ func (self *CmdReloadScheduler) PostprocessRpcParams() error { return nil } -func (self *CmdReloadScheduler) RpcResult() interface{} { +func (self *CmdReloadScheduler) RpcResult() any { var s string return &s } diff --git a/console/session_authorize_event.go b/console/session_authorize_event.go index 6fd660523..83ab7d8df 100644 --- a/console/session_authorize_event.go +++ b/console/session_authorize_event.go @@ -50,7 +50,7 @@ func (self *CmdSessionsAuthorize) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsAuthorize) RpcParams(reset bool) interface{} { +func (self *CmdSessionsAuthorize) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &sessions.V1AuthorizeArgs{ CGREvent: new(utils.CGREvent), @@ -67,7 +67,7 @@ func (self *CmdSessionsAuthorize) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsAuthorize) RpcResult() interface{} { +func (self *CmdSessionsAuthorize) RpcResult() any { var atr sessions.V1AuthorizeReplyWithDigest return &atr } diff --git a/console/session_force_disconnect.go b/console/session_force_disconnect.go index 3753b6435..aafee0849 100644 --- a/console/session_force_disconnect.go +++ b/console/session_force_disconnect.go @@ -47,9 +47,9 @@ func (cmd *CmdSessionsForceDisconnect) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdSessionsForceDisconnect) RpcParams(reset bool) interface{} { +func (cmd *CmdSessionsForceDisconnect) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { - cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return cmd.rpcParams } @@ -60,12 +60,12 @@ func (cmd *CmdSessionsForceDisconnect) PostprocessRpcParams() error { return nil } -func (cmd *CmdSessionsForceDisconnect) RpcResult() interface{} { +func (cmd *CmdSessionsForceDisconnect) RpcResult() any { var sessions string return &sessions } -func (cmd *CmdSessionsForceDisconnect) GetFormatedResult(result interface{}) string { +func (cmd *CmdSessionsForceDisconnect) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/session_initiate.go b/console/session_initiate.go index 66e11cf09..752c806c0 100644 --- a/console/session_initiate.go +++ b/console/session_initiate.go @@ -50,7 +50,7 @@ func (self *CmdSessionsInitiate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsInitiate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsInitiate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &sessions.V1InitSessionArgs{ CGREvent: new(utils.CGREvent), @@ -67,12 +67,12 @@ func (self *CmdSessionsInitiate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsInitiate) RpcResult() interface{} { +func (self *CmdSessionsInitiate) RpcResult() any { var atr sessions.V1InitReplyWithDigest return &atr } -func (self *CmdSessionsInitiate) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsInitiate) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/session_process_cdr.go b/console/session_process_cdr.go index 19ed09fba..eaa0edbd6 100644 --- a/console/session_process_cdr.go +++ b/console/session_process_cdr.go @@ -49,7 +49,7 @@ func (self *CmdSessionsProcessCDR) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsProcessCDR) RpcParams(reset bool) interface{} { +func (self *CmdSessionsProcessCDR) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -63,7 +63,7 @@ func (self *CmdSessionsProcessCDR) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsProcessCDR) RpcResult() interface{} { +func (self *CmdSessionsProcessCDR) RpcResult() any { var atr string return &atr } diff --git a/console/session_process_message.go b/console/session_process_message.go index 03fc33cd5..4067d858e 100644 --- a/console/session_process_message.go +++ b/console/session_process_message.go @@ -50,7 +50,7 @@ func (self *CmdSessionsProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdSessionsProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &sessions.V1ProcessMessageArgs{ CGREvent: new(utils.CGREvent), @@ -67,12 +67,12 @@ func (self *CmdSessionsProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsProcessEvent) RpcResult() interface{} { +func (self *CmdSessionsProcessEvent) RpcResult() any { var atr sessions.V1ProcessMessageReply return &atr } -func (self *CmdSessionsProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/session_terminate.go b/console/session_terminate.go index 7aa59c976..37a262ace 100644 --- a/console/session_terminate.go +++ b/console/session_terminate.go @@ -50,7 +50,7 @@ func (self *CmdSessionsTerminate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsTerminate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsTerminate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &sessions.V1TerminateSessionArgs{ CGREvent: new(utils.CGREvent), @@ -67,7 +67,7 @@ func (self *CmdSessionsTerminate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsTerminate) RpcResult() interface{} { +func (self *CmdSessionsTerminate) RpcResult() any { var atr string return &atr } diff --git a/console/session_update.go b/console/session_update.go index dc6d214b0..ca1d7c4ba 100644 --- a/console/session_update.go +++ b/console/session_update.go @@ -50,7 +50,7 @@ func (self *CmdSessionsUpdate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsUpdate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsUpdate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &sessions.V1UpdateSessionArgs{ CGREvent: new(utils.CGREvent), @@ -67,12 +67,12 @@ func (self *CmdSessionsUpdate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsUpdate) RpcResult() interface{} { +func (self *CmdSessionsUpdate) RpcResult() any { var atr sessions.V1UpdateSessionReply return &atr } -func (self *CmdSessionsUpdate) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsUpdate) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/set_datadb_versions.go b/console/set_datadb_versions.go index b2a769fd1..75f341224 100644 --- a/console/set_datadb_versions.go +++ b/console/set_datadb_versions.go @@ -48,7 +48,7 @@ func (self *CmdSetDataDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDataDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdSetDataDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.SetVersionsArg{} } @@ -59,7 +59,7 @@ func (self *CmdSetDataDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdSetDataDBVersions) RpcResult() interface{} { +func (self *CmdSetDataDBVersions) RpcResult() any { var atr string return &atr } diff --git a/console/set_stordb_versions.go b/console/set_stordb_versions.go index 8a4658b7b..d08fe7260 100644 --- a/console/set_stordb_versions.go +++ b/console/set_stordb_versions.go @@ -48,7 +48,7 @@ func (self *CmdSetStorDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetStorDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdSetStorDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.SetVersionsArg{} } @@ -59,7 +59,7 @@ func (self *CmdSetStorDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdSetStorDBVersions) RpcResult() interface{} { +func (self *CmdSetStorDBVersions) RpcResult() any { var atr string return &atr } diff --git a/console/sharedgroup.go b/console/sharedgroup.go index ba0468222..5c6aae3f1 100644 --- a/console/sharedgroup.go +++ b/console/sharedgroup.go @@ -48,7 +48,7 @@ func (self *CmdGetSharedGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetSharedGroup) RpcParams(reset bool) interface{} { +func (self *CmdGetSharedGroup) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &StringWrapper{} } @@ -59,6 +59,6 @@ func (self *CmdGetSharedGroup) PostprocessRpcParams() error { return nil } -func (self *CmdGetSharedGroup) RpcResult() interface{} { +func (self *CmdGetSharedGroup) RpcResult() any { return &engine.SharedGroup{} } diff --git a/console/sleep.go b/console/sleep.go index 6c02f23d6..7c9e2ac84 100644 --- a/console/sleep.go +++ b/console/sleep.go @@ -32,7 +32,7 @@ func init() { type CmdSleep struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -44,7 +44,7 @@ func (cmd *CmdSleep) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdSleep) RpcParams(reset bool) interface{} { +func (cmd *CmdSleep) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { cmd.rpcParams = &utils.DurationArgs{} } @@ -63,7 +63,7 @@ func (cmd *CmdSleep) PostprocessRpcParams() (err error) { return } -func (cmd *CmdSleep) RpcResult() interface{} { +func (cmd *CmdSleep) RpcResult() any { var s string return &s } diff --git a/console/stats_for_event.go b/console/stats_for_event.go index b4ed5796b..0ca73c959 100644 --- a/console/stats_for_event.go +++ b/console/stats_for_event.go @@ -50,7 +50,7 @@ func (self *CmdStatsQueueForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatsQueueForEvent) RpcParams(reset bool) interface{} { +func (self *CmdStatsQueueForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -64,7 +64,7 @@ func (self *CmdStatsQueueForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdStatsQueueForEvent) RpcResult() interface{} { +func (self *CmdStatsQueueForEvent) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_metrics.go b/console/stats_metrics.go index 2bc00c2a0..3bbd95ea7 100644 --- a/console/stats_metrics.go +++ b/console/stats_metrics.go @@ -48,11 +48,11 @@ func (self *CmdGetStatQueueStringMetrics) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueStringMetrics) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueStringMetrics) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -62,7 +62,7 @@ func (self *CmdGetStatQueueStringMetrics) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueStringMetrics) RpcResult() interface{} { +func (self *CmdGetStatQueueStringMetrics) RpcResult() any { var atr map[string]string return &atr } diff --git a/console/stats_process_event.go b/console/stats_process_event.go index 082558c7f..5ad5591df 100644 --- a/console/stats_process_event.go +++ b/console/stats_process_event.go @@ -50,7 +50,7 @@ func (self *CmdStatQueueProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatQueueProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdStatQueueProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -65,7 +65,7 @@ func (self *CmdStatQueueProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdStatQueueProcessEvent) RpcResult() interface{} { +func (self *CmdStatQueueProcessEvent) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_profile.go b/console/stats_profile.go index ffd7adb22..da8b1aefb 100644 --- a/console/stats_profile.go +++ b/console/stats_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetStatQueueProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -60,12 +60,12 @@ func (self *CmdGetStatQueueProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueProfile) RpcResult() interface{} { +func (self *CmdGetStatQueueProfile) RpcResult() any { var atr engine.StatQueueProfile return &atr } -func (self *CmdGetStatQueueProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetStatQueueProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.TTL: {}, }) diff --git a/console/stats_profile_ids.go b/console/stats_profile_ids.go index 036e1ff45..daa6ad122 100644 --- a/console/stats_profile_ids.go +++ b/console/stats_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetStatQueueIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -59,7 +59,7 @@ func (self *CmdGetStatQueueIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueIDs) RpcResult() interface{} { +func (self *CmdGetStatQueueIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_profile_rem.go b/console/stats_profile_rem.go index 7448add54..10d061974 100644 --- a/console/stats_profile_rem.go +++ b/console/stats_profile_rem.go @@ -46,9 +46,9 @@ func (self *CmdRemoveStatQueue) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveStatQueue) RpcParams(reset bool) interface{} { +func (self *CmdRemoveStatQueue) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveStatQueue) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveStatQueue) RpcResult() interface{} { +func (self *CmdRemoveStatQueue) RpcResult() any { var s string return &s } diff --git a/console/stats_profile_set.go b/console/stats_profile_set.go index 93770afe7..20b4bb2e6 100644 --- a/console/stats_profile_set.go +++ b/console/stats_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetStatQueue) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetStatQueue) RpcParams(reset bool) interface{} { +func (self *CmdSetStatQueue) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.StatQueueProfileWithAPIOpts{ StatQueueProfile: new(engine.StatQueueProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetStatQueue) PostprocessRpcParams() error { return nil } -func (self *CmdSetStatQueue) RpcResult() interface{} { +func (self *CmdSetStatQueue) RpcResult() any { var s string return &s } diff --git a/console/status.go b/console/status.go index efe33a84c..11fc98e25 100644 --- a/console/status.go +++ b/console/status.go @@ -44,10 +44,10 @@ func (self *CmdStatus) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatus) RpcParams(reset bool) interface{} { +func (self *CmdStatus) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantWithAPIOpts{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -57,8 +57,8 @@ func (self *CmdStatus) PostprocessRpcParams() error { return nil } -func (self *CmdStatus) RpcResult() interface{} { - var s map[string]interface{} +func (self *CmdStatus) RpcResult() any { + var s map[string]any return &s } diff --git a/console/stordb_versions.go b/console/stordb_versions.go index 823677762..3b2eca4f1 100644 --- a/console/stordb_versions.go +++ b/console/stordb_versions.go @@ -48,7 +48,7 @@ func (self *CmdGetStorDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStorDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdGetStorDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &EmptyWrapper{} } @@ -59,7 +59,7 @@ func (self *CmdGetStorDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdGetStorDBVersions) RpcResult() interface{} { +func (self *CmdGetStorDBVersions) RpcResult() any { s := engine.Versions{} return &s } diff --git a/console/threshold.go b/console/threshold.go index e0b3802a6..37a897eea 100644 --- a/console/threshold.go +++ b/console/threshold.go @@ -48,11 +48,11 @@ func (self *CmdGetThreshold) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThreshold) RpcParams(reset bool) interface{} { +func (self *CmdGetThreshold) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -62,12 +62,12 @@ func (self *CmdGetThreshold) PostprocessRpcParams() error { return nil } -func (self *CmdGetThreshold) RpcResult() interface{} { +func (self *CmdGetThreshold) RpcResult() any { var atr engine.Threshold return &atr } -func (self *CmdGetThreshold) GetFormatedResult(result interface{}) string { +func (self *CmdGetThreshold) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/console/thresholds_for_event.go b/console/thresholds_for_event.go index 9b97263d5..120e92a9c 100644 --- a/console/thresholds_for_event.go +++ b/console/thresholds_for_event.go @@ -50,7 +50,7 @@ func (self *CmdThresholdsForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdThresholdsForEvent) RpcParams(reset bool) interface{} { +func (self *CmdThresholdsForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -61,7 +61,7 @@ func (self *CmdThresholdsForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdThresholdsForEvent) RpcResult() interface{} { +func (self *CmdThresholdsForEvent) RpcResult() any { var s engine.Thresholds return &s } diff --git a/console/thresholds_process_event.go b/console/thresholds_process_event.go index 1a31fd720..231b0214a 100644 --- a/console/thresholds_process_event.go +++ b/console/thresholds_process_event.go @@ -49,7 +49,7 @@ func (self *CmdThresholdProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdThresholdProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdThresholdProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -63,7 +63,7 @@ func (self *CmdThresholdProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdThresholdProcessEvent) RpcResult() interface{} { +func (self *CmdThresholdProcessEvent) RpcResult() any { var ids []string return &ids } diff --git a/console/thresholds_profile.go b/console/thresholds_profile.go index 15e64612e..366d8c614 100644 --- a/console/thresholds_profile.go +++ b/console/thresholds_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetThresholdProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThresholdProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetThresholdProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantID{} } @@ -59,12 +59,12 @@ func (self *CmdGetThresholdProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetThresholdProfile) RpcResult() interface{} { +func (self *CmdGetThresholdProfile) RpcResult() any { var atr engine.ThresholdProfile return &atr } -func (self *CmdGetThresholdProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetThresholdProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/console/thresholds_profile_ids.go b/console/thresholds_profile_ids.go index 53f858c7b..ed7e17f79 100644 --- a/console/thresholds_profile_ids.go +++ b/console/thresholds_profile_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetThresholdIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThresholdIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetThresholdIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.PaginatorWithTenant{} } @@ -58,7 +58,7 @@ func (self *CmdGetThresholdIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetThresholdIDs) RpcResult() interface{} { +func (self *CmdGetThresholdIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/thresholds_profile_remove.go b/console/thresholds_profile_remove.go index 55bcae56e..d132ac784 100644 --- a/console/thresholds_profile_remove.go +++ b/console/thresholds_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveThreshold) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveThreshold) RpcParams(reset bool) interface{} { +func (self *CmdRemoveThreshold) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveThreshold) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveThreshold) RpcResult() interface{} { +func (self *CmdRemoveThreshold) RpcResult() any { var s string return &s } diff --git a/console/thresholds_profile_set.go b/console/thresholds_profile_set.go index fec58fa1d..b071fb41b 100644 --- a/console/thresholds_profile_set.go +++ b/console/thresholds_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetThreshold) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetThreshold) RpcParams(reset bool) interface{} { +func (self *CmdSetThreshold) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.ThresholdProfileWithAPIOpts{ ThresholdProfile: new(engine.ThresholdProfile), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetThreshold) PostprocessRpcParams() error { return nil } -func (self *CmdSetThreshold) RpcResult() interface{} { +func (self *CmdSetThreshold) RpcResult() any { var s string return &s } diff --git a/console/trigger_remove.go b/console/trigger_remove.go index 551a78d23..bb851c811 100644 --- a/console/trigger_remove.go +++ b/console/trigger_remove.go @@ -49,7 +49,7 @@ func (self *CmdRemoveTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveTriggers) RpcParams(reset bool) interface{} { +func (self *CmdRemoveTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrRemoveActionTrigger{} } @@ -60,7 +60,7 @@ func (self *CmdRemoveTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveTriggers) RpcResult() interface{} { +func (self *CmdRemoveTriggers) RpcResult() any { var s string return &s } diff --git a/console/trigger_set.go b/console/trigger_set.go index 09255b731..d99e7f5c0 100644 --- a/console/trigger_set.go +++ b/console/trigger_set.go @@ -49,7 +49,7 @@ func (self *CmdSetTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetTriggers) RpcParams(reset bool) interface{} { +func (self *CmdSetTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrSetActionTrigger{} } @@ -60,7 +60,7 @@ func (self *CmdSetTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdSetTriggers) RpcResult() interface{} { +func (self *CmdSetTriggers) RpcResult() any { var s string return &s } diff --git a/console/triggers.go b/console/triggers.go index 07b523ad2..ea1a92cc0 100644 --- a/console/triggers.go +++ b/console/triggers.go @@ -50,7 +50,7 @@ func (self *CmdGetTriggers) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetTriggers) RpcParams(reset bool) interface{} { +func (self *CmdGetTriggers) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrGetActionTriggers{} } @@ -61,12 +61,12 @@ func (self *CmdGetTriggers) PostprocessRpcParams() error { return nil } -func (self *CmdGetTriggers) RpcResult() interface{} { +func (self *CmdGetTriggers) RpcResult() any { var atr engine.ActionTriggers return &atr } -func (self *CmdGetTriggers) GetFormatedResult(result interface{}) string { +func (self *CmdGetTriggers) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/cores/caps.go b/cores/caps.go index 1b473a678..be38fd602 100644 --- a/cores/caps.go +++ b/cores/caps.go @@ -94,13 +94,13 @@ func (c *capsServerCodec) ReadRequestHeader(r *rpc.Request) error { return c.sc.ReadRequestHeader(r) } -func (c *capsServerCodec) ReadRequestBody(x interface{}) error { +func (c *capsServerCodec) ReadRequestBody(x any) error { if err := c.caps.Allocate(); err != nil { return err } return c.sc.ReadRequestBody(x) } -func (c *capsServerCodec) WriteResponse(r *rpc.Response, x interface{}) error { +func (c *capsServerCodec) WriteResponse(r *rpc.Response, x any) error { if r.Error == utils.ErrMaxConcurrentRPCExceededNoCaps.Error() { r.Error = utils.ErrMaxConcurrentRPCExceeded.Error() } else { @@ -176,22 +176,22 @@ func (c *capsBiRPCCodec) ReadHeader(req *rpc2.Request, resp *rpc2.Response) (err } // ReadRequestBody into args argument of handler function. -func (c *capsBiRPCCodec) ReadRequestBody(x interface{}) (err error) { +func (c *capsBiRPCCodec) ReadRequestBody(x any) (err error) { return c.sc.ReadRequestBody(x) } // ReadResponseBody into reply argument of handler function. -func (c *capsBiRPCCodec) ReadResponseBody(x interface{}) error { +func (c *capsBiRPCCodec) ReadResponseBody(x any) error { return c.sc.ReadResponseBody(x) } // WriteRequest must be safe for concurrent use by multiple goroutines. -func (c *capsBiRPCCodec) WriteRequest(req *rpc2.Request, x interface{}) error { +func (c *capsBiRPCCodec) WriteRequest(req *rpc2.Request, x any) error { return c.sc.WriteRequest(req, x) } // WriteResponse must be safe for concurrent use by multiple goroutines. -func (c *capsBiRPCCodec) WriteResponse(r *rpc2.Response, x interface{}) error { +func (c *capsBiRPCCodec) WriteResponse(r *rpc2.Response, x any) error { if r.Error == utils.ErrMaxConcurrentRPCExceededNoCaps.Error() { r.Error = utils.ErrMaxConcurrentRPCExceeded.Error() } else { diff --git a/cores/caps_test.go b/cores/caps_test.go index ea3a3f89a..377a20300 100644 --- a/cores/caps_test.go +++ b/cores/caps_test.go @@ -41,10 +41,10 @@ func (c *mockServerCodec) ReadRequestHeader(r *rpc.Request) (err error) { return } -func (c *mockServerCodec) ReadRequestBody(x interface{}) (err error) { +func (c *mockServerCodec) ReadRequestBody(x any) (err error) { return utils.ErrNotImplemented } -func (c *mockServerCodec) WriteResponse(r *rpc.Response, x interface{}) error { +func (c *mockServerCodec) WriteResponse(r *rpc.Response, x any) error { return nil } func (c *mockServerCodec) Close() error { return nil } @@ -147,11 +147,11 @@ func (mockBiRPCCodec) ReadHeader(r *rpc2.Request, _ *rpc2.Response) error { r.Method = utils.CoreSv1Ping return nil } -func (mockBiRPCCodec) ReadRequestBody(interface{}) error { return utils.ErrNotImplemented } -func (mockBiRPCCodec) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec) WriteRequest(*rpc2.Request, interface{}) error { return nil } -func (mockBiRPCCodec) WriteResponse(*rpc2.Response, interface{}) error { return nil } -func (mockBiRPCCodec) Close() error { return nil } +func (mockBiRPCCodec) ReadRequestBody(any) error { return utils.ErrNotImplemented } +func (mockBiRPCCodec) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec) WriteRequest(*rpc2.Request, any) error { return nil } +func (mockBiRPCCodec) WriteResponse(*rpc2.Response, any) error { return nil } +func (mockBiRPCCodec) Close() error { return nil } func TestNewCapsBiRPCCodec(t *testing.T) { mk := new(mockBiRPCCodec) diff --git a/cores/core.go b/cores/core.go index 56263ea40..f6f73270d 100644 --- a/cores/core.go +++ b/cores/core.go @@ -128,10 +128,10 @@ func MemProfiling(memProfDir string, interval time.Duration, nrFiles int, shdWg } // Status returns the status of the engine -func (cS *CoreService) Status(arg *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cS *CoreService) Status(arg *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { memstats := new(runtime.MemStats) runtime.ReadMemStats(memstats) - response := make(map[string]interface{}) + response := make(map[string]any) response[utils.NodeID] = cS.cfg.GeneralCfg().NodeID response[utils.MemoryUsage] = utils.SizeFmt(float64(memstats.HeapAlloc), "") response[utils.ActiveGoroutines] = runtime.NumGoroutine() diff --git a/cores/core_test.go b/cores/core_test.go index ebd43e2df..06f85a072 100644 --- a/cores/core_test.go +++ b/cores/core_test.go @@ -66,16 +66,16 @@ func TestCoreServiceStatus(t *testing.T) { cores := NewCoreService(cfgDflt, caps, nil, "/tmp", stopChan, nil, nil, nil) args := &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } - var reply map[string]interface{} + var reply map[string]any cfgVrs, err := utils.GetCGRVersion() if err != nil { t.Error(err) } - expected := map[string]interface{}{ + expected := map[string]any{ utils.GoVersion: runtime.Version(), utils.RunningSince: "TIME_CHANGED", utils.VersionName: cfgVrs, diff --git a/cores/gob_codec.go b/cores/gob_codec.go index 65f228e14..2a2e32b26 100644 --- a/cores/gob_codec.go +++ b/cores/gob_codec.go @@ -51,11 +51,11 @@ func (c *gobServerCodec) ReadRequestHeader(r *rpc.Request) error { return c.dec.Decode(r) } -func (c *gobServerCodec) ReadRequestBody(body interface{}) error { +func (c *gobServerCodec) ReadRequestBody(body any) error { return c.dec.Decode(body) } -func (c *gobServerCodec) WriteResponse(r *rpc.Response, body interface{}) (err error) { +func (c *gobServerCodec) WriteResponse(r *rpc.Response, body any) (err error) { if err = c.enc.Encode(r); err != nil { if c.encBuf.Flush() == nil { // Gob couldn't encode the header. Should not happen, so if it does, diff --git a/cores/server.go b/cores/server.go index d214e3286..0a98a683e 100644 --- a/cores/server.go +++ b/cores/server.go @@ -67,7 +67,7 @@ func (s *Server) SetAnalyzer(anz *analyzers.AnalyzerService) { s.anz = anz } -func (s *Server) RpcRegister(rcvr interface{}) { +func (s *Server) RpcRegister(rcvr any) { utils.RegisterRpcParams(utils.EmptyString, rcvr) rpc.Register(rcvr) s.Lock() @@ -75,7 +75,7 @@ func (s *Server) RpcRegister(rcvr interface{}) { s.Unlock() } -func (s *Server) RpcRegisterName(name string, rcvr interface{}) { +func (s *Server) RpcRegisterName(name string, rcvr any) { utils.RegisterRpcParams(name, rcvr) rpc.RegisterName(name, rcvr) s.Lock() @@ -108,7 +108,7 @@ func (s *Server) RegisterHttpHandler(pattern string, handler http.Handler) { } // Registers a new BiJsonRpc name -func (s *Server) BiRPCRegisterName(method string, handlerFunc interface{}) { +func (s *Server) BiRPCRegisterName(method string, handlerFunc any) { s.RLock() isNil := s.birpcSrv == nil s.RUnlock() diff --git a/cores/server_it_test.go b/cores/server_it_test.go index ab0a67fb5..63c92c650 100644 --- a/cores/server_it_test.go +++ b/cores/server_it_test.go @@ -94,7 +94,7 @@ func TestServerIT(t *testing.T) { type mockRegister string -func (x *mockRegister) ForTest(method *rpc2.Client, args *interface{}, reply *interface{}) error { +func (x *mockRegister) ForTest(method *rpc2.Client, args *any, reply *any) error { return nil } @@ -735,7 +735,7 @@ func testBiRPCRegisterName(t *testing.T) { caps := engine.NewCaps(0, utils.MetaBusy) server := NewServer(caps) - handler := func(method *rpc2.Client, args *interface{}, reply *interface{}) error { + handler := func(method *rpc2.Client, args *any, reply *any) error { return nil } go server.BiRPCRegisterName(utils.APIerSv1Ping, handler) diff --git a/dispatchers/attributes_it_test.go b/dispatchers/attributes_it_test.go index 0929b6c90..aef978551 100644 --- a/dispatchers/attributes_it_test.go +++ b/dispatchers/attributes_it_test.go @@ -102,7 +102,7 @@ func testDspAttrPingFailover(t *testing.T) { reply = "" ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, } @@ -142,10 +142,10 @@ func testDspAttrPingFailoverNotFoundHost(t *testing.T) { } ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "NonexistingHost", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsDispatchersProfilesCount: 1, }, @@ -185,7 +185,7 @@ func testDspAttrPingFailover2(t *testing.T) { reply = "" ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, } @@ -214,11 +214,11 @@ func testDspAttrGetAttrFailover(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -249,12 +249,12 @@ func testDspAttrGetAttrFailover(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "Event1", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -312,7 +312,7 @@ func testDspAttrPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, }, &reply); err != nil { @@ -326,10 +326,10 @@ func testDspAttrTestMissingArgDispatcher(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } @@ -344,10 +344,10 @@ func testDspAttrTestMissingApiKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } @@ -362,10 +362,10 @@ func testDspAttrTestUnknownApiKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "1234", }, } @@ -380,10 +380,10 @@ func testDspAttrTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", utils.OptsContext: "simpleauth", }, @@ -399,10 +399,10 @@ func testDspAttrTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -445,11 +445,11 @@ func testDspAttrTestAuthKey2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -470,11 +470,11 @@ func testDspAttrTestAuthKey3(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -490,11 +490,11 @@ func testDspAttrGetAttrRoundRobin(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "RoundRobin", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -525,12 +525,12 @@ func testDspAttrGetAttrRoundRobin(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "RoundRobin", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, }, @@ -580,11 +580,11 @@ func testDspAttrGetAttrInternal(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Internal", utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -596,12 +596,12 @@ func testDspAttrGetAttrInternal(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.EventName: "Internal", "Password": "CGRateS.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, diff --git a/dispatchers/caches.go b/dispatchers/caches.go index de5bd08de..b160d6d5d 100644 --- a/dispatchers/caches.go +++ b/dispatchers/caches.go @@ -84,13 +84,13 @@ func (dS *DispatcherService) CacheSv1HasItem(args *utils.ArgsGetCacheItemWithAPI utils.MetaCaches, utils.CacheSv1HasItem, args, reply) } -func (dS *DispatcherService) CacheSv1GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, reply *interface{}) (err error) { +func (dS *DispatcherService) CacheSv1GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, reply *any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -217,13 +217,13 @@ func (dS *DispatcherService) CacheSv1PrecacheStatus(args *utils.AttrCacheIDsWith }, utils.MetaCaches, utils.CacheSv1PrecacheStatus, args, reply) } -func (dS *DispatcherService) CacheSv1GetItemWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts, reply *interface{}) (err error) { +func (dS *DispatcherService) CacheSv1GetItemWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts, reply *any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/caches_it_test.go b/dispatchers/caches_it_test.go index e80dea0f4..4de60d910 100644 --- a/dispatchers/caches_it_test.go +++ b/dispatchers/caches_it_test.go @@ -85,7 +85,7 @@ func testDspChcPing(t *testing.T) { Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, }, &reply); err != nil { @@ -103,7 +103,7 @@ func testDspChcLoadAfterFolder(t *testing.T) { expStats[utils.CacheLoadIDs].Items = 18 expStats[utils.CacheRPCConnections].Items = 2 args := utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -116,7 +116,7 @@ func testDspChcLoadAfterFolder(t *testing.T) { reply := "" // Simple test that command is executed without errors argsR := utils.NewAttrReloadCacheWithOpts() - argsR.APIOpts = map[string]interface{}{ + argsR.APIOpts = map[string]any{ utils.OptsAPIKey: "chc12345", } argsR.Tenant = "cgrates.org" @@ -218,7 +218,7 @@ func testDspChcPrecacheStatus(t *testing.T) { } if err := dispEngine.RPC.Call(utils.CacheSv1PrecacheStatus, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -236,7 +236,7 @@ func testDspChcGetItemIDs(t *testing.T) { ArgsGetCacheItemIDs: utils.ArgsGetCacheItemIDs{ CacheID: utils.CacheChargerProfiles, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -258,7 +258,7 @@ func testDspChcHasItem(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -278,7 +278,7 @@ func testDspChcGetItemExpiryTime(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -293,7 +293,7 @@ func testDspChcGetItemExpiryTime(t *testing.T) { func testDspChcReloadCache(t *testing.T) { reply := "" if err := dispEngine.RPC.Call(utils.CacheSv1ReloadCache, &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -311,7 +311,7 @@ func testDspChcRemoveItem(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -337,7 +337,7 @@ func testDspChcRemoveItem(t *testing.T) { func testDspChcClear(t *testing.T) { reply := "" if err := dispEngine.RPC.Call(utils.CacheSv1Clear, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -349,7 +349,7 @@ func testDspChcClear(t *testing.T) { var rcvStats map[string]*ltcache.CacheStats expStats := engine.GetDefaultEmptyCacheStats() if err := dispEngine.RPC.Call(utils.CacheSv1GetCacheStats, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", diff --git a/dispatchers/cdrs_it_test.go b/dispatchers/cdrs_it_test.go index 4d6c8007a..86902d571 100644 --- a/dispatchers/cdrs_it_test.go +++ b/dispatchers/cdrs_it_test.go @@ -106,7 +106,7 @@ func testDspCDRsPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.CDRsV1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, }, &reply); err != nil { @@ -121,7 +121,7 @@ func testDspCDRsProcessEvent(t *testing.T) { args := &engine.ArgV1ProcessEvent{ CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testDspCDRsProcessEvent", utils.OriginHost: "192.168.1.1", utils.Source: "testDspCDRsProcessEvent", @@ -135,7 +135,7 @@ func testDspCDRsProcessEvent(t *testing.T) { "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, }, @@ -156,7 +156,7 @@ func testDspCDRsCountCDR(t *testing.T) { RunIDs: []string{utils.MetaDefault}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -176,7 +176,7 @@ func testDspCDRsGetCDR(t *testing.T) { RunIDs: []string{utils.MetaDefault}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -197,7 +197,7 @@ func testDspCDRsGetCDRWithoutTenant(t *testing.T) { Accounts: []string{"1001"}, RunIDs: []string{utils.MetaDefault}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -226,7 +226,7 @@ func testDspCDRsProcessCDR(t *testing.T) { AnswerTime: time.Date(2018, 8, 24, 16, 00, 26, 0, time.UTC), Usage: 2 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -246,7 +246,7 @@ func testDspCDRsGetCDR2(t *testing.T) { OriginIDs: []string{"testDspCDRsProcessCDR"}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -279,7 +279,7 @@ func testDspCDRsProcessExternalCDR(t *testing.T) { Usage: "1s", ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -299,7 +299,7 @@ func testDspCDRsGetCDR3(t *testing.T) { OriginIDs: []string{"testDspCDRsProcessExternalCDR"}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -319,7 +319,7 @@ func testDspCDRsV2ProcessEvent(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testDspCDRsV2ProcessEvent", utils.OriginHost: "192.168.1.1", utils.Source: "testDspCDRsV2ProcessEvent", @@ -330,7 +330,7 @@ func testDspCDRsV2ProcessEvent(t *testing.T) { utils.AnswerTime: time.Date(2018, 8, 24, 16, 00, 26, 0, time.UTC), utils.Usage: time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrsv212345", }, }, @@ -369,7 +369,7 @@ func testDspCDRsV2StoreSessionCost(t *testing.T) { Usage: 1536, CostDetails: engine.NewEventCostFromCallCost(cc, "testDspCDRsV2StoreSessionCost", utils.MetaDefault), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrsv212345", }, } @@ -407,7 +407,7 @@ func testDspCDRsProcessEventNoAuth(t *testing.T) { args := &engine.ArgV1ProcessEvent{ CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testDspCDRsProcessEvent", utils.OriginHost: "192.168.1.1", utils.Source: "testDspCDRsProcessEvent", @@ -580,7 +580,7 @@ func testDspCDRsV2ProcessEventNoAuth(t *testing.T) { Flags: []string{utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testDspCDRsV2ProcessEventNoAuth", utils.OriginHost: "192.168.1.1", utils.Source: "testDspCDRsV2ProcessEventNoAuth", diff --git a/dispatchers/chargers_it_test.go b/dispatchers/chargers_it_test.go index 9bfa45072..61c2f4f8d 100644 --- a/dispatchers/chargers_it_test.go +++ b/dispatchers/chargers_it_test.go @@ -78,7 +78,7 @@ func testDspCppPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -105,12 +105,12 @@ func testDspCppGetChtgFailover(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -172,7 +172,7 @@ func testDspCppPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.ChargerSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, }, &reply); err != nil { @@ -186,10 +186,10 @@ func testDspCppTestAuthKey(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -204,11 +204,11 @@ func testDspCppTestAuthKey2(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -251,11 +251,11 @@ func testDspCppGetChtgRoundRobin(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "RoundRobin", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } diff --git a/dispatchers/config.go b/dispatchers/config.go index cfdcfe431..5c43198fa 100644 --- a/dispatchers/config.go +++ b/dispatchers/config.go @@ -25,7 +25,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ConfigSv1GetConfig(args *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) ConfigSv1GetConfig(args *config.SectionWithAPIOpts, reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args.Tenant != utils.EmptyString { tnt = args.Tenant diff --git a/dispatchers/config_it_test.go b/dispatchers/config_it_test.go index 382f93b51..30c50a463 100644 --- a/dispatchers/config_it_test.go +++ b/dispatchers/config_it_test.go @@ -61,7 +61,7 @@ func TestDspConfigIT(t *testing.T) { } func testDspConfigSv1GetJSONSection(t *testing.T) { - expected := map[string]interface{}{ + expected := map[string]any{ "http": ":6080", "http_tls": "127.0.0.1:2280", "rpc_gob": ":6013", @@ -69,13 +69,13 @@ func testDspConfigSv1GetJSONSection(t *testing.T) { "rpc_json": ":6012", "rpc_json_tls": "127.0.0.1:2022", } - expected = map[string]interface{}{ + expected = map[string]any{ "listen": expected, } - var reply map[string]interface{} + var reply map[string]any if err := dispEngine.RPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cfg12345", }, Section: "listen", diff --git a/dispatchers/config_test.go b/dispatchers/config_test.go index 65007c8b8..45e23d505 100644 --- a/dispatchers/config_test.go +++ b/dispatchers/config_test.go @@ -30,7 +30,7 @@ func TestDspConfigSv1GetConfigNil(t *testing.T) { CGREvent := &config.SectionWithAPIOpts{ Tenant: "tenant", } - var reply *map[string]interface{} + var reply *map[string]any result := dspSrv.ConfigSv1GetConfig(CGREvent, reply) expected := "DISPATCHER_ERROR:NO_DATABASE_CONNECTION" if result == nil || result.Error() != expected { @@ -43,7 +43,7 @@ func TestDspConfigSv1GetConfigErrorNil(t *testing.T) { dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} CGREvent := &config.SectionWithAPIOpts{} - var reply *map[string]interface{} + var reply *map[string]any result := dspSrv.ConfigSv1GetConfig(CGREvent, reply) expected := "MANDATORY_IE_MISSING: [ApiKey]" if result == nil || result.Error() != expected { diff --git a/dispatchers/cores.go b/dispatchers/cores.go index ad604c074..feaea8ff4 100644 --- a/dispatchers/cores.go +++ b/dispatchers/cores.go @@ -29,8 +29,8 @@ func (dS *DispatcherService) CoreSv1Panic(args *utils.PanicMessageArgs, reply *s if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -47,11 +47,11 @@ func (dS *DispatcherService) CoreSv1Ping(args *utils.CGREvent, reply *string) (e if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -69,8 +69,8 @@ func (dS *DispatcherService) CoreSv1Sleep(args *utils.DurationArgs, reply *strin if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -88,8 +88,8 @@ func (dS *DispatcherService) CoreSv1StartCPUProfiling(args *utils.DirectoryArgs, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -106,8 +106,8 @@ func (dS *DispatcherService) CoreSv1StartMemoryProfiling(args *utils.MemoryPrf, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -119,13 +119,13 @@ func (dS *DispatcherService) CoreSv1StartMemoryProfiling(args *utils.MemoryPrf, } return dS.Dispatch(&utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StartMemoryProfiling, args, reply) } -func (dS *DispatcherService) CoreSv1Status(args *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) CoreSv1Status(args *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -142,8 +142,8 @@ func (dS *DispatcherService) CoreSv1StopCPUProfiling(args *utils.TenantWithAPIOp if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -160,8 +160,8 @@ func (dS *DispatcherService) CoreSv1StopMemoryProfiling(args *utils.TenantWithAP if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/dispatchers.go b/dispatchers/dispatchers.go index d1dc3bfd1..e699599a4 100644 --- a/dispatchers/dispatchers.go +++ b/dispatchers/dispatchers.go @@ -79,10 +79,10 @@ func (dS *DispatcherService) authorize(method, tenant string, apiKey string, evT Tenant: tenant, ID: utils.UUIDSha1Prefix(), Time: evTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIKey: apiKey, }, - APIOpts: map[string]interface{}{utils.MetaSubsys: utils.MetaDispatchers}, + APIOpts: map[string]any{utils.MetaSubsys: utils.MetaDispatchers}, } var rplyEv engine.AttrSProcessEventReply if err = dS.authorizeEvent(ev, &rplyEv); err != nil { @@ -199,13 +199,13 @@ func (dS *DispatcherService) dispatcherProfilesForEvent(tnt string, ev *utils.CG // Dispatch is the method forwarding the request towards the right connection func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { tnt := ev.Tenant if tnt == utils.EmptyString { tnt = dS.cfg.GeneralCfg().DefaultTenant } if ev.APIOpts == nil { - ev.APIOpts = make(map[string]interface{}) + ev.APIOpts = make(map[string]any) } evNm := utils.MapStorage{ utils.MetaReq: ev.Event, @@ -215,7 +215,7 @@ func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string, utils.MetaMethod: serviceMethod, }, } - dspLoopAPIOpts := map[string]interface{}{ + dspLoopAPIOpts := map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, utils.MetaNodeID: dS.cfg.GeneralCfg().NodeID, } @@ -253,7 +253,7 @@ func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string, CacheID: utils.CacheDispatcherRoutes, ItemID: routeID, }} - var itmRemote interface{} + var itmRemote any if itmRemote, err = engine.Cache.GetWithRemote(argsCache); err == nil && itmRemote != nil { var canCast bool if dR, canCast = itmRemote.(*DispatcherRoute); !canCast { @@ -288,7 +288,7 @@ func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string, serviceMethod, args, reply) } if ev.APIOpts == nil { - ev.APIOpts = make(map[string]interface{}) + ev.APIOpts = make(map[string]any) } ev.APIOpts[utils.MetaSubsys] = utils.MetaDispatchers // inject into args ev.APIOpts[utils.MetaNodeID] = dS.cfg.GeneralCfg().NodeID @@ -333,9 +333,9 @@ func (dS *DispatcherService) V1GetProfilesForEvent(ev *utils.CGREvent, /* // V1Apier is a generic way to cover all APIer methods -func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParameters, reply *interface{}) (err error) { +func (dS *DispatcherService) V1Apier(apier any, args *utils.MethodParameters, reply *any) (err error) { - parameters, canCast := args.Parameters.(map[string]interface{}) + parameters, canCast := args.Parameters.(map[string]any) if !canCast { return utils.NewErrMandatoryIeMissing(utils.ArgDispatcherField) } @@ -388,7 +388,7 @@ func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParame // convert type of reply to the right one based on method realReplyType := methodType.In(1) - var realReply interface{} + var realReply any if realReplyType.Kind() == reflect.Ptr { trply := reflect.New(realReplyType.Elem()).Elem().Interface() realReply = &trply @@ -403,7 +403,7 @@ func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParame // find the type for arg realArgsType := methodType.In(0) // create the arg with the right type for method - var realArgs interface{} = reflect.New(realArgsType).Interface() + var realArgs any = reflect.New(realArgsType).Interface() // populate realArgs with data if err := json.Unmarshal(argsByte, &realArgs); err != nil { return err @@ -428,7 +428,7 @@ func (dS *DispatcherService) V1Apier(apier interface{}, args *utils.MethodParame // Call implements rpcclient.ClientConnector interface for internal RPC func (dS *DispatcherService) Call(serviceMethod string, // all API fuction must be of type: SubsystemMethod - args interface{}, reply interface{}) error { + args any, reply any) error { methodSplit := strings.Split(serviceMethod, ".") if len(methodSplit) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -453,7 +453,7 @@ func (dS *DispatcherService) Call(serviceMethod string, // all API fuction must } func (dS *DispatcherService) DispatcherSv1RemoteStatus(args *utils.TenantWithAPIOpts, - reply *map[string]interface{}) (err error) { + reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args.Tenant != utils.EmptyString { tnt = args.Tenant diff --git a/dispatchers/dispatchers_it_test.go b/dispatchers/dispatchers_it_test.go index bb25766fd..585c7eece 100644 --- a/dispatchers/dispatchers_it_test.go +++ b/dispatchers/dispatchers_it_test.go @@ -51,7 +51,7 @@ func TestDspApierITMongo(t *testing.T) { testDsp(t, sTestsDspApier, "TestDspApier", "all", "all2", "dispatchers_mongo", "tutorial", "oldtutorial", "dispatchers") } -//because we import dispatchers in APIerSv1 we will send information as map[string]interface{} +//because we import dispatchers in APIerSv1 we will send information as map[string]any func testDspApierSetAttributes(t *testing.T) { attrPrf := &engine.AttributeProfileWithAPIOpts{ AttributeProfile: &engine.AttributeProfile{ @@ -73,7 +73,7 @@ func testDspApierSetAttributes(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "apier12345", }, } @@ -113,7 +113,7 @@ func testDspApierGetAttributes(t *testing.T) { if err := dispEngine.RPC.Call(utils.APIerSv1GetAttributeProfile, utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "ATTR_Dispatcher"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey:"apier12345", }, }, &reply); err != nil { @@ -131,7 +131,7 @@ func testDspApierUnkownAPiKey(t *testing.T) { if err := dispEngine.RPC.Call(utils.APIerSv1GetAttributeProfile, utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "ATTR_Dispatcher"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey:"RandomApiKey", }, }, &reply); err == nil || err.Error() != utils.ErrUnknownApiKey.Error() { @@ -181,7 +181,7 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatchertWithoutAuthenti dss := NewDispatcherService(dm, cfg, fltrs, connMng) ev := &utils.CGREvent{ ID: "321", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, diff --git a/dispatchers/dispatchers_test.go b/dispatchers/dispatchers_test.go index c2c3f6f48..d0fff894e 100644 --- a/dispatchers/dispatchers_test.go +++ b/dispatchers/dispatchers_test.go @@ -73,12 +73,12 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherProfileNF(t *tes ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "321", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -148,7 +148,7 @@ func TestDispatcherauthorizeEvent(t *testing.T) { connMgr := &engine.ConnManager{} dsp := NewDispatcherService(dm, cfg, fltr, connMgr) ev := &utils.CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } reply := &engine.AttrSProcessEventReply{} err := dsp.authorizeEvent(ev, reply) @@ -165,7 +165,7 @@ func TestDispatcherAuthorizeEventErr(t *testing.T) { connMgr := &engine.ConnManager{} dsp := NewDispatcherService(dm, cfg, fltr, connMgr) ev := &utils.CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } reply := &engine.AttrSProcessEventReply{} err := dsp.authorizeEvent(ev, reply) @@ -272,7 +272,7 @@ func TestDispatcherServiceAuthorizeEvenError1(t *testing.T) { dsp := NewDispatcherService(dm, cfg, fltr, connMgr) cfg.DispatcherSCfg().AttributeSConns = []string{"connID"} ev := &utils.CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } reply := &engine.AttrSProcessEventReply{} engine.Cache.SetWithoutReplicate(utils.CacheRPCConnections, "connID", @@ -296,7 +296,7 @@ func TestDispatcherServiceAuthorizeEventError2(t *testing.T) { dsp := NewDispatcherService(dm, cfg, fltr, connMgr) cfg.DispatcherSCfg().AttributeSConns = []string{"connID"} ev := &utils.CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } reply := &engine.AttrSProcessEventReply{} value := &engine.DispatcherHost{ @@ -320,7 +320,7 @@ func TestDispatcherServiceAuthorizeEventError2(t *testing.T) { type mockTypeCon2 struct{} -func (*mockTypeCon2) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon2) Call(serviceMethod string, args, reply any) error { return nil } @@ -341,8 +341,8 @@ func TestDispatcherServiceAuthorizeEventError3(t *testing.T) { Tenant: "testTenant", ID: "testID", Time: nil, - Event: map[string]interface{}{}, - APIOpts: make(map[string]interface{}), + Event: map[string]any{}, + APIOpts: make(map[string]any), } value := &engine.DispatcherHost{ Tenant: "testTenant", @@ -367,13 +367,13 @@ func TestDispatcherServiceAuthorizeEventError3(t *testing.T) { type mockTypeCon3 struct{} -func (*mockTypeCon3) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon3) Call(serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIMethods: "yes", }, APIOpts: nil, @@ -419,13 +419,13 @@ func TestDispatcherServiceAuthorizeError(t *testing.T) { type mockTypeCon4 struct{} -func (*mockTypeCon4) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon4) Call(serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", Time: nil, - Event: map[string]interface{}{}, + Event: map[string]any{}, APIOpts: nil, }, } @@ -469,13 +469,13 @@ func TestDispatcherServiceAuthorizeError2(t *testing.T) { type mockTypeCon5 struct{} -func (*mockTypeCon5) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon5) Call(serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIMethods: "testMethod", }, APIOpts: nil, @@ -529,7 +529,7 @@ func TestDispatcherServiceCall1(t *testing.T) { Tenant: "tenantTest", ID: "tenantID", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ "event": "value", }, APIOpts: nil, @@ -567,12 +567,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNil(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -614,12 +614,12 @@ func TestDispatcherV1GetProfileForEventReturn(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -667,12 +667,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAny, }, } @@ -714,12 +714,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound2(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -766,12 +766,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundTime(t *testing.T) Tenant: "cgrates.org", ID: "123", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -814,12 +814,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundFilter(t *testing. ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -862,12 +862,12 @@ func TestDispatcherServiceDispatchDspErr(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -893,7 +893,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { Subsystems: []string{utils.MetaAccounts}, FilterIDs: nil, ActivationInterval: nil, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -915,12 +915,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -974,12 +974,12 @@ func TestDispatcherServiceDispatcherProfileForEventFoundFilter(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1017,12 +1017,12 @@ func TestDispatcherServiceDispatcherProfileForEventNotNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1079,12 +1079,12 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherError(t *testing ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1113,7 +1113,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { Subsystems: []string{utils.MetaAccounts}, FilterIDs: nil, ActivationInterval: nil, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -1135,12 +1135,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1155,7 +1155,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { type mockTypeConSetCache struct{} -func (*mockTypeConSetCache) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeConSetCache) Call(serviceMethod string, args, reply any) error { return utils.ErrNotImplemented } @@ -1181,7 +1181,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { Subsystems: []string{utils.MetaAccounts}, FilterIDs: nil, ActivationInterval: nil, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -1198,12 +1198,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1216,7 +1216,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { engine.Cache = cacheInit } -func (dS *DispatcherService) DispatcherServiceTest(ev *utils.CGREvent, reply *string) (error, interface{}) { +func (dS *DispatcherService) DispatcherServiceTest(ev *utils.CGREvent, reply *string) (error, any) { *reply = utils.Pong return nil, nil } @@ -1232,12 +1232,12 @@ func TestDispatcherServiceCall2(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, }, } @@ -1248,7 +1248,7 @@ func TestDispatcherServiceCall2(t *testing.T) { } } -func (dS *DispatcherService) DispatcherServiceTest2(ev *utils.CGREvent, reply *string) interface{} { +func (dS *DispatcherService) DispatcherServiceTest2(ev *utils.CGREvent, reply *string) any { *reply = utils.Pong return utils.ErrNotImplemented } @@ -1264,12 +1264,12 @@ func TestDispatcherServiceCall3(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, }, } @@ -1296,12 +1296,12 @@ func TestDispatcherServiceCall4(t *testing.T) { Tenant: "cgrates.org", ID: "123", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, }, } @@ -1359,10 +1359,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalses(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1450,10 +1450,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFirstNotFound(t *testing. tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1518,10 +1518,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1586,10 +1586,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseNotFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1651,10 +1651,10 @@ func TestDispatchersdispatcherProfileForEventAnySStrueNotFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1716,10 +1716,10 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } diff --git a/dispatchers/ees.go b/dispatchers/ees.go index 2d87836f3..875fd942b 100644 --- a/dispatchers/ees.go +++ b/dispatchers/ees.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) EeSv1Ping(args *utils.CGREvent, reply *string) (err if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -47,16 +47,16 @@ func (dS *DispatcherService) EeSv1Ping(args *utils.CGREvent, reply *string) (err return dS.Dispatch(&utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.EeSv1Ping, args, reply) } -func (dS *DispatcherService) EeSv1ProcessEvent(args *engine.CGREventWithEeIDs, reply *map[string]map[string]interface{}) (err error) { +func (dS *DispatcherService) EeSv1ProcessEvent(args *engine.CGREventWithEeIDs, reply *map[string]map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/ees_it_test.go b/dispatchers/ees_it_test.go index e9303f8f7..3a27196fd 100644 --- a/dispatchers/ees_it_test.go +++ b/dispatchers/ees_it_test.go @@ -73,7 +73,7 @@ func testDspEEsPingFailover(t *testing.T) { } ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ees12345", }, } @@ -101,17 +101,17 @@ func testDspEEsProcessEventFailover(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ees12345", }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := dispEngine.RPC.Call(utils.EeSv1ProcessEvent, args, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) @@ -134,7 +134,7 @@ func testDspEEsPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.EeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ees12345", }, }, &reply); err != nil { @@ -149,15 +149,15 @@ func testDspEEsTestAuthKey(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := dispEngine.RPC.Call(utils.EeSv1ProcessEvent, args, &reply); err == nil || err.Error() != utils.ErrUnauthorizedApi.Error() { t.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ErrUnauthorizedApi.Error(), err) @@ -169,15 +169,15 @@ func testDspEEsTestAuthKey2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ees12345", }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := dispEngine.RPC.Call(utils.EeSv1ProcessEvent, args, &reply); err != nil { t.Error(err) @@ -191,16 +191,16 @@ func testDspEEsProcessEventRoundRobin(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "RoundRobin", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ees12345", }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any // To ALL2 if err := dispEngine.RPC.Call(utils.EeSv1ProcessEvent, args, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { diff --git a/dispatchers/guardian_it_test.go b/dispatchers/guardian_it_test.go index 4c89d2702..c3d222ae5 100644 --- a/dispatchers/guardian_it_test.go +++ b/dispatchers/guardian_it_test.go @@ -71,7 +71,7 @@ func testDspGrdPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &reply); err != nil { @@ -92,7 +92,7 @@ func testDspGrdLock(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1RemoteLock, &AttrRemoteLockWithAPIOpts{ AttrRemoteLock: args, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &reply); err != nil { @@ -103,7 +103,7 @@ func testDspGrdLock(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1RemoteUnlock, &AttrRemoteUnlockWithAPIOpts{ RefID: reply, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &unlockReply); err != nil { diff --git a/dispatchers/libdispatcher.go b/dispatchers/libdispatcher.go index 036eaacd0..6aabb14b2 100644 --- a/dispatchers/libdispatcher.go +++ b/dispatchers/libdispatcher.go @@ -80,7 +80,7 @@ type Dispatcher interface { // Dispatch is used to send the method over the connections given Dispatch(dm *engine.DataManager, flts *engine.FilterS, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) + serviceMethod string, args any, reply any) (err error) } // newDispatcher constructs instances of Dispatcher @@ -169,7 +169,7 @@ func (rs *roundRobinSort) Sort(fltrs *engine.FilterS, ev utils.DataProvider, tnt } // newSingleDispatcher is the constructor for singleDispatcher struct -func newSingleDispatcher(hosts engine.DispatcherHostProfiles, params map[string]interface{}, tntID string, sorter hostSorter) (_ Dispatcher, err error) { +func newSingleDispatcher(hosts engine.DispatcherHostProfiles, params map[string]any, tntID string, sorter hostSorter) (_ Dispatcher, err error) { if dflt, has := params[utils.MetaDefaultRatio]; has { var ratio int64 if ratio, err = utils.IfaceAsTInt64(dflt); err != nil { @@ -207,7 +207,7 @@ type singleResultDispatcher struct { func (sd *singleResultDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { if dR != nil && dR.HostID != utils.EmptyString { // route to previously discovered route return callDHwithID(tnt, dR.HostID, routeID, dR, dm, serviceMethod, args, reply) @@ -251,7 +251,7 @@ type broadcastDispatcher struct { func (b *broadcastDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { var hostIDs []string if hostIDs, err = getDispatcherHosts(flts, ev, tnt, b.hosts); err != nil { return @@ -299,7 +299,7 @@ type loadDispatcher struct { func (ld *loadDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { var lM *LoadMetrics if x, ok := engine.Cache.Get(utils.CacheDispatcherLoads, ld.tntID); ok && x != nil { var canCast bool @@ -437,16 +437,16 @@ type lazyDH struct { dR *DispatcherRoute } -func (l *lazyDH) Call(method string, args, reply interface{}) (err error) { +func (l *lazyDH) Call(method string, args, reply any) (err error) { return callDH(l.dh, l.routeID, l.dR, method, args, reply) } func callDH(dh *engine.DispatcherHost, routeID string, dR *DispatcherRoute, - method string, args, reply interface{}) (err error) { + method string, args, reply any) (err error) { if routeID != utils.EmptyString { // cache the discovered route before dispatching argsCache := &utils.ArgCacheReplicateSet{ Tenant: dh.Tenant, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, utils.MetaNodeID: config.CgrConfig().GeneralCfg().NodeID, }, @@ -472,7 +472,7 @@ func callDH(dh *engine.DispatcherHost, routeID string, dR *DispatcherRoute, // callDHwithID is a wrapper on callDH using ID of the host, will also cache once the call is successful func callDHwithID(tnt, hostID, routeID string, dR *DispatcherRoute, dm *engine.DataManager, - serviceMethod string, args, reply interface{}) (err error) { + serviceMethod string, args, reply any) (err error) { var dH *engine.DispatcherHost if dH, err = dm.GetDispatcherHost(tnt, hostID, true, true, utils.NonTransactional); err != nil { return diff --git a/dispatchers/libdispatcher_test.go b/dispatchers/libdispatcher_test.go index 572b9b0ae..3ae681c97 100644 --- a/dispatchers/libdispatcher_test.go +++ b/dispatchers/libdispatcher_test.go @@ -31,11 +31,11 @@ import ( func TestLoadMetricsGetHosts(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, } lm, err := newLoadMetrics(dhp, 1) if err != nil { @@ -73,7 +73,7 @@ func TestNewSingleDispatcher(t *testing.T) { {ID: "DSP_5"}, } var exp Dispatcher = &singleResultDispatcher{hosts: dhp} - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{}, utils.EmptyString, nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{}, utils.EmptyString, nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: singleResultDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -84,14 +84,14 @@ func TestNewSingleDispatcher(t *testing.T) { {ID: "DSP_2"}, {ID: "DSP_3"}, {ID: "DSP_4"}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, } exp = &loadDispatcher{ hosts: dhp, tntID: "cgrates.org", defaultRatio: 1, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -108,7 +108,7 @@ func TestNewSingleDispatcher(t *testing.T) { tntID: "cgrates.org", defaultRatio: 2, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: 2}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: 2}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -119,21 +119,21 @@ func TestNewSingleDispatcher(t *testing.T) { tntID: "cgrates.org", defaultRatio: 0, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: 0}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: 0}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) } - if _, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: "A"}, "cgrates.org", nil); err == nil { + if _, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: "A"}, "cgrates.org", nil); err == nil { t.Fatalf("Expected error received: %v", err) } } func TestNewLoadMetrics(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 0}}, {ID: "DSP_3"}, } exp := &LoadMetrics{ @@ -150,7 +150,7 @@ func TestNewLoadMetrics(t *testing.T) { t.Errorf("Expected: %s ,received: %s", utils.ToJSON(exp), utils.ToJSON(lm)) } dhp = engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: "A"}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: "A"}}, } if _, err := newLoadMetrics(dhp, 2); err == nil { t.Errorf("Expected error received: %v", err) @@ -159,12 +159,12 @@ func TestNewLoadMetrics(t *testing.T) { func TestLoadMetricsGetHosts2(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 2}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 3}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 5}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_6", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 2}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 3}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 5}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_6", Params: map[string]any{utils.MetaRatio: 0}}, } lm, err := newLoadMetrics(dhp, 1) if err != nil { @@ -215,12 +215,12 @@ func TestLoadMetricsGetHosts2(t *testing.T) { } dhp = engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: -1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 3}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 5}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_6", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: -1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 3}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 5}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_6", Params: map[string]any{utils.MetaRatio: 0}}, } lm, err = newLoadMetrics(dhp, 1) if err != nil { @@ -263,7 +263,7 @@ func TestLibDispatcherNewDispatcherMetaWeight(t *testing.T) { func TestLibDispatcherNewDispatcherMetaWeightErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaWeight, @@ -300,7 +300,7 @@ func TestLibDispatcherNewDispatcherMetaRandom(t *testing.T) { func TestLibDispatcherNewDispatcherMetaRandomErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaRandom, @@ -337,7 +337,7 @@ func TestLibDispatcherNewDispatcherMetaRoundRobin(t *testing.T) { func TestLibDispatcherNewDispatcherMetaRoundRobinErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaRoundRobin, @@ -463,7 +463,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseCallError2(t *testing.T) { ID: "testID2", // FilterIDs: []string{"filterID"}, Weight: 4, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: false, @@ -493,7 +493,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseHostsCastError(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID"}, Weight: 4, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: false, @@ -518,7 +518,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseHostsCastError2(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID"}, Weight: 4, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: false, }, Blocker: false, @@ -562,7 +562,7 @@ func TestLibDispatcherSingleResultDispatcherCastError(t *testing.T) { type mockTypeCon struct{} -func (*mockTypeCon) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon) Call(serviceMethod string, args, reply any) error { return utils.ErrNotFound } @@ -717,7 +717,7 @@ func TestLibDispatcherLoadDispatcherCacheError7(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID1", "filterID2"}, Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: true, @@ -726,7 +726,7 @@ func TestLibDispatcherLoadDispatcherCacheError7(t *testing.T) { ID: "testID2", // FilterIDs: []string{"filterID1", "filterID2"}, Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 2, }, Blocker: true, @@ -745,7 +745,7 @@ func TestLibDispatcherLoadDispatcherCacheError7(t *testing.T) { type mockTypeConDispatch struct{} -func (*mockTypeConDispatch) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeConDispatch) Call(serviceMethod string, args, reply any) error { return rpc.ErrShutdown } @@ -779,7 +779,7 @@ func TestLibDispatcherLoadDispatcherCacheError5(t *testing.T) { { ID: "testID", Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: true, @@ -828,7 +828,7 @@ func TestLibDispatcherSingleResultDispatcherCase1(t *testing.T) { type mockTypeConDispatch2 struct{} -func (*mockTypeConDispatch2) Call(serviceMethod string, args, reply interface{}) error { +func (*mockTypeConDispatch2) Call(serviceMethod string, args, reply any) error { return nil } diff --git a/dispatchers/rals_it_test.go b/dispatchers/rals_it_test.go index 4d983c6d9..100bca257 100644 --- a/dispatchers/rals_it_test.go +++ b/dispatchers/rals_it_test.go @@ -70,7 +70,7 @@ func testDspRALsPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.RALsV1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rals12345", }, }, &reply); err != nil { @@ -86,7 +86,7 @@ func testDspRALsGetRatingPlanCost(t *testing.T) { RatingPlanIDs: []string{"RP_1001", "RP_1002"}, SetupTime: utils.MetaNow, Usage: "1h", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rals12345", }, } diff --git a/dispatchers/replicator_it_test.go b/dispatchers/replicator_it_test.go index 7ce1e2ba5..e7e08f06c 100644 --- a/dispatchers/replicator_it_test.go +++ b/dispatchers/replicator_it_test.go @@ -100,7 +100,7 @@ func testDspRplPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -140,7 +140,7 @@ func testDspRplAccount(t *testing.T) { AllowNegative: true, Disabled: true, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -153,7 +153,7 @@ func testDspRplAccount(t *testing.T) { var reply *engine.Account argsGetAccount := &utils.StringWithAPIOpts{ Arg: "cgrates.org:1008", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -177,7 +177,7 @@ func testDspRplAccount(t *testing.T) { // Remove Account if err := dispEngine.RPC.Call(utils.ReplicatorSv1RemoveAccount, &utils.StringWithAPIOpts{ Arg: "cgrates.org:1008", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, }, &replyStr); err != nil { @@ -199,7 +199,7 @@ func testDspRplSupplierProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -217,7 +217,7 @@ func testDspRplSupplierProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -260,7 +260,7 @@ func testDspRplAttributeProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -277,7 +277,7 @@ func testDspRplAttributeProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -320,7 +320,7 @@ func testDspRplChargerProfile(t *testing.T) { ID: "id", Tenant: "cgrates.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -336,7 +336,7 @@ func testDspRplChargerProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -379,7 +379,7 @@ func testDspRplDispatcherProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -395,7 +395,7 @@ func testDspRplDispatcherProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -440,7 +440,7 @@ func testDspRplDispatcherHost(t *testing.T) { ID: "ID", }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -456,7 +456,7 @@ func testDspRplDispatcherHost(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -499,7 +499,7 @@ func testDspRplFilter(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -515,7 +515,7 @@ func testDspRplFilter(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -558,7 +558,7 @@ func testDspRplThreshold(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -574,7 +574,7 @@ func testDspRplThreshold(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -617,7 +617,7 @@ func testDspRplThresholdProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -633,7 +633,7 @@ func testDspRplThresholdProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -676,7 +676,7 @@ func testDspRplStatQueue(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -692,7 +692,7 @@ func testDspRplStatQueue(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -735,7 +735,7 @@ func testDspRplStatQueueProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -751,7 +751,7 @@ func testDspRplStatQueueProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -794,7 +794,7 @@ func testDspRplResource(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -810,7 +810,7 @@ func testDspRplResource(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -853,7 +853,7 @@ func testDspRplResourceProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -869,7 +869,7 @@ func testDspRplResourceProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -913,7 +913,7 @@ func testDspRplTiming(t *testing.T) { Years: utils.Years{1999}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -927,7 +927,7 @@ func testDspRplTiming(t *testing.T) { argsTiming := &utils.StringWithAPIOpts{ Arg: "testTimings", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -969,7 +969,7 @@ func testDspRplActionTriggers(t *testing.T) { Key: "testActionTriggers", Attrs: engine.ActionTriggers{ &engine.ActionTrigger{ID: "testActionTriggers"}}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -983,7 +983,7 @@ func testDspRplActionTriggers(t *testing.T) { argsActionTriggers := &utils.StringWithAPIOpts{ Arg: "testActionTriggers", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1023,7 +1023,7 @@ func testDspRplSharedGroup(t *testing.T) { SharedGroup: &engine.SharedGroup{ Id: "IDSharedGroup", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1037,7 +1037,7 @@ func testDspRplSharedGroup(t *testing.T) { argsSharedGroup := &utils.StringWithAPIOpts{ Arg: "IDSharedGroup", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1082,7 +1082,7 @@ func testDspRplActions(t *testing.T) { }, Key: "KeyActions", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1096,7 +1096,7 @@ func testDspRplActions(t *testing.T) { argsActions := &utils.StringWithAPIOpts{ Arg: "KeyActions", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1148,7 +1148,7 @@ func testDspRplActionPlan(t *testing.T) { }, Key: "KeyActionPlan", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1162,7 +1162,7 @@ func testDspRplActionPlan(t *testing.T) { argsActionPlan := &utils.StringWithAPIOpts{ Arg: "KeyActionPlan", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1202,7 +1202,7 @@ func testDspRplAccountActionPlans(t *testing.T) { AplIDs: []string{"KeyAccountActionPlans"}, AcntID: "KeyAccountActionPlans", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1216,7 +1216,7 @@ func testDspRplAccountActionPlans(t *testing.T) { argsAccountActionPlans := &utils.StringWithAPIOpts{ Arg: "KeyAccountActionPlans", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1261,7 +1261,7 @@ func testDspRplRatingPlan(t *testing.T) { Timings: map[string]*engine.RITiming{"Timings": {Months: utils.Months{4}}}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1275,7 +1275,7 @@ func testDspRplRatingPlan(t *testing.T) { argsRatingPlan := &utils.StringWithAPIOpts{ Arg: "id", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1318,7 +1318,7 @@ func testDspRplRatingProfile(t *testing.T) { &engine.RatingPlanActivation{RatingPlanId: "RatingPlanId"}}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1332,7 +1332,7 @@ func testDspRplRatingProfile(t *testing.T) { argsRatingProfile := &utils.StringWithAPIOpts{ Arg: "idRatingProfile", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1373,7 +1373,7 @@ func testDspRplDestination(t *testing.T) { Destination: &engine.Destination{ Id: "idDestination"}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1387,7 +1387,7 @@ func testDspRplDestination(t *testing.T) { argsDestination := &utils.StringWithAPIOpts{ Arg: "idDestination", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1428,7 +1428,7 @@ func testDspRplLoadIDs(t *testing.T) { "LoadID1": 1, "LoadID2": 2}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1442,7 +1442,7 @@ func testDspRplLoadIDs(t *testing.T) { argsLoadIDs := &utils.StringWithAPIOpts{ Arg: "idLoadIDs", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } diff --git a/dispatchers/resources_it_test.go b/dispatchers/resources_it_test.go index bb974aebc..d2c0c9560 100644 --- a/dispatchers/resources_it_test.go +++ b/dispatchers/resources_it_test.go @@ -75,7 +75,7 @@ func testDspResPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, } @@ -107,7 +107,7 @@ func testDspResPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.ResourceSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, }, &reply); err != nil { @@ -122,11 +122,11 @@ func testDspResTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", utils.OptsResourcesUsageID: utils.UUIDSha1Prefix(), }, @@ -143,11 +143,11 @@ func testDspResTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: utils.UUIDSha1Prefix(), }, @@ -174,11 +174,11 @@ func testDspResTestAuthKey3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 1, @@ -201,11 +201,11 @@ func testDspResTestAuthKey3(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 17, @@ -220,11 +220,11 @@ func testDspResTestAuthKey3(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", }, @@ -238,11 +238,11 @@ func testDspResTestAuthKey3(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, @@ -257,11 +257,11 @@ func testDspResTestAuthKey3(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event5", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", }, @@ -288,7 +288,7 @@ func testDspResTestAuthKey3(t *testing.T) { var r *engine.Resource argsGetResource := &utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "ResGroup1"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, } diff --git a/dispatchers/responder.go b/dispatchers/responder.go index 32943649c..3547bfb33 100644 --- a/dispatchers/responder.go +++ b/dispatchers/responder.go @@ -122,7 +122,7 @@ func (dS *DispatcherService) ResponderShutdown(args *utils.TenantWithAPIOpts, }, utils.MetaResponder, utils.ResponderShutdown, args, reply) } -func (dS *DispatcherService) ResponderGetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) ResponderGetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]any) (err error) { tnt := utils.FirstNonEmpty(arg.Tenant, dS.cfg.GeneralCfg().DefaultTenant) if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { if err = dS.authorize(utils.ResponderGetCostOnRatingPlans, tnt, @@ -136,7 +136,7 @@ func (dS *DispatcherService) ResponderGetCostOnRatingPlans(arg *utils.GetCostOnR }, utils.MetaResponder, utils.ResponderGetCostOnRatingPlans, arg, reply) } -func (dS *DispatcherService) ResponderGetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) ResponderGetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]any) (err error) { tnt := utils.FirstNonEmpty(arg.Tenant, dS.cfg.GeneralCfg().DefaultTenant) if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { if err = dS.authorize(utils.ResponderGetMaxSessionTimeOnAccounts, tnt, diff --git a/dispatchers/responder_it_test.go b/dispatchers/responder_it_test.go index 5b58d8699..6c7b0e079 100644 --- a/dispatchers/responder_it_test.go +++ b/dispatchers/responder_it_test.go @@ -67,7 +67,7 @@ func TestDspResponder(t *testing.T) { } func testDspResponderStatus(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any if err := allEngine.RPC.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &reply); err != nil { t.Error(err) } else if reply[utils.NodeID] != "ALL" { @@ -75,7 +75,7 @@ func testDspResponderStatus(t *testing.T) { } ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", }, } @@ -94,22 +94,22 @@ func testDspResponderStatus(t *testing.T) { } func getNodeWithRoute(route string, t *testing.T) string { - var reply map[string]interface{} + var reply map[string]any var pingReply string pingEv := utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Random", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", utils.OptsRouteID: route, }, } ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", utils.OptsRouteID: route, }, @@ -141,10 +141,10 @@ func testDspResponderRandom(t *testing.T) { func testDspResponderShutdown(t *testing.T) { var reply string - var statusReply map[string]interface{} + var statusReply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", }, } @@ -171,11 +171,11 @@ func testDspResponderBroadcast(t *testing.T) { var pingReply string pingEv := utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Broadcast", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", }, } @@ -203,23 +203,23 @@ func testDspResponderBroadcast(t *testing.T) { } func testDspResponderInternal(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any var pingReply string route := "internal" pingEv := utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Internal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", utils.OptsRouteID: route, }, } ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rsp12345", utils.OptsRouteID: route, }, diff --git a/dispatchers/routes_it_test.go b/dispatchers/routes_it_test.go index 3c1d3e984..22594459a 100644 --- a/dispatchers/routes_it_test.go +++ b/dispatchers/routes_it_test.go @@ -81,7 +81,7 @@ func testDspSupPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.RouteSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, }, &reply); err != nil { @@ -101,7 +101,7 @@ func testDspSupPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -133,7 +133,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -146,7 +146,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3166, utils.RatingPlanID: "RP_1002_LOW", utils.Weight: 10.0, @@ -155,7 +155,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6334, utils.RatingPlanID: "RP_1002", utils.Weight: 20.0, @@ -167,7 +167,7 @@ func testDspSupGetSupFailover(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1002", utils.Subject: "1002", @@ -176,7 +176,7 @@ func testDspSupGetSupFailover(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -201,7 +201,7 @@ func testDspSupTestAuthKey(t *testing.T) { args := &utils.CGREvent{ ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -209,7 +209,7 @@ func testDspSupTestAuthKey(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -228,7 +228,7 @@ func testDspSupTestAuthKey2(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3166, utils.RatingPlanID: "RP_1002_LOW", utils.Weight: 10.0, @@ -237,7 +237,7 @@ func testDspSupTestAuthKey2(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6334, utils.RatingPlanID: "RP_1002", utils.Weight: 20.0, @@ -249,7 +249,7 @@ func testDspSupTestAuthKey2(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -257,7 +257,7 @@ func testDspSupTestAuthKey2(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -278,7 +278,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -291,7 +291,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3166, utils.RatingPlanID: "RP_1002_LOW", utils.Weight: 10.0, @@ -300,7 +300,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6334, utils.RatingPlanID: "RP_1002", utils.Weight: 20.0, @@ -312,7 +312,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "RoundRobin", utils.AccountField: "1002", utils.Subject: "1002", @@ -321,7 +321,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -343,7 +343,7 @@ func testDspSupGetSupplierForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetHighestCostSuppliers", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -351,7 +351,7 @@ func testDspSupGetSupplierForEvent(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } diff --git a/dispatchers/scheduler_it_test.go b/dispatchers/scheduler_it_test.go index 171f3988c..c01964d7e 100644 --- a/dispatchers/scheduler_it_test.go +++ b/dispatchers/scheduler_it_test.go @@ -69,7 +69,7 @@ func testDspSchedPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.SchedulerSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sched12345", }, }, &reply); err != nil { diff --git a/dispatchers/sessions_it_test.go b/dispatchers/sessions_it_test.go index 61bdbfa30..886bd4b62 100644 --- a/dispatchers/sessions_it_test.go +++ b/dispatchers/sessions_it_test.go @@ -96,7 +96,7 @@ func testDspSessionAddBalacne(t *testing.T) { Account: "1001", BalanceType: utils.MetaVoice, Value: float64(initUsage), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "SessionBalance", utils.RatingSubject: "*zero5ms", }, @@ -142,7 +142,7 @@ func testDspSessionPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.SessionSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &reply); err != nil { @@ -162,7 +162,7 @@ func testDspSessionPingFailover(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } @@ -195,7 +195,7 @@ func testDspSessionTestAuthKey(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -207,7 +207,7 @@ func testDspSessionTestAuthKey(t *testing.T) { utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, }, @@ -229,7 +229,7 @@ func testDspSessionAuthorize(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -242,7 +242,7 @@ func testDspSessionAuthorize(t *testing.T) { utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", utils.OptsRoutesProfileCount: 1., }, @@ -282,7 +282,7 @@ func testDspSessionInit(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -296,7 +296,7 @@ func testDspSessionInit(t *testing.T) { utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -316,7 +316,7 @@ func testDspSessionInit(t *testing.T) { func testDspGetSessions(t *testing.T) { filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -358,7 +358,7 @@ func testDspSessionUpdate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -372,7 +372,7 @@ func testDspSessionUpdate(t *testing.T) { utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -388,7 +388,7 @@ func testDspSessionUpdate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -402,7 +402,7 @@ func testDspSessionUpdate(t *testing.T) { utils.Usage: float64(reqUsage), utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", "*attrProfileIDs": nil, utils.MetaSubsys: utils.MetaSessionS, @@ -431,7 +431,7 @@ func testDspSessionUpdate2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -444,7 +444,7 @@ func testDspSessionUpdate2(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -461,7 +461,7 @@ func testDspSessionUpdate2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -477,7 +477,7 @@ func testDspSessionUpdate2(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: float64(reqUsage), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", "*attrProfileIDs": nil, utils.MetaSubsys: utils.MetaSessionS, @@ -510,7 +510,7 @@ func testDspSessionTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -524,7 +524,7 @@ func testDspSessionTerminate(t *testing.T) { utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -543,7 +543,7 @@ func testDspSessionProcessCDR(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -555,7 +555,7 @@ func testDspSessionProcessCDR(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } @@ -579,7 +579,7 @@ func testDspSessionProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebac", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -594,7 +594,7 @@ func testDspSessionProcessEvent(t *testing.T) { utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -617,7 +617,7 @@ func testDspSessionProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebac", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -632,7 +632,7 @@ func testDspSessionProcessEvent(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", "*attrProfileIDs": nil, "*rsUnits": 1., @@ -661,7 +661,7 @@ func testDspSessionProcessEvent2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -676,7 +676,7 @@ func testDspSessionProcessEvent2(t *testing.T) { utils.EventName: "Internal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", }, }, @@ -699,7 +699,7 @@ func testDspSessionProcessEvent2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -713,7 +713,7 @@ func testDspSessionProcessEvent2(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", "*attrProfileIDs": nil, "*rsUnits": 1., @@ -752,7 +752,7 @@ func testDspSessionReplicate(t *testing.T) { testDspSessionInit(t) if err := dispEngine.RPC.Call(utils.SessionSv1ReplicateSessions, &ArgsReplicateSessionsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -782,7 +782,7 @@ func testDspSessionPassive(t *testing.T) { testDspSessionUpdate2(t) var repl int filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -815,7 +815,7 @@ func testDspSessionPassive(t *testing.T) { CGRID: rply[0].CGRID, Tenant: rply[0].Tenant, ResourceID: "TestSSv1It1", - EventStart: engine.NewMapEvent(map[string]interface{}{ + EventStart: engine.NewMapEvent(map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -830,7 +830,7 @@ func testDspSessionPassive(t *testing.T) { }), SRuns: []*sessions.SRun{ { - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ "RunID": "CustomerCharges", utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", @@ -851,7 +851,7 @@ func testDspSessionPassive(t *testing.T) { TotalUsage: 10 * time.Minute, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &reply); err != nil { @@ -884,7 +884,7 @@ func testDspSessionForceDisconect(t *testing.T) { testDspSessionInit(t) var repl int filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -939,7 +939,7 @@ func testDspSessionProcessEvent3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It2", @@ -952,7 +952,7 @@ func testDspSessionProcessEvent3(t *testing.T) { utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", }, }, @@ -966,7 +966,7 @@ func testDspSessionProcessEvent3(t *testing.T) { var repl int if err := dispEngine.RPC.Call(utils.SessionSv1GetActiveSessionsCount, utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -984,7 +984,7 @@ func testDspSessionGetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItGetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost", @@ -996,7 +996,7 @@ func testDspSessionGetCost(t *testing.T) { utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -1027,7 +1027,7 @@ func testDspSessionSTIRAuthenticate(t *testing.T) { DestinationTn: "1002", Identity: "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiL3Vzci9zaGFyZS9jZ3JhdGVzL3N0aXIvc3Rpcl9wdWJrZXkucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxMDAyIl19LCJpYXQiOjE1ODcwMzg4MDIsIm9yaWciOnsidG4iOiIxMDAxIn0sIm9yaWdpZCI6IjEyMzQ1NiJ9.cMEMlFnfyTu8uxfeU4RoZTamA7ifFT9Ibwrvi1_LKwL2xAU6fZ_CSIxKbtyOpNhM_sV03x7CfA_v0T4sHkifzg;info=;ppt=shaken", OriginatorTn: "1001", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &rply); err != nil { @@ -1049,7 +1049,7 @@ func testDspSessionSTIRIdentity(t *testing.T) { PublicKeyPath: "/usr/share/cgrates/stir/stir_pubkey.pem", PrivateKeyPath: "/usr/share/cgrates/stir/stir_privatekey.pem", OverwriteIAT: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } diff --git a/dispatchers/stats_it_test.go b/dispatchers/stats_it_test.go index 293fa977a..83661186b 100644 --- a/dispatchers/stats_it_test.go +++ b/dispatchers/stats_it_test.go @@ -76,7 +76,7 @@ func testDspStsPingFailover(t *testing.T) { } ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, } @@ -106,7 +106,7 @@ func testDspStsGetStatFailover(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -116,7 +116,7 @@ func testDspStsGetStatFailover(t *testing.T) { utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, } @@ -127,7 +127,7 @@ func testDspStsGetStatFailover(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -160,7 +160,7 @@ func testDspStsPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.StatSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { @@ -175,13 +175,13 @@ func testDspStsTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, utils.Cost: 123.0, utils.PDD: 12 * time.Second}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -191,7 +191,7 @@ func testDspStsTestAuthKey(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, TenantID: &utils.TenantID{ @@ -214,14 +214,14 @@ func testDspStsTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, utils.Cost: 123.0, utils.RunID: utils.MetaDefault, utils.Destination: "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, } @@ -232,7 +232,7 @@ func testDspStsTestAuthKey2(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -255,7 +255,7 @@ func testDspStsTestAuthKey2(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -263,7 +263,7 @@ func testDspStsTestAuthKey2(t *testing.T) { utils.Cost: 10.0, utils.Destination: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, } @@ -290,7 +290,7 @@ func testDspStsTestAuthKey3(t *testing.T) { var metrics map[string]float64 args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -314,7 +314,7 @@ func testDspStsTestAuthKey3(t *testing.T) { if err := dispEngine.RPC.Call(utils.StatSv1GetQueueIDs, &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { @@ -330,7 +330,7 @@ func testDspStsTestAuthKey3(t *testing.T) { if err := dispEngine.RPC.Call(utils.StatSv1GetStatQueuesForEvent, &utils.CGREvent{ Tenant: "cgrates.org", ID: "GetStats", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 45 * time.Second, @@ -338,7 +338,7 @@ func testDspStsTestAuthKey3(t *testing.T) { utils.Cost: 10.0, utils.Destination: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { diff --git a/dispatchers/thresholds_it_test.go b/dispatchers/thresholds_it_test.go index ec9ddae4f..139579ffd 100644 --- a/dispatchers/thresholds_it_test.go +++ b/dispatchers/thresholds_it_test.go @@ -78,7 +78,7 @@ func testDspThPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -109,11 +109,11 @@ func testDspThProcessEventFailover(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -141,7 +141,7 @@ func testDspThPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.ThresholdSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &reply); err != nil { @@ -158,10 +158,10 @@ func testDspThTestAuthKey(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -185,10 +185,10 @@ func testDspThTestAuthKey2(t *testing.T) { Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), Time: &nowTime, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -229,7 +229,7 @@ func testDspThTestAuthKey3(t *testing.T) { Tenant: "cgrates.org", ID: "THD_ACNT_1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &th); err != nil { @@ -247,7 +247,7 @@ func testDspThTestAuthKey3(t *testing.T) { if err := dispEngine.RPC.Call(utils.ThresholdSv1GetThresholdIDs, &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &ids); err != nil { diff --git a/dispatchers/utils.go b/dispatchers/utils.go index 896a76087..46d8e8cfa 100644 --- a/dispatchers/utils.go +++ b/dispatchers/utils.go @@ -29,25 +29,25 @@ import ( ) type ArgsReplicateSessionsWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string sessions.ArgsReplicateSessions } type AttrRemoteLockWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string utils.AttrRemoteLock } type AttrRemoteUnlockWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string RefID string } type ArgStartServiceWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string servmanager.ArgStartService } diff --git a/ees/amqp.go b/ees/amqp.go index 15782efb4..63149437e 100644 --- a/ees/amqp.go +++ b/ees/amqp.go @@ -136,7 +136,7 @@ func (pstr *AMQPee) Connect() (err error) { return } -func (pstr *AMQPee) ExportEvent(content interface{}, _ string) (err error) { +func (pstr *AMQPee) ExportEvent(content any, _ string) (err error) { pstr.reqs.get() pstr.RLock() if pstr.postChan == nil { diff --git a/ees/amqp_it_test.go b/ees/amqp_it_test.go index a24d9a1c3..ee4b5aec2 100644 --- a/ees/amqp_it_test.go +++ b/ees/amqp_it_test.go @@ -109,7 +109,7 @@ func testAMQPExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", diff --git a/ees/amqpv1.go b/ees/amqpv1.go index 9d2fad755..74d842a40 100644 --- a/ees/amqpv1.go +++ b/ees/amqpv1.go @@ -84,7 +84,7 @@ func (pstr *AMQPv1EE) Connect() (err error) { return } -func (pstr *AMQPv1EE) ExportEvent(content interface{}, _ string) (err error) { +func (pstr *AMQPv1EE) ExportEvent(content any, _ string) (err error) { pstr.reqs.get() pstr.RLock() defer func() { diff --git a/ees/amqpv1_it_test.go b/ees/amqpv1_it_test.go index 93b424608..1b6f1778b 100644 --- a/ees/amqpv1_it_test.go +++ b/ees/amqpv1_it_test.go @@ -115,7 +115,7 @@ func testAMQPv1ExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", diff --git a/ees/ee.go b/ees/ee.go index 804077e29..520fbe2ce 100644 --- a/ees/ee.go +++ b/ees/ee.go @@ -30,13 +30,13 @@ import ( ) type EventExporter interface { - Cfg() *config.EventExporterCfg // return the config - Connect() error // called before exporting an event to make sure it is connected - ExportEvent(interface{}, string) error // called on each event to be exported - Close() error // called when the exporter needs to terminate - GetMetrics() *utils.SafeMapStorage // called to get metrics - PrepareMap(*utils.CGREvent) (interface{}, error) - PrepareOrderMap(*utils.OrderedNavigableMap) (interface{}, error) + Cfg() *config.EventExporterCfg // return the config + Connect() error // called before exporting an event to make sure it is connected + ExportEvent(any, string) error // called on each event to be exported + Close() error // called when the exporter needs to terminate + GetMetrics() *utils.SafeMapStorage // called to get metrics + PrepareMap(*utils.CGREvent) (any, error) + PrepareOrderMap(*utils.OrderedNavigableMap) (any, error) } // NewEventExporter produces exporters @@ -230,11 +230,11 @@ func updateEEMetrics(dc *utils.SafeMapStorage, cgrID string, ev engine.MapEvent, type bytePreparing struct{} -func (bytePreparing) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (bytePreparing) PrepareMap(mp *utils.CGREvent) (any, error) { return json.Marshal(mp.Event) } -func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) @@ -246,13 +246,13 @@ func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{} type slicePreparing struct{} -func (slicePreparing) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (slicePreparing) PrepareMap(mp *utils.CGREvent) (any, error) { csvRecord := make([]string, 0, len(mp.Event)) for _, val := range mp.Event { csvRecord = append(csvRecord, utils.IfaceAsString(val)) } return csvRecord, nil } -func (slicePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { +func (slicePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { return mp.OrderedFieldsAsStrings(), nil } diff --git a/ees/ee_test.go b/ees/ee_test.go index 6cd6959c2..6b31e23ab 100644 --- a/ees/ee_test.go +++ b/ees/ee_test.go @@ -282,7 +282,7 @@ func TestEEPrepareOrderMap(t *testing.T) { t.Error(err) } - valMp := map[string]interface{}{ + valMp := map[string]any{ "*req.*tenant": "value1", } body, err := json.Marshal(valMp) diff --git a/ees/ees.go b/ees/ees.go index e501d0d0c..5876f42c2 100644 --- a/ees/ees.go +++ b/ees/ees.go @@ -30,7 +30,7 @@ import ( ) // onCacheEvicted is called by ltcache when evicting an item -func onCacheEvicted(_ string, value interface{}) { +func onCacheEvicted(_ string, value any) { ee := value.(EventExporter) ee.Close() } @@ -80,7 +80,7 @@ func (eeS *EventExporterS) Shutdown() { } // Call implements rpcclient.ClientConnector interface for internal RPC -func (eeS *EventExporterS) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (eeS *EventExporterS) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(eeS, serviceMethod, args, reply) } @@ -104,7 +104,7 @@ func (eeS *EventExporterS) setupCache(chCfgs map[string]*config.CacheParamCfg) { func (eeS *EventExporterS) attrSProcessEvent(cgrEv *utils.CGREvent, attrIDs []string, ctx string) (err error) { var rplyEv engine.AttrSProcessEventReply if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaSubsys] = utils.MetaEEs cgrEv.APIOpts[utils.OptsAttributesProfileIDs] = attrIDs @@ -121,8 +121,8 @@ func (eeS *EventExporterS) attrSProcessEvent(cgrEv *utils.CGREvent, attrIDs []st } // V1ProcessEvent will be called each time a new event is received from readers -// rply -> map[string]map[string]interface{} -func (eeS *EventExporterS) V1ProcessEvent(cgrEv *engine.CGREventWithEeIDs, rply *map[string]map[string]interface{}) (err error) { +// rply -> map[string]map[string]any +func (eeS *EventExporterS) V1ProcessEvent(cgrEv *engine.CGREventWithEeIDs, rply *map[string]map[string]any) (err error) { eeS.cfg.RLocks(config.EEsJson) defer eeS.cfg.RUnlocks(config.EEsJson) @@ -172,7 +172,7 @@ func (eeS *EventExporterS) V1ProcessEvent(cgrEv *engine.CGREventWithEeIDs, rply var isCached bool var ee EventExporter if hasCache { - var x interface{} + var x any if x, isCached = eeCache.Get(eeCfg.ID); isCached { ee = x.(EventExporter) } @@ -221,16 +221,16 @@ func (eeS *EventExporterS) V1ProcessEvent(cgrEv *engine.CGREventWithEeIDs, rply return } - *rply = make(map[string]map[string]interface{}) + *rply = make(map[string]map[string]any) metricMapLock.Lock() for exporterID, metrics := range metricsMap { - (*rply)[exporterID] = make(map[string]interface{}) + (*rply)[exporterID] = make(map[string]any) for key, val := range metrics { switch key { case utils.PositiveExports, utils.NegativeExports: slsVal, canCast := val.(utils.StringSet) if !canCast { - return fmt.Errorf("cannot cast to map[string]interface{} %+v for positive exports", val) + return fmt.Errorf("cannot cast to map[string]any %+v for positive exports", val) } (*rply)[exporterID][key] = slsVal.AsSlice() default: @@ -254,7 +254,7 @@ func exportEventWithExporter(exp EventExporter, ev *utils.CGREvent, oneTime bool exp.Close() } }() - var eEv interface{} + var eEv any exp.GetMetrics().Lock() exp.GetMetrics().MapStorage[utils.NumberOfEvents] = exp.GetMetrics().MapStorage[utils.NumberOfEvents].(int64) + 1 @@ -284,7 +284,7 @@ func exportEventWithExporter(exp EventExporter, ev *utils.CGREvent, oneTime bool return ExportWithAttempts(exp, eEv, key) } -func ExportWithAttempts(exp EventExporter, eEv interface{}, key string) (err error) { +func ExportWithAttempts(exp EventExporter, eEv any, key string) (err error) { if exp.Cfg().FailedPostsDir != utils.MetaNone { defer func() { if err != nil { diff --git a/ees/ees_test.go b/ees/ees_test.go index 9cfaec480..88cadea49 100644 --- a/ees/ees_test.go +++ b/ees/ees_test.go @@ -86,10 +86,10 @@ func TestCall(t *testing.T) { } type testMockEvent struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (sT *testMockEvent) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockEvent) Call(method string, arg any, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -98,11 +98,11 @@ func (sT *testMockEvent) Call(method string, arg interface{}, rply interface{}) } func TestAttrSProcessEvent(t *testing.T) { testMock := &testMockEvent{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rplyEv := &engine.AttrSProcessEventReply{ AlteredFields: []string{"testcase"}, - CGREvent: &utils.CGREvent{Event: map[string]interface{}{"testcase": 1}}, + CGREvent: &utils.CGREvent{Event: map[string]any{"testcase": 1}}, } *reply.(*engine.AttrSProcessEventReply) = *rplyEv return nil @@ -110,7 +110,7 @@ func TestAttrSProcessEvent(t *testing.T) { }, } cgrEv := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "10", }, } @@ -126,7 +126,7 @@ func TestAttrSProcessEvent(t *testing.T) { }) eeS := NewEventExporterS(cfg, filterS, connMgr) // cgrEv := &utils.CGREvent{} - exp := &utils.CGREvent{Event: map[string]interface{}{"testcase": 1}} + exp := &utils.CGREvent{Event: map[string]any{"testcase": 1}} if err := eeS.attrSProcessEvent(cgrEv, []string{}, utils.EmptyString); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, cgrEv) { @@ -137,8 +137,8 @@ func TestAttrSProcessEvent(t *testing.T) { func TestAttrSProcessEvent2(t *testing.T) { engine.Cache.Clear(nil) testMock := &testMockEvent{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { return utils.ErrNotFound }, }, @@ -179,7 +179,7 @@ func TestV1ProcessEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -200,8 +200,8 @@ func TestV1ProcessEvent(t *testing.T) { }, }, } - var rply map[string]map[string]interface{} - rplyExpect := map[string]map[string]interface{}{ + var rply map[string]map[string]any + rplyExpect := map[string]map[string]any{ "SQLExporterFull": {}, } if err := eeS.V1ProcessEvent(cgrEv, &rply); err != nil { @@ -229,17 +229,17 @@ func TestV1ProcessEvent2(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1001", "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "10", }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "NOT_FOUND" if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -269,10 +269,10 @@ func TestV1ProcessEvent3(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "MANDATORY_IE_MISSING: [connIDs]" if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -303,13 +303,13 @@ func TestV1ProcessEvent4(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "PARTIALLY_EXECUTED" if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -336,9 +336,9 @@ func (m mockEventExporter) GetMetrics() *utils.SafeMapStorage { return m.dc } -func (mockEventExporter) Cfg() *config.EventExporterCfg { return new(config.EventExporterCfg) } -func (mockEventExporter) Connect() error { return nil } -func (mockEventExporter) ExportEvent(interface{}, string) error { return nil } +func (mockEventExporter) Cfg() *config.EventExporterCfg { return new(config.EventExporterCfg) } +func (mockEventExporter) Connect() error { return nil } +func (mockEventExporter) ExportEvent(any, string) error { return nil } func (mockEventExporter) Close() error { utils.Logger.Warning("NOT IMPLEMENTED") return nil @@ -365,14 +365,14 @@ func TestV1ProcessEventMockMetrics(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} - errExpect := "cannot cast to map[string]interface{} 5 for positive exports" + var rply map[string]map[string]any + errExpect := "cannot cast to map[string]any 5 for positive exports" if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) } @@ -394,8 +394,8 @@ func TestV1ProcessEvent5(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, @@ -404,7 +404,7 @@ func TestV1ProcessEvent5(t *testing.T) { newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS := NewEventExporterS(cfg, filterS, nil) - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "unsupported exporter type: " if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expected %v but received %v", errExpect, err) @@ -425,13 +425,13 @@ func TestV1ProcessEvent6(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any if err := eeS.V1ProcessEvent(cgrEv, &rply); err != nil { t.Error(err) } diff --git a/ees/elastic.go b/ees/elastic.go index f4cb9b3e2..a76a852bd 100644 --- a/ees/elastic.go +++ b/ees/elastic.go @@ -100,7 +100,7 @@ func (eEe *ElasticEE) Connect() (err error) { } // ExportEvent implements EventExporter -func (eEe *ElasticEE) ExportEvent(ev interface{}, key string) (err error) { +func (eEe *ElasticEE) ExportEvent(ev any, key string) (err error) { eEe.reqs.get() eEe.RLock() defer func() { @@ -133,7 +133,7 @@ func (eEe *ElasticEE) ExportEvent(ev interface{}, key string) (err error) { } defer resp.Body.Close() if resp.IsError() { - var e map[string]interface{} + var e map[string]any if err = json.NewDecoder(resp.Body).Decode(&e); err != nil { return } diff --git a/ees/elastic_it_test.go b/ees/elastic_it_test.go index 47aa9de2f..25beb79f4 100644 --- a/ees/elastic_it_test.go +++ b/ees/elastic_it_test.go @@ -125,7 +125,7 @@ func testElasticExportEvents(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -153,7 +153,7 @@ func testElasticExportEvents(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -181,7 +181,7 @@ func testElasticExportEvents(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -209,7 +209,7 @@ func testElasticExportEvents(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", @@ -219,7 +219,7 @@ func testElasticExportEvents(t *testing.T) { utils.Destination: "1002", utils.RunID: utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "ExporterUsed": "ElasticExporterWithNoFields", }, }, @@ -244,11 +244,11 @@ func testElasticVerifyExports(t *testing.T) { if err != nil { t.Error(err) } - var r map[string]interface{} + var r map[string]any var buf bytes.Buffer - query := map[string]interface{}{ - "query": map[string]interface{}{ - "match": map[string]interface{}{ + query := map[string]any{ + "query": map[string]any{ + "match": map[string]any{ utils.Tenant: "cgrates.org", }, }, @@ -270,7 +270,7 @@ func testElasticVerifyExports(t *testing.T) { defer res.Body.Close() if res.IsError() { - var e map[string]interface{} + var e map[string]any if err := json.NewDecoder(res.Body).Decode(&e); err != nil { t.Error(err) } else { @@ -281,10 +281,10 @@ func testElasticVerifyExports(t *testing.T) { if err := json.NewDecoder(res.Body).Decode(&r); err != nil { t.Error(err) } - for _, hit := range r["hits"].(map[string]interface{})["hits"].([]interface{}) { - switch hit.(map[string]interface{})["_id"] { + for _, hit := range r["hits"].(map[string]any)["hits"].([]any) { + switch hit.(map[string]any)["_id"] { case "2478e9f18ebcd3c684f3c14596b8bfeab2b0d6d4:*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.AccountField: "1001", utils.AnswerTime: "2013-11-07T08:42:26Z", utils.CGRID: "2478e9f18ebcd3c684f3c14596b8bfeab2b0d6d4", @@ -300,11 +300,11 @@ func testElasticVerifyExports(t *testing.T) { utils.ToR: "*sms", utils.Usage: "1", } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } case "dbafe9c8614c785a65aabd116dd3959c3c56f7f6:*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.AccountField: "1001", utils.AnswerTime: "2013-11-07T08:42:26Z", utils.CGRID: "dbafe9c8614c785a65aabd116dd3959c3c56f7f6", @@ -320,11 +320,11 @@ func testElasticVerifyExports(t *testing.T) { utils.ToR: "*voice", utils.Usage: "10000000000", } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } case utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()) + ":*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.CGRID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", @@ -334,8 +334,8 @@ func testElasticVerifyExports(t *testing.T) { utils.Destination: "1002", utils.RunID: utils.MetaDefault, } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } } } diff --git a/ees/filecsv.go b/ees/filecsv.go index 0ca64773b..f286f347a 100644 --- a/ees/filecsv.go +++ b/ees/filecsv.go @@ -107,7 +107,7 @@ func (fCsv *FileCSVee) Cfg() *config.EventExporterCfg { return fCsv.cfg } func (fCsv *FileCSVee) Connect() (_ error) { return } -func (fCsv *FileCSVee) ExportEvent(ev interface{}, _ string) error { +func (fCsv *FileCSVee) ExportEvent(ev any, _ string) error { fCsv.Lock() // make sure that only one event is writen in file at once defer fCsv.Unlock() return fCsv.csvWriter.Write(ev.([]string)) diff --git a/ees/filecsv_it_test.go b/ees/filecsv_it_test.go index ccb0cee19..fe4ed3dc8 100644 --- a/ees/filecsv_it_test.go +++ b/ees/filecsv_it_test.go @@ -112,7 +112,7 @@ func testCsvExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -138,7 +138,7 @@ func testCsvExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -164,7 +164,7 @@ func testCsvExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -357,7 +357,7 @@ func testCsvExportComposedEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, "ComposedOriginID1": "dsaf", @@ -386,7 +386,7 @@ func testCsvExportComposedEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, "ComposedOriginID1": "sdf", @@ -460,7 +460,7 @@ func testCsvExportMaskedDestination(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -515,7 +515,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -543,7 +543,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -571,7 +571,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -639,7 +639,7 @@ func testCsvExportNotFoundExporter(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", diff --git a/ees/filefwv.go b/ees/filefwv.go index 58b55596e..0a68ab590 100644 --- a/ees/filefwv.go +++ b/ees/filefwv.go @@ -109,7 +109,7 @@ func (fFwv *FileFWVee) Cfg() *config.EventExporterCfg { return fFwv.cfg } func (fFwv *FileFWVee) Connect() (_ error) { return } -func (fFwv *FileFWVee) ExportEvent(records interface{}, _ string) (err error) { +func (fFwv *FileFWVee) ExportEvent(records any, _ string) (err error) { fFwv.Lock() // make sure that only one event is writen in file at once defer fFwv.Unlock() for _, record := range records.([]string) { diff --git a/ees/filefwv_it_test.go b/ees/filefwv_it_test.go index e41783d27..61e0a1ca8 100644 --- a/ees/filefwv_it_test.go +++ b/ees/filefwv_it_test.go @@ -103,7 +103,7 @@ func testFwvExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "Event", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OrderID: 1, utils.CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC).String()), utils.ToR: utils.MetaVoice, diff --git a/ees/httpjsonmap.go b/ees/httpjsonmap.go index 5a82739da..6bc6a5149 100644 --- a/ees/httpjsonmap.go +++ b/ees/httpjsonmap.go @@ -77,7 +77,7 @@ func (httpEE *HTTPjsonMapEE) Cfg() *config.EventExporterCfg { return httpEE.cfg func (httpEE *HTTPjsonMapEE) Connect() (_ error) { return } -func (httpEE *HTTPjsonMapEE) ExportEvent(content interface{}, _ string) (err error) { +func (httpEE *HTTPjsonMapEE) ExportEvent(content any, _ string) (err error) { httpEE.reqs.get() defer httpEE.reqs.done() pReq := content.(*HTTPPosterRequest) @@ -93,7 +93,7 @@ func (httpEE *HTTPjsonMapEE) Close() (_ error) { return } func (httpEE *HTTPjsonMapEE) GetMetrics() *utils.SafeMapStorage { return httpEE.dc } -func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (any, error) { body, err := json.Marshal(mp.Event) return &HTTPPosterRequest{ Header: httpEE.hdr, @@ -101,8 +101,8 @@ func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) }, err } -func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) @@ -116,7 +116,7 @@ func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (int }, err } -func prepareRequest(addr, cType string, content interface{}, hdr http.Header) (req *http.Request, err error) { +func prepareRequest(addr, cType string, content any, hdr http.Header) (req *http.Request, err error) { var body io.Reader if cType == utils.ContentForm { body = strings.NewReader(content.(url.Values).Encode()) diff --git a/ees/httpjsonmap_test.go b/ees/httpjsonmap_test.go index 98bf8ba79..20fd38b8d 100644 --- a/ees/httpjsonmap_test.go +++ b/ees/httpjsonmap_test.go @@ -63,12 +63,12 @@ func TestHttpJsonMapExportEvent2(t *testing.T) { cgrCfg := config.NewDefaultCGRConfig() cgrCfg.EEsCfg().Exporters[0].Type = utils.MetaSQSjsonMap - bodyExpect := map[string]interface{}{ + bodyExpect := map[string]any{ "2": "*req.field2", } srv := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { defer r.Body.Close() - var body map[string]interface{} + var body map[string]any if err := json.NewDecoder(r.Body).Decode(&body); err != nil { t.Fatal(err) } @@ -186,7 +186,7 @@ func TestHTTPJsonMapPrepareOrderMap(t *testing.T) { if err != nil { t.Error(err) } - valMp := map[string]interface{}{ + valMp := map[string]any{ "*req.*tenant": "value1", } body, err := json.Marshal(valMp) @@ -201,7 +201,7 @@ func TestHTTPJsonMapPrepareOrderMap(t *testing.T) { func TestHTTPJsonMapPrepareMap(t *testing.T) { httpEE := new(HTTPjsonMapEE) - valMp := map[string]interface{}{ + valMp := map[string]any{ "*req.*tenant": "value1", } rcv, err := httpEE.PrepareMap(&utils.CGREvent{ diff --git a/ees/httppost.go b/ees/httppost.go index 04a76a207..d4b7d3f7b 100644 --- a/ees/httppost.go +++ b/ees/httppost.go @@ -51,7 +51,7 @@ type HTTPPostEE struct { } type HTTPPosterRequest struct { Header http.Header - Body interface{} + Body any } // Compose and cache the header @@ -77,7 +77,7 @@ func (httpPost *HTTPPostEE) Cfg() *config.EventExporterCfg { return httpPost.cfg func (httpPost *HTTPPostEE) Connect() (_ error) { return } -func (httpPost *HTTPPostEE) ExportEvent(content interface{}, _ string) (err error) { +func (httpPost *HTTPPostEE) ExportEvent(content any, _ string) (err error) { httpPost.reqs.get() defer httpPost.reqs.done() pReq := content.(*HTTPPosterRequest) @@ -93,7 +93,7 @@ func (httpPost *HTTPPostEE) Close() (_ error) { return } func (httpPost *HTTPPostEE) GetMetrics() *utils.SafeMapStorage { return httpPost.dc } -func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (any, error) { urlVals := url.Values{} for k, v := range mp.Event { urlVals.Set(k, utils.IfaceAsString(v)) @@ -104,7 +104,7 @@ func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) }, nil } -func (httpPost *HTTPPostEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { +func (httpPost *HTTPPostEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { urlVals := url.Values{} for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value diff --git a/ees/httppost_it_test.go b/ees/httppost_it_test.go index 3854672a6..ef2498630 100644 --- a/ees/httppost_it_test.go +++ b/ees/httppost_it_test.go @@ -121,7 +121,7 @@ func testHTTPExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -149,7 +149,7 @@ func testHTTPExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -177,7 +177,7 @@ func testHTTPExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -205,7 +205,7 @@ func testHTTPExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sms2", diff --git a/ees/httppost_test.go b/ees/httppost_test.go index be7179a6a..49c930ca9 100644 --- a/ees/httppost_test.go +++ b/ees/httppost_test.go @@ -57,7 +57,7 @@ func TestHttpPostExportEvent(t *testing.T) { if err != nil { t.Error(err) } - cgrEv.Event = map[string]interface{}{ + cgrEv.Event = map[string]any{ "Test1": 3, } errExpect := `Post "/var/spool/cgrates/ees": unsupported protocol scheme ""` @@ -88,7 +88,7 @@ func TestHttpPostExportEvent2(t *testing.T) { t.Error(err) } vals, err := httpPost.PrepareMap(&utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "2": "*req.field2", }, }) @@ -131,7 +131,7 @@ func TestHttpPostSync(t *testing.T) { } vals, err := exp.PrepareMap(&utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, @@ -186,7 +186,7 @@ func TestHttpPostSyncLimit(t *testing.T) { } vals, err := exp.PrepareMap(&utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, diff --git a/ees/kafka.go b/ees/kafka.go index 499ade216..feb6dbe6c 100644 --- a/ees/kafka.go +++ b/ees/kafka.go @@ -72,7 +72,7 @@ func (pstr *KafkaEE) Connect() (_ error) { return } -func (pstr *KafkaEE) ExportEvent(content interface{}, key string) (err error) { +func (pstr *KafkaEE) ExportEvent(content any, key string) (err error) { pstr.reqs.get() pstr.RLock() if pstr.writer == nil { diff --git a/ees/kafka_it_test.go b/ees/kafka_it_test.go index 51d5e9f09..88614eb9f 100644 --- a/ees/kafka_it_test.go +++ b/ees/kafka_it_test.go @@ -139,7 +139,7 @@ func testKafkaExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "KafkaEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -158,7 +158,7 @@ func testKafkaExportEvent(t *testing.T) { }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := kafkaRpc.Call(utils.EeSv1ProcessEvent, event, &reply); err != nil { t.Error(err) } diff --git a/ees/libactions.go b/ees/libactions.go index 5c48f715d..1551ba846 100644 --- a/ees/libactions.go +++ b/ees/libactions.go @@ -37,7 +37,7 @@ func init() { engine.RegisterActionFunc(utils.MetaPostEvent, postEvent) } -func getOneData(ub *engine.Account, extraData interface{}) ([]byte, error) { +func getOneData(ub *engine.Account, extraData any) ([]byte, error) { switch { case ub != nil: return json.Marshal(ub) @@ -47,7 +47,7 @@ func getOneData(ub *engine.Account, extraData interface{}) ([]byte, error) { return nil, nil } -func callURL(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData interface{}) error { +func callURL(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData any) error { body, err := getOneData(ub, extraData) if err != nil { return err @@ -66,7 +66,7 @@ func callURL(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.F } // Does not block for posts, no error reports -func callURLAsync(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData interface{}) error { +func callURLAsync(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData any) error { body, err := getOneData(ub, extraData) if err != nil { return err @@ -81,7 +81,7 @@ func callURLAsync(ub *engine.Account, a *engine.Action, _ engine.Actions, _ *eng return nil } -func postEvent(_ *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData interface{}) error { +func postEvent(_ *engine.Account, a *engine.Action, _ engine.Actions, _ *engine.FilterS, extraData any) error { body, err := json.Marshal(extraData) if err != nil { return err diff --git a/ees/libcdre.go b/ees/libcdre.go index 9edf189d4..42489bc9f 100644 --- a/ees/libcdre.go +++ b/ees/libcdre.go @@ -44,7 +44,7 @@ func SetFailedPostCacheTTL(ttl time.Duration) { failedPostCache = ltcache.NewCache(-1, ttl, false, writeFailedPosts) } -func writeFailedPosts(_ string, value interface{}) { +func writeFailedPosts(_ string, value any) { expEv, canConvert := value.(*ExportEvents) if !canConvert { return @@ -56,7 +56,7 @@ func writeFailedPosts(_ string, value interface{}) { } } -func AddFailedPost(failedPostsDir, expPath, format string, ev interface{}, opts *config.EventExporterOpts) { +func AddFailedPost(failedPostsDir, expPath, format string, ev any, opts *config.EventExporterOpts) { key := utils.ConcatenatedKey(failedPostsDir, expPath, format) // also in case of amqp,amqpv1,s3,sqs and kafka also separe them after queue id var amqpQueueID string @@ -122,7 +122,7 @@ type ExportEvents struct { Path string Opts *config.EventExporterOpts Format string - Events []interface{} + Events []any failedPostsDir string } @@ -146,7 +146,7 @@ func (expEv *ExportEvents) WriteToFile(filePath string) (err error) { } // AddEvent adds one event -func (expEv *ExportEvents) AddEvent(ev interface{}) { +func (expEv *ExportEvents) AddEvent(ev any) { expEv.lk.Lock() expEv.Events = append(expEv.Events, ev) expEv.lk.Unlock() diff --git a/ees/libcdre_it_test.go b/ees/libcdre_it_test.go index de17d6699..24032e8a4 100644 --- a/ees/libcdre_it_test.go +++ b/ees/libcdre_it_test.go @@ -79,7 +79,7 @@ func TestWriteToFile(t *testing.T) { } //populate the exportEvent struct exportEvent = &ExportEvents{ - Events: []interface{}{"something1", "something2"}, + Events: []any{"something1", "something2"}, Path: "path", Format: "test", } diff --git a/ees/libcdre_test.go b/ees/libcdre_test.go index b64b2758d..78e4d6d13 100644 --- a/ees/libcdre_test.go +++ b/ees/libcdre_test.go @@ -55,7 +55,7 @@ func TestAddFldPost(t *testing.T) { eOut := &ExportEvents{ Path: "path1", Format: "format1", - Events: []interface{}{"1"}, + Events: []any{"1"}, Opts: &config.EventExporterOpts{}, } if !reflect.DeepEqual(eOut, failedPost) { @@ -79,7 +79,7 @@ func TestAddFldPost(t *testing.T) { eOut = &ExportEvents{ Path: "path1", Format: "format1", - Events: []interface{}{"1", "2"}, + Events: []any{"1", "2"}, Opts: &config.EventExporterOpts{}, } if !reflect.DeepEqual(eOut, failedPost) { @@ -99,7 +99,7 @@ func TestAddFldPost(t *testing.T) { eOut = &ExportEvents{ Path: "path2", Format: "format2", - Events: []interface{}{"3"}, + Events: []any{"3"}, Opts: &config.EventExporterOpts{ SQSQueueID: utils.StringPointer("qID"), }, @@ -128,13 +128,13 @@ func TestFilePath(t *testing.T) { func TestAddEvent(t *testing.T) { exportEvent := &ExportEvents{} - eOut := &ExportEvents{Events: []interface{}{"event1"}} + eOut := &ExportEvents{Events: []any{"event1"}} exportEvent.AddEvent("event1") if !reflect.DeepEqual(eOut, exportEvent) { t.Errorf("Expecting: %+v, received: %+v", eOut, exportEvent) } exportEvent = &ExportEvents{} - eOut = &ExportEvents{Events: []interface{}{"event1", "event2", "event3"}} + eOut = &ExportEvents{Events: []any{"event1", "event2", "event3"}} exportEvent.AddEvent("event1") exportEvent.AddEvent("event2") exportEvent.AddEvent("event3") diff --git a/ees/log.go b/ees/log.go index ebcfba477..bfb08b400 100644 --- a/ees/log.go +++ b/ees/log.go @@ -41,7 +41,7 @@ type LogEE struct { func (vEe *LogEE) Cfg() *config.EventExporterCfg { return vEe.cfg } func (vEe *LogEE) Connect() error { return nil } -func (vEe *LogEE) ExportEvent(mp interface{}, _ string) error { +func (vEe *LogEE) ExportEvent(mp any, _ string) error { utils.Logger.Info( fmt.Sprintf("<%s> <%s> exported: <%s>", utils.EEs, vEe.Cfg().ID, utils.ToJSON(mp))) @@ -49,11 +49,11 @@ func (vEe *LogEE) ExportEvent(mp interface{}, _ string) error { } func (vEe *LogEE) Close() error { return nil } func (vEe *LogEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } -func (vEe *LogEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (vEe *LogEE) PrepareMap(mp *utils.CGREvent) (any, error) { return mp.Event, nil } -func (vEe *LogEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (vEe *LogEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) diff --git a/ees/nats.go b/ees/nats.go index cdc491bbd..19606239b 100644 --- a/ees/nats.go +++ b/ees/nats.go @@ -93,7 +93,7 @@ func (pstr *NatsEE) Connect() (err error) { return } -func (pstr *NatsEE) ExportEvent(content interface{}, _ string) (err error) { +func (pstr *NatsEE) ExportEvent(content any, _ string) (err error) { pstr.reqs.get() pstr.RLock() if pstr.poster == nil { diff --git a/ees/nats_it_test.go b/ees/nats_it_test.go index 178a33a3c..fe9355241 100644 --- a/ees/nats_it_test.go +++ b/ees/nats_it_test.go @@ -101,7 +101,7 @@ func TestNatsEEJetStream(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, @@ -167,7 +167,7 @@ func TestNatsEE(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, diff --git a/ees/posterjsonmap_it_test.go b/ees/posterjsonmap_it_test.go index 48663a895..ea2527f86 100644 --- a/ees/posterjsonmap_it_test.go +++ b/ees/posterjsonmap_it_test.go @@ -118,7 +118,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -137,7 +137,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, }, @@ -149,7 +149,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -168,7 +168,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, }, @@ -180,7 +180,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -200,7 +200,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, }, @@ -212,7 +212,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "SMSEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", diff --git a/ees/rpc.go b/ees/rpc.go index 21eaeb82b..b3164bf54 100644 --- a/ees/rpc.go +++ b/ees/rpc.go @@ -66,7 +66,7 @@ func (e *RPCee) Connect() (err error) { return } -func (e *RPCee) ExportEvent(args interface{}, _ string) (err error) { +func (e *RPCee) ExportEvent(args any, _ string) (err error) { e.Lock() defer e.Unlock() var rply string @@ -84,12 +84,12 @@ func (e *RPCee) GetMetrics() (mp *utils.SafeMapStorage) { return e.dc } -func (e *RPCee) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (e *RPCee) PrepareMap(mp *utils.CGREvent) (any, error) { if mp == nil { return nil, nil } if mp.APIOpts == nil { - mp.APIOpts = make(map[string]interface{}) + mp.APIOpts = make(map[string]any) } for i, v := range e.Cfg().Opts.RPCAPIOpts { mp.APIOpts[i] = v @@ -97,8 +97,8 @@ func (e *RPCee) PrepareMap(mp *utils.CGREvent) (interface{}, error) { return mp, nil } -func (e *RPCee) PrepareOrderMap(oMp *utils.OrderedNavigableMap) (interface{}, error) { - mP := make(map[string]interface{}) +func (e *RPCee) PrepareOrderMap(oMp *utils.OrderedNavigableMap) (any, error) { + mP := make(map[string]any) for i := oMp.GetFirstElement(); i != nil; i = i.Next() { path := i.Value val, _ := oMp.Field(path) diff --git a/ees/rpc_test.go b/ees/rpc_test.go index 939c63568..44a0f4c0e 100644 --- a/ees/rpc_test.go +++ b/ees/rpc_test.go @@ -171,10 +171,10 @@ func TestRPCPrepareMap(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "CGRID1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 21, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: "*attributes", }, } diff --git a/ees/s3.go b/ees/s3.go index 38cf9ee70..d86f24a75 100644 --- a/ees/s3.go +++ b/ees/s3.go @@ -111,7 +111,7 @@ func (pstr *S3EE) Connect() (err error) { return } -func (pstr *S3EE) ExportEvent(message interface{}, key string) (err error) { +func (pstr *S3EE) ExportEvent(message any, key string) (err error) { pstr.reqs.get() pstr.RLock() _, err = pstr.up.Upload(&s3manager.UploadInput{ diff --git a/ees/s3_it_test.go b/ees/s3_it_test.go index 210444c9e..ee1de71e5 100644 --- a/ees/s3_it_test.go +++ b/ees/s3_it_test.go @@ -117,7 +117,7 @@ func testS3ExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "dataEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: cgrID, utils.ToR: utils.MetaData, utils.OriginID: "abcdef", diff --git a/ees/sql.go b/ees/sql.go index fcd70da49..3015f9d4d 100644 --- a/ees/sql.go +++ b/ees/sql.go @@ -60,7 +60,7 @@ type SQLEe struct { type sqlPosterRequest struct { Querry string - Values []interface{} + Values []any } func (sqlEe *SQLEe) initDialector() (err error) { @@ -131,7 +131,7 @@ func (sqlEe *SQLEe) Connect() (err error) { return } -func (sqlEe *SQLEe) ExportEvent(req interface{}, _ string) error { +func (sqlEe *SQLEe) ExportEvent(req any, _ string) error { sqlEe.reqs.get() sqlEe.RLock() defer func() { @@ -158,10 +158,10 @@ func (sqlEe *SQLEe) Close() (err error) { func (sqlEe *SQLEe) GetMetrics() *utils.SafeMapStorage { return sqlEe.dc } -func (sqlEe *SQLEe) PrepareMap(*utils.CGREvent) (interface{}, error) { return nil, nil } +func (sqlEe *SQLEe) PrepareMap(*utils.CGREvent) (any, error) { return nil, nil } -func (sqlEe *SQLEe) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - var vals []interface{} +func (sqlEe *SQLEe) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + var vals []any var colNames []string for el := mp.GetFirstElement(); el != nil; el = el.Next() { nmIt, _ := mp.Field(el.Value) diff --git a/ees/sql_it_test.go b/ees/sql_it_test.go index 34dfedde7..b183e8803 100644 --- a/ees/sql_it_test.go +++ b/ees/sql_it_test.go @@ -276,7 +276,7 @@ func testSqlEeExportEventFull(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -313,7 +313,7 @@ func testSqlEeExportEventPartial(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("asd", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -403,7 +403,7 @@ func TestSQLExportEvent1(t *testing.T) { if err := sqlEe.Connect(); err != nil { t.Fatal(err) } - if err := sqlEe.ExportEvent(&sqlPosterRequest{Querry: "INSERT INTO cdrs VALUES (); ", Values: []interface{}{}}, ""); err != nil { + if err := sqlEe.ExportEvent(&sqlPosterRequest{Querry: "INSERT INTO cdrs VALUES (); ", Values: []any{}}, ""); err != nil { t.Error(err) } sqlEe.Close() diff --git a/ees/sqs.go b/ees/sqs.go index 96f25378f..f20adc0c3 100644 --- a/ees/sqs.go +++ b/ees/sqs.go @@ -129,7 +129,7 @@ func (pstr *SQSee) Connect() (err error) { return } -func (pstr *SQSee) ExportEvent(message interface{}, _ string) (err error) { +func (pstr *SQSee) ExportEvent(message any, _ string) (err error) { pstr.reqs.get() pstr.RLock() _, err = pstr.svc.SendMessage( diff --git a/ees/sqs_it_test.go b/ees/sqs_it_test.go index 408889f96..2a5ff5739 100644 --- a/ees/sqs_it_test.go +++ b/ees/sqs_it_test.go @@ -116,7 +116,7 @@ func testSQSExportEvent(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", diff --git a/ees/virtual_ee_it_test.go b/ees/virtual_ee_it_test.go index 433ea1f56..7a7f01d67 100644 --- a/ees/virtual_ee_it_test.go +++ b/ees/virtual_ee_it_test.go @@ -105,7 +105,7 @@ func testVirtExportSupplierEvent(t *testing.T) { Tenant: "cgrates.org", ID: "supplierEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -139,7 +139,7 @@ func testVirtExportEvents(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", diff --git a/ees/virtualee.go b/ees/virtualee.go index 782ff125f..68a874e53 100644 --- a/ees/virtualee.go +++ b/ees/virtualee.go @@ -36,12 +36,12 @@ type VirtualEE struct { dc *utils.SafeMapStorage } -func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg } -func (vEe *VirtualEE) Connect() error { return nil } -func (vEe *VirtualEE) ExportEvent(interface{}, string) error { return nil } -func (vEe *VirtualEE) Close() error { return nil } -func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } -func (vEe *VirtualEE) PrepareMap(*utils.CGREvent) (interface{}, error) { return nil, nil } -func (vEe *VirtualEE) PrepareOrderMap(*utils.OrderedNavigableMap) (interface{}, error) { +func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg } +func (vEe *VirtualEE) Connect() error { return nil } +func (vEe *VirtualEE) ExportEvent(any, string) error { return nil } +func (vEe *VirtualEE) Close() error { return nil } +func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } +func (vEe *VirtualEE) PrepareMap(*utils.CGREvent) (any, error) { return nil, nil } +func (vEe *VirtualEE) PrepareOrderMap(*utils.OrderedNavigableMap) (any, error) { return nil, nil } diff --git a/engine/account.go b/engine/account.go index 042864bde..b5727e9b3 100644 --- a/engine/account.go +++ b/engine/account.go @@ -46,7 +46,7 @@ type Account struct { type AccountWithAPIOpts struct { *Account - APIOpts map[string]interface{} + APIOpts map[string]any } // User's available minutes for the specified destination @@ -553,14 +553,14 @@ func (acc *Account) debitCreditBalance(cd *CallDescriptor, count bool, dryRun bo thEv := &utils.CGREvent{ Tenant: acntTnt.Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.BalanceUpdate, utils.EventSource: utils.AccountService, utils.AccountField: acntTnt.ID, utils.BalanceID: defaultBalance.ID, utils.Units: defaultBalance.Value, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.BalanceUpdate, }, } @@ -904,7 +904,7 @@ func (acc *Account) GetID() string { } // AsOldStructure used in some api for transition -func (acc *Account) AsOldStructure() interface{} { +func (acc *Account) AsOldStructure() any { type Balance struct { Uuid string //system wide unique Id string // account wide unique @@ -1076,7 +1076,7 @@ func (acc *Account) Publish(initBal map[string]float64) { ID: utils.GenUUID(), Time: utils.TimePointer(time.Now()), Event: acntSummary.AsMapInterface(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -1197,7 +1197,7 @@ func (acc *Account) GetBalanceWithID(blcType, blcID string) (blc *Balance) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (as *AccountSummary) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (as *AccountSummary) FieldAsInterface(fldPath []string) (val any, err error) { if as == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -1252,7 +1252,7 @@ func (as *AccountSummary) FieldAsInterface(fldPath []string) (val interface{}, e } func (as *AccountSummary) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = as.FieldAsInterface(fldPath) if err != nil { return @@ -1265,8 +1265,8 @@ func (as *AccountSummary) String() string { return utils.ToIJSON(as) } -func (as *AccountSummary) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +func (as *AccountSummary) AsMapInterface() map[string]any { + return map[string]any{ utils.Tenant: as.Tenant, utils.ID: as.ID, utils.AllowNegative: as.AllowNegative, @@ -1279,7 +1279,7 @@ func (acc *Account) String() string { return utils.ToJSON(acc) } -func (acc *Account) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (acc *Account) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { return acc, nil } @@ -1403,7 +1403,7 @@ func (acc *Account) FieldAsInterface(fldPath []string) (val interface{}, err err } func (acc *Account) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = acc.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/account_test.go b/engine/account_test.go index 043d9c962..e0fe0b164 100644 --- a/engine/account_test.go +++ b/engine/account_test.go @@ -3032,8 +3032,8 @@ func TestDebitCreditBalance(t *testing.T) { cfg.RalsCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { rpl := &[]string{"id"} *reply.(*[]string) = *rpl return errors.New("Can't process Event") diff --git a/engine/action.go b/engine/action.go index 3b5ded3dc..bde218e4e 100644 --- a/engine/action.go +++ b/engine/action.go @@ -71,7 +71,7 @@ func (a *Action) Clone() (cln *Action) { } } -type actionTypeFunc func(*Account, *Action, Actions, *FilterS, interface{}) error +type actionTypeFunc func(*Account, *Action, Actions, *FilterS, any) error var actionFuncMap = make(map[string]actionTypeFunc) @@ -119,7 +119,7 @@ func RegisterActionFunc(action string, f actionTypeFunc) { actionFuncMap[action] = f } -func logAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func logAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { switch { case ub != nil: body, _ := json.Marshal(ub) @@ -131,7 +131,7 @@ func logAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interf return } -func cdrLogAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func cdrLogAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if len(config.CgrConfig().SchedulerCfg().CDRsConns) == 0 { return fmt.Errorf("No connection with CDR Server") } @@ -158,7 +158,7 @@ func cdrLogAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData in } } //In case that we have extra data we populate default templates - mapExtraData, _ := extraData.(map[string]interface{}) + mapExtraData, _ := extraData.(map[string]any) for key, val := range mapExtraData { if defaultTemplate[key], err = config.NewRSRParsers(utils.IfaceAsString(val), config.CgrConfig().GeneralCfg().RSRSep); err != nil { @@ -230,7 +230,7 @@ func cdrLogAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData in return } -func resetTriggersAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func resetTriggersAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -238,7 +238,7 @@ func resetTriggersAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, ex return } -func setRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func setRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -246,7 +246,7 @@ func setRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraDa return } -func unsetRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func unsetRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -254,7 +254,7 @@ func unsetRecurrentAction(ub *Account, a *Action, acs Actions, _ *FilterS, extra return } -func allowNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func allowNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -262,7 +262,7 @@ func allowNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraD return } -func denyNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func denyNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -270,14 +270,14 @@ func denyNegativeAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraDa return } -func resetAccountAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func resetAccountAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } return genericReset(ub, fltrS) } -func topupResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func topupResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -291,7 +291,7 @@ func topupResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extra return } -func topupAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func topupAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -302,7 +302,7 @@ func topupAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData return } -func debitResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func debitResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -312,7 +312,7 @@ func debitResetAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extra return genericDebit(ub, a, true, fltrS) } -func debitAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) (err error) { +func debitAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -320,7 +320,7 @@ func debitAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData return } -func resetCountersAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func resetCountersAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if ub == nil { return errors.New("nil account") } @@ -346,7 +346,7 @@ func genericDebit(ub *Account, a *Action, reset bool, fltrS *FilterS) (err error return ub.debitBalanceAction(a, reset, false, fltrS) } -func enableAccountAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func enableAccountAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if acc == nil { return errors.New("nil account") } @@ -354,7 +354,7 @@ func enableAccountAction(acc *Account, a *Action, acs Actions, _ *FilterS, extra return } -func disableAccountAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func disableAccountAction(acc *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { if acc == nil { return errors.New("nil account") } @@ -380,7 +380,7 @@ func genericReset(ub *Account, fltrS *FilterS) error { } // Mails the balance hitting the threshold towards predefined list of addresses -func mailAsync(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func mailAsync(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { cgrCfg := config.CgrConfig() params := strings.Split(a.ExtraParameters, string(utils.CSVSep)) if len(params) == 0 { @@ -422,7 +422,7 @@ func mailAsync(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interf return nil } -func setddestinations(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func setddestinations(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { var ddcDestID string for _, bchain := range ub.BalanceMap { for _, b := range bchain { @@ -493,7 +493,7 @@ func setddestinations(ub *Account, a *Action, acs Actions, _ *FilterS, extraData return nil } -func removeAccountAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func removeAccountAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { var accID string if ub != nil { accID = ub.ID @@ -550,7 +550,7 @@ func removeAccountAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraD }, config.CgrConfig().GeneralCfg().LockingTimeout, utils.ActionPlanPrefix) } -func removeBalanceAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func removeBalanceAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { if ub == nil { return fmt.Errorf("nil account for %s action", utils.ToJSON(a)) } @@ -575,14 +575,14 @@ func removeBalanceAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraD return nil } -func setBalanceAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) error { +func setBalanceAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) error { if ub == nil { return fmt.Errorf("nil account for %s action", utils.ToJSON(a)) } return ub.setBalanceAction(a, fltrS) } -func transferMonetaryDefaultAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func transferMonetaryDefaultAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { if ub == nil { utils.Logger.Err("*transfer_monetary_default called without account") return utils.ErrAccountNotFound @@ -612,7 +612,7 @@ type RPCRequest struct { Method string Attempts int Async bool - Params map[string]interface{} + Params map[string]any } /* @@ -630,7 +630,7 @@ Sq - CDRStatsQueueTriggered object We can actually use everythiong that go templates offer. You can read more here: https://golang.org/pkg/text/template/ */ -func cgrRPCAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func cgrRPCAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { // parse template tmpl := template.New("extra_params") tmpl.Delims("<<", ">>") @@ -643,7 +643,7 @@ func cgrRPCAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData int Account *Account Action *Action Actions Actions - ExtraData interface{} + ExtraData any }{ub, a, acs, extraData}); err != nil { utils.Logger.Err(fmt.Sprintf("error executing *cgr_rpc template %s:", err.Error())) return @@ -689,7 +689,7 @@ func cgrRPCAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData int return } -func topupZeroNegativeAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData interface{}) error { +func topupZeroNegativeAction(ub *Account, a *Action, acs Actions, fltrS *FilterS, extraData any) error { if ub == nil { return errors.New("nil account") } @@ -699,7 +699,7 @@ func topupZeroNegativeAction(ub *Account, a *Action, acs Actions, fltrS *FilterS return ub.debitBalanceAction(a, false, true, fltrS) } -func setExpiryAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func setExpiryAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { if ub == nil { return errors.New("nil account") } @@ -713,7 +713,7 @@ func setExpiryAction(ub *Account, a *Action, acs Actions, _ *FilterS, extraData } // publishAccount will publish the account as well as each balance received to ThresholdS -func publishAccount(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) error { +func publishAccount(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) error { if ub == nil { return errors.New("nil account") } @@ -749,7 +749,7 @@ func (apl Actions) Sort() { } // Clone returns a clone from object -func (apl Actions) Clone() (interface{}, error) { +func (apl Actions) Clone() (any, error) { if apl == nil { return nil, nil } @@ -780,7 +780,7 @@ func (cdrP *cdrLogProvider) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (cdrP *cdrLogProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (cdrP *cdrLogProvider) FieldAsInterface(fldPath []string) (data any, err error) { if data, err = cdrP.cache.FieldAsInterface(fldPath); err == nil || err != utils.ErrNotFound { // item found in cache return @@ -846,7 +846,7 @@ func (cdrP *cdrLogProvider) FieldAsInterface(fldPath []string) (data interface{} // FieldAsString is part of utils.DataProvider interface func (cdrP *cdrLogProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = cdrP.FieldAsInterface(fldPath) if err != nil { return @@ -854,7 +854,7 @@ func (cdrP *cdrLogProvider) FieldAsString(fldPath []string) (data string, err er return utils.IfaceAsString(valIface), nil } -func removeSessionCosts(_ *Account, action *Action, _ Actions, _ *FilterS, _ interface{}) error { // FiltersID;inlineFilter +func removeSessionCosts(_ *Account, action *Action, _ Actions, _ *FilterS, _ any) error { // FiltersID;inlineFilter tenant := config.CgrConfig().GeneralCfg().DefaultTenant smcFilter := new(utils.SMCostFilter) for _, fltrID := range strings.Split(action.ExtraParameters, utils.InfieldSep) { @@ -877,7 +877,7 @@ func removeSessionCosts(_ *Account, action *Action, _ Actions, _ *FilterS, _ int return cdrStorage.RemoveSMCosts(smcFilter) } -func removeExpired(acc *Account, action *Action, _ Actions, _ *FilterS, extraData interface{}) error { +func removeExpired(acc *Account, action *Action, _ Actions, _ *FilterS, extraData any) error { if acc == nil { return fmt.Errorf("nil account for %s action", utils.ToJSON(action)) } @@ -905,7 +905,7 @@ func removeExpired(acc *Account, action *Action, _ Actions, _ *FilterS, extraDat } // resetAccountCDR resets the account out of values from CDR -func resetAccountCDR(ub *Account, action *Action, acts Actions, fltrS *FilterS, _ interface{}) error { +func resetAccountCDR(ub *Account, action *Action, acts Actions, fltrS *FilterS, _ any) error { if ub == nil { return errors.New("nil account") } @@ -950,14 +950,14 @@ func resetAccountCDR(ub *Account, action *Action, acts Actions, fltrS *FilterS, return nil } -func export(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func export(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { var cgrEv *utils.CGREvent switch { case ub != nil: cgrEv = &utils.CGREvent{ Tenant: utils.NewTenantID(ub.ID).Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: ub.ID, utils.EventType: utils.AccountUpdate, utils.EventSource: utils.AccountService, @@ -969,7 +969,7 @@ func export(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface utils.UpdateTime: ub.UpdateTime, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, }, } @@ -986,12 +986,12 @@ func export(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface EeIDs: strings.Split(a.ExtraParameters, utils.InfieldSep), CGREvent: cgrEv, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any return connMgr.Call(config.CgrConfig().ApierCfg().EEsConns, nil, utils.EeSv1ProcessEvent, args, &rply) } -func resetThreshold(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func resetThreshold(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID(a.ExtraParameters), } @@ -1000,7 +1000,7 @@ func resetThreshold(ub *Account, a *Action, acs Actions, _ *FilterS, extraData i utils.ThresholdSv1ResetThreshold, args, &rply) } -func resetStatQueue(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func resetStatQueue(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID(a.ExtraParameters), } @@ -1009,7 +1009,7 @@ func resetStatQueue(ub *Account, a *Action, acs Actions, _ *FilterS, extraData i utils.StatSv1ResetStatQueue, args, &rply) } -func remoteSetAccount(ub *Account, a *Action, acs Actions, _ *FilterS, extraData interface{}) (err error) { +func remoteSetAccount(ub *Account, a *Action, acs Actions, _ *FilterS, extraData any) (err error) { client := &http.Client{Transport: httpPstrTransport} var resp *http.Response req := new(bytes.Buffer) diff --git a/engine/action_plan.go b/engine/action_plan.go index 1ac9db185..933495526 100644 --- a/engine/action_plan.go +++ b/engine/action_plan.go @@ -37,7 +37,7 @@ type ActionTiming struct { Uuid string Timing *RateInterval ActionsID string - ExtraData interface{} + ExtraData any Weight float64 actions Actions accountIDs utils.StringMap // copy of action plans accounts @@ -80,7 +80,7 @@ func (apl *ActionPlan) RemoveAccountID(accID string) (found bool) { } // Clone clones *ActionPlan -func (apl *ActionPlan) Clone() (interface{}, error) { +func (apl *ActionPlan) Clone() (any, error) { cln := &ActionPlan{ Id: apl.Id, AccountIDs: apl.AccountIDs.Clone(), diff --git a/engine/action_trigger.go b/engine/action_trigger.go index 85689bcdf..35ce28b47 100644 --- a/engine/action_trigger.go +++ b/engine/action_trigger.go @@ -218,7 +218,7 @@ func (at *ActionTrigger) String() string { return utils.ToJSON(at) } -func (at *ActionTrigger) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (at *ActionTrigger) FieldAsInterface(fldPath []string) (val any, err error) { if at == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -299,7 +299,7 @@ func (at *ActionTrigger) FieldAsInterface(fldPath []string) (val interface{}, er } func (at *ActionTrigger) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = at.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/actions_test.go b/engine/actions_test.go index 6bcab0aae..5db0fd271 100644 --- a/engine/actions_test.go +++ b/engine/actions_test.go @@ -2459,7 +2459,7 @@ func (trpcp *TestRPCParameters) Hopa(in Attr, out *float64) error { return nil } -func (trpcp *TestRPCParameters) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (trpcp *TestRPCParameters) Call(serviceMethod string, args any, reply any) error { parts := strings.Split(serviceMethod, ".") if len(parts) != 2 { return utils.ErrNotImplemented @@ -2644,7 +2644,7 @@ type RPCMock struct { args *ArgV1ProcessEvent } -func (r *RPCMock) Call(method string, args interface{}, rply interface{}) error { +func (r *RPCMock) Call(method string, args any, rply any) error { if method != utils.CDRsV1ProcessEvent { return rpcclient.ErrUnsupporteServiceMethod } @@ -2674,7 +2674,7 @@ func TestCdrLogAction(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): internalChan, }) - extraData := map[string]interface{}{ + extraData := map[string]any{ "test": "val", } acc := &Account{ @@ -2724,7 +2724,7 @@ func TestCdrLogAction(t *testing.T) { expCgrEv := utils.CGREvent{ Tenant: "cgrates.org", ID: mock.args.CGREvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "ActionID": "CdrDebit", "AnswerTime": mock.args.CGREvent.Event["AnswerTime"], @@ -2751,7 +2751,7 @@ func TestCdrLogAction(t *testing.T) { "Usage": mock.args.CGREvent.Event["Usage"], "test": "val", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(expCgrEv, mock.args.CGREvent) { t.Errorf("Expected: %+v \n,received: %+v", expCgrEv, mock.args.CGREvent) @@ -2769,7 +2769,7 @@ func TestRemoteSetAccountAction(t *testing.T) { ActionTriggers: ActionTriggers{{ Balance: &BalanceFilter{ Value: &utils.ValueFormula{ - Params: map[string]interface{}{utils.MetaVoice: func() {}}, + Params: map[string]any{utils.MetaVoice: func() {}}, }, }, }}, @@ -2852,7 +2852,7 @@ func TestResetAccountCDR(t *testing.T) { dm := NewDataManager(idb, cfg.CacheCfg(), nil) fltrs := NewFilterS(cfg, nil, dm) SetCdrStorage(idb) - var extraData interface{} + var extraData any acc := &Account{ ID: "cgrates.org:1001", BalanceMap: map[string]Balances{ @@ -2947,8 +2947,8 @@ func TestActionSetDDestinations(t *testing.T) { }, } ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetStatQueue: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetStatQueue: func(args, reply any) error { rpl := &StatQueue{ Tenant: "cgrates", ID: "id", @@ -3073,12 +3073,12 @@ func TestActionPublishAccount(t *testing.T) { cfg.RalsCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.StatSConnsCfg)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { *reply.(*[]string) = []string{"*thr"} return errors.New("Can't publish!") }, - utils.StatSv1ProcessEvent: func(args, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args, reply any) error { *reply.(*[]string) = []string{"*stat"} return errors.New("Can't publish!") }, @@ -3167,10 +3167,10 @@ func TestExportAction(t *testing.T) { cfg.ApierCfg().EEsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.EEsConnsCfg)} config.SetCgrConfig(cfg) ccMock := &ccMock{ - calls: map[string]func(args, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(args, reply interface{}) error { - rpl := &map[string]map[string]interface{}{} - *reply.(*map[string]map[string]interface{}) = *rpl + calls: map[string]func(args, reply any) error{ + utils.EeSv1ProcessEvent: func(args, reply any) error { + rpl := &map[string]map[string]any{} + *reply.(*map[string]map[string]any) = *rpl return nil }, @@ -3246,8 +3246,8 @@ func TestExportAction(t *testing.T) { Tenant: "tenant", ID: "id1", Time: utils.TimePointer(time.Date(2022, 12, 1, 1, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, } if err := export(ub, a, acs, nil, nil); err != nil { t.Errorf("received %v", err) @@ -3263,8 +3263,8 @@ func TestResetStatQueue(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SchedulerCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.StatSConnsCfg)} ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1ResetStatQueue: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1ResetStatQueue: func(args, reply any) error { rpl := "reset" *reply.(*string) = rpl return nil @@ -3294,8 +3294,8 @@ func TestResetTreshold(t *testing.T) { cfg.SchedulerCfg().ThreshSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ThreshSConnsCfg)} ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ResetThreshold: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ResetThreshold: func(args, reply any) error { rpl := "threshold_reset" *reply.(*string) = rpl return nil @@ -3409,7 +3409,7 @@ func TestResetAccountCDRSuccesful(t *testing.T) { } SetCdrStorage(idb) - var extraData interface{} + var extraData any acc := &Account{ ID: "cgrates.org:1001", BalanceMap: map[string]Balances{ @@ -3516,7 +3516,7 @@ func TestLogAction(t *testing.T) { }, }, } - extraData := map[string]interface{}{ + extraData := map[string]any{ "field1": "value", "field2": "second", } @@ -3706,8 +3706,8 @@ func TestRemoveAccountAcc(t *testing.T) { Tenant: "tenant", ID: "id1", Time: utils.TimePointer(time.Date(2022, 12, 1, 1, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, } if err := removeAccountAction(nil, a, acs, nil, extraData); err != nil { t.Error(err) @@ -3757,12 +3757,12 @@ func TestRemoveAccountActionErr(t *testing.T) { cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAccountActionPlans: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetAccountActionPlans: func(args, reply any) error { return errors.New("ActionPlans not found") }, - utils.ReplicatorSv1GetActionPlan: func(args, reply interface{}) error { + utils.ReplicatorSv1GetActionPlan: func(args, reply any) error { return errors.New("ActionPlan not found") }, }, @@ -3795,8 +3795,8 @@ func TestRemoveAccountActionErr(t *testing.T) { Tenant: "tenant", ID: "id1", Time: utils.TimePointer(time.Date(2022, 12, 1, 1, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, } ub := &Account{ BalanceMap: map[string]Balances{ @@ -4037,8 +4037,8 @@ func TestSetDestinationsErr(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetStatQueue: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetStatQueue: func(args, reply any) error { rpl := StatQueue{ Tenant: "cgrates.org", ID: "StatsID", @@ -4070,7 +4070,7 @@ func TestSetDestinationsErr(t *testing.T) { *reply.(*StatQueue) = rpl return nil }, - utils.ReplicatorSv1SetReverseDestination: func(args, reply interface{}) error { + utils.ReplicatorSv1SetReverseDestination: func(args, reply any) error { return utils.ErrNotImplemented }, }, @@ -4162,13 +4162,13 @@ func TestRemoveAccountActionLogg(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAccountActionPlans: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetAccountActionPlans: func(args, reply any) error { rpl := []string{"PACKAGE_10_SHARED_A_5"} *reply.(*[]string) = rpl return nil }, - utils.ReplicatorSv1GetActionPlan: func(args, reply interface{}) error { + utils.ReplicatorSv1GetActionPlan: func(args, reply any) error { rpl := ActionPlan{ Id: "PACKAGE_10_SHARED_A_5", AccountIDs: utils.StringMap{ @@ -4178,7 +4178,7 @@ func TestRemoveAccountActionLogg(t *testing.T) { *reply.(**ActionPlan) = &rpl return nil }, - utils.ReplicatorSv1SetActionPlan: func(args, reply interface{}) error { + utils.ReplicatorSv1SetActionPlan: func(args, reply any) error { return utils.ErrNotFound }, }} diff --git a/engine/argees.go b/engine/argees.go index c38e31a65..7b2be7172 100644 --- a/engine/argees.go +++ b/engine/argees.go @@ -46,7 +46,7 @@ func (attr *CGREventWithEeIDs) SetCloneable(clnb bool) { } // RPCClone implements rpcclient.RPCCloner interface -func (attr *CGREventWithEeIDs) RPCClone() (interface{}, error) { +func (attr *CGREventWithEeIDs) RPCClone() (any, error) { if !attr.clnb { return attr, nil } @@ -71,7 +71,7 @@ func (cgr *CGREventWithEeIDs) UnmarshalJSON(data []byte) (err error) { return } cgr.CGREvent = cgrEv - // check if we have CostDetails and modify it's type (by default it was map[string]interface{} by unrmarshaling, now it will be EventCost) + // check if we have CostDetails and modify it's type (by default it was map[string]any by unrmarshaling, now it will be EventCost) if ecEv, has := cgrEv.Event[utils.CostDetails]; has { var bts []byte switch ecEv.(type) { diff --git a/engine/attributes.go b/engine/attributes.go index 133488f31..8c2a03ccd 100644 --- a/engine/attributes.go +++ b/engine/attributes.go @@ -202,7 +202,7 @@ func (alS *AttributeService) processEvent(tnt string, args *utils.CGREvent, evNm continue } } - var out interface{} + var out any if out, err = ParseAttribute(dynDP, utils.FirstNonEmpty(attribute.Type, utils.MetaVariable), utils.DynamicDataPrefix+attribute.Path, attribute.Value, alS.cgrcfg.GeneralCfg().RoundingDecimals, alS.cgrcfg.GeneralCfg().DefaultTimezone, time.RFC3339, alS.cgrcfg.GeneralCfg().RSRSep); err != nil { rply = nil return @@ -368,7 +368,7 @@ func (alS *AttributeService) V1ProcessEvent(args *utils.CGREvent, } func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.RSRParsers, roundingDec int, timeZone, layout, rsrSep string) ( - out interface{}, err error) { + out any, err error) { switch attrType { case utils.MetaNone: return @@ -399,25 +399,25 @@ func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.R } out = tEnd.Sub(tStart).String() case utils.MetaSum: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Sum(ifaceVals...) case utils.MetaDifference: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Difference(timeZone, ifaceVals...) case utils.MetaMultiply: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Multiply(ifaceVals...) case utils.MetaDivide: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } diff --git a/engine/attributes_test.go b/engine/attributes_test.go index 83466a4c1..ad4755128 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -174,11 +174,11 @@ func TestAttributesV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "adrian.itsyscom.com.co.uk", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "andrei.itsyscom.com", "Password": "CGRATES.ORG", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, @@ -186,10 +186,10 @@ func TestAttributesV1ProcessEvent(t *testing.T) { } if err = alS.V1ProcessEvent(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, &rply); err != nil { @@ -229,10 +229,10 @@ func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { expErr := "SERVER_ERROR: NotEnoughParameters" if err = alS.V1ProcessEvent(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, &rply); err == nil || err.Error() != expErr { @@ -272,10 +272,10 @@ func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { expErr := "SERVER_ERROR: NotEnoughParameters" if err := alS.V1ProcessEvent(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, &rply); err == nil || err.Error() != expErr { @@ -314,10 +314,10 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { expErr := "SERVER_ERROR: invalid arguments <[{\"Rules\":\"CGRATES.ORG\"}]> to *value_exponent" if err := alS.V1ProcessEvent(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, &rply); err == nil || err.Error() != expErr { @@ -1191,10 +1191,10 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "passwd", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, utils.OptsContext: utils.MetaAny, utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, @@ -1207,11 +1207,11 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "CGRateS.org", utils.RequestType: utils.MetaPostpaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, utils.OptsContext: utils.MetaAny, utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, @@ -1305,8 +1305,8 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, utils.OptsContext: utils.MetaAny, }, @@ -1319,12 +1319,12 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "CGRateS.org", "PaypalAccount": "cgrates@paypal.com", utils.RequestType: utils.MetaPostpaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, utils.OptsContext: utils.MetaAny, }, @@ -1346,7 +1346,7 @@ func TestArgeesUnmarshalJSON(t *testing.T) { EeIDs: []string{"eeID1", "eeID2", "eeID3", "eeID$"}, clnb: true, CGREvent: &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.CostDetails: "22", }, }, @@ -1371,8 +1371,8 @@ func TestArgeesRPCClone(t *testing.T) { Tenant: "cgrates.org", ID: "id", Time: &time.Time{}, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, }, clnb: false, } @@ -1388,8 +1388,8 @@ func TestArgeesRPCClone(t *testing.T) { Tenant: "cgrates.org", ID: "id", Time: &time.Time{}, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, }, } @@ -1410,10 +1410,10 @@ func TestAttrSV1GetAttributeForEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, utils.OptsContext: utils.MetaAny, utils.OptsAttributesProfileIDs: []string{"ATTR1"}, diff --git a/engine/balance_filter.go b/engine/balance_filter.go index 80b9109e4..220e6a082 100644 --- a/engine/balance_filter.go +++ b/engine/balance_filter.go @@ -47,7 +47,7 @@ type BalanceFilter struct { } // NewBalanceFilter creates a new BalanceFilter based on given filter -func NewBalanceFilter(filter map[string]interface{}, defaultTimezone string) (bf *BalanceFilter, err error) { +func NewBalanceFilter(filter map[string]any, defaultTimezone string) (bf *BalanceFilter, err error) { bf = new(BalanceFilter) if id, has := filter[utils.ID]; has { bf.ID = utils.StringPointer(utils.IfaceAsString(id)) @@ -424,7 +424,7 @@ func (bp *BalanceFilter) String() string { return utils.ToJSON(bp) } -func (bp *BalanceFilter) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (bp *BalanceFilter) FieldAsInterface(fldPath []string) (val any, err error) { if bp == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -620,7 +620,7 @@ func (bp *BalanceFilter) FieldAsInterface(fldPath []string) (val interface{}, er } func (bp *BalanceFilter) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = bp.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/balance_filter_test.go b/engine/balance_filter_test.go index 0fd8a350e..1d13a98a6 100644 --- a/engine/balance_filter_test.go +++ b/engine/balance_filter_test.go @@ -27,7 +27,7 @@ import ( ) func TestNewBalanceFilter(t *testing.T) { - attrs := map[string]interface{}{} + attrs := map[string]any{} expected := &BalanceFilter{} if rply, err := NewBalanceFilter(attrs, ""); err != nil { t.Error(err) @@ -36,7 +36,7 @@ func TestNewBalanceFilter(t *testing.T) { } tNow := time.Now() - attrs = map[string]interface{}{ + attrs = map[string]any{ utils.ID: "ID", utils.UUID: "UUID", utils.Value: 10.5, diff --git a/engine/balances.go b/engine/balances.go index 7c5620749..b12087faf 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -802,7 +802,7 @@ func (bs BalanceSummaries) BalanceSummaryWithUUD(bsUUID string) (b *BalanceSumma } // FieldAsInterface func to help EventCost FieldAsInterface -func (bl *BalanceSummary) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (bl *BalanceSummary) FieldAsInterface(fldPath []string) (val any, err error) { if bl == nil || len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -1103,7 +1103,7 @@ func (bc Balances) String() string { return utils.ToJSON(bc) } -func (bc Balances) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (bc Balances) FieldAsInterface(fldPath []string) (val any, err error) { if bc == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -1137,7 +1137,7 @@ func (bc Balances) FieldAsInterface(fldPath []string) (val interface{}, err erro } func (bc Balances) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = bc.FieldAsInterface(fldPath) if err != nil { return @@ -1149,7 +1149,7 @@ func (b *Balance) String() string { return utils.ToJSON(b) } -func (b *Balance) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (b *Balance) FieldAsInterface(fldPath []string) (val any, err error) { if b == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -1286,7 +1286,7 @@ func (b *Balance) FieldAsInterface(fldPath []string) (val interface{}, err error } func (b *Balance) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = b.FieldAsInterface(fldPath) if err != nil { return @@ -1298,7 +1298,7 @@ func (f ValueFactor) String() string { return utils.ToJSON(f) } -func (f ValueFactor) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (f ValueFactor) FieldAsInterface(fldPath []string) (val any, err error) { if f == nil || len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -1310,7 +1310,7 @@ func (f ValueFactor) FieldAsInterface(fldPath []string) (val interface{}, err er } func (f ValueFactor) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = f.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/caches.go b/engine/caches.go index a9ebbbf05..d54e2758a 100644 --- a/engine/caches.go +++ b/engine/caches.go @@ -83,10 +83,10 @@ func init() { gob.Register(new(StatDistinct)) // others - gob.Register([]interface{}{}) - gob.Register([]map[string]interface{}{}) - gob.Register(map[string]interface{}{}) - gob.Register(map[string][]map[string]interface{}{}) + gob.Register([]any{}) + gob.Register([]map[string]any{}) + gob.Register(map[string]any{}) + gob.Register(map[string][]map[string]any{}) gob.Register(map[string]string{}) gob.Register(time.Duration(0)) gob.Register(time.Time{}) @@ -111,7 +111,7 @@ func NewCacheS(cfg *config.CGRConfig, dm *DataManager, cpS *CapsStats) (c *Cache k == utils.CacheCapsEvents { continue } - val.OnEvicted = func(itmID string, value interface{}) { + val.OnEvicted = func(itmID string, value any) { if err := connMgr.Call(cfg.CacheCfg().ReplicationConns, nil, utils.CacheSv1ReplicateRemove, &utils.ArgCacheReplicateRemove{ CacheID: k, @@ -148,14 +148,14 @@ type CacheS struct { // Set is an exported method from TransCache // handled Replicate functionality -func (chS *CacheS) Set(chID, itmID string, value interface{}, +func (chS *CacheS) Set(chID, itmID string, value any, groupIDs []string, commit bool, transID string) (err error) { chS.tCache.Set(chID, itmID, value, groupIDs, commit, transID) return chS.ReplicateSet(chID, itmID, value) } // ReplicateSet replicates an item to ReplicationConns -func (chS *CacheS) ReplicateSet(chID, itmID string, value interface{}) (err error) { +func (chS *CacheS) ReplicateSet(chID, itmID string, value any) (err error) { if len(chS.cfg.CacheCfg().ReplicationConns) == 0 || !chS.cfg.CacheCfg().Partitions[chID].Replicate { return @@ -171,7 +171,7 @@ func (chS *CacheS) ReplicateSet(chID, itmID string, value interface{}) (err erro // SetWithoutReplicate is an exported method from TransCache // handled Replicate functionality -func (chS *CacheS) SetWithoutReplicate(chID, itmID string, value interface{}, +func (chS *CacheS) SetWithoutReplicate(chID, itmID string, value any, groupIDs []string, commit bool, transID string) { chS.tCache.Set(chID, itmID, value, groupIDs, commit, transID) } @@ -195,12 +195,12 @@ func (chS *CacheS) HasItem(chID, itmID string) (has bool) { } // Get is an exported method from TransCache -func (chS *CacheS) Get(chID, itmID string) (interface{}, bool) { +func (chS *CacheS) Get(chID, itmID string) (any, bool) { return chS.tCache.Get(chID, itmID) } // GetWithRemote queries locally the cache, followed by remotes -func (chS *CacheS) GetWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts) (itm interface{}, err error) { +func (chS *CacheS) GetWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts) (itm any, err error) { var has bool if itm, has = chS.tCache.Get(args.CacheID, args.ItemID); has { return @@ -259,7 +259,7 @@ func (chS *CacheS) CommitTransaction(transID string) { } // GetCloned is an exported method from TransCache -func (chS *CacheS) GetCloned(chID, itmID string) (cln interface{}, err error) { +func (chS *CacheS) GetCloned(chID, itmID string) (cln any, err error) { return chS.tCache.GetCloned(chID, itmID) } @@ -306,7 +306,7 @@ func (chS *CacheS) Precache() (err error) { // APIs start here // Call gives the ability of CacheS to be passed as internal RPC -func (chS *CacheS) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (chS *CacheS) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(chS, serviceMethod, args, reply) } @@ -328,7 +328,7 @@ func (chS *CacheS) V1HasItem(args *utils.ArgsGetCacheItemWithAPIOpts, // V1GetItem returns a single item from the cache func (chS *CacheS) V1GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) (err error) { + reply *any) (err error) { itmIface, has := chS.tCache.Get(args.CacheID, args.ItemID) if !has { return utils.ErrNotFound @@ -339,8 +339,8 @@ func (chS *CacheS) V1GetItem(args *utils.ArgsGetCacheItemWithAPIOpts, // V1GetItemWithRemote queries the item from remote if not found locally func (chS *CacheS) V1GetItemWithRemote(args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) (err error) { - var itmIface interface{} + reply *any) (err error) { + var itmIface any if itmIface, err = chS.GetWithRemote(args); err != nil { return } diff --git a/engine/caches_test.go b/engine/caches_test.go index c837f3186..6a95f22ac 100644 --- a/engine/caches_test.go +++ b/engine/caches_test.go @@ -42,8 +42,8 @@ func TestCachesReplicateRemove(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(args, reply any) error { *reply.(*string) = utils.OK return nil }, @@ -81,8 +81,8 @@ func TestCacheSSetWithReplicate(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args, reply any) error { *reply.(*string) = "reply" return nil @@ -111,7 +111,7 @@ func TestCacheSSetWithReplicate(t *testing.T) { func TestCacheSV1GetItemIDs(t *testing.T) { args := &utils.ArgsGetCacheItemIDsWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", ArgsGetCacheItemIDs: utils.ArgsGetCacheItemIDs{ CacheID: "cacheID", @@ -124,7 +124,7 @@ func TestCacheSV1GetItemIDs(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -154,7 +154,7 @@ func TestCacheSV1GetItemIDs(t *testing.T) { func TestCacheSV1HasItem(t *testing.T) { args := &utils.ArgsGetCacheItemWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", ArgsGetCacheItem: utils.ArgsGetCacheItem{ CacheID: "cacheID", @@ -167,7 +167,7 @@ func TestCacheSV1HasItem(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -205,8 +205,8 @@ func TestCacheSV1GetItemWithRemote(t *testing.T) { } clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1GetItem: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1GetItem: func(args, reply any) error { return nil }, @@ -222,7 +222,7 @@ func TestCacheSV1GetItemWithRemote(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -233,7 +233,7 @@ func TestCacheSV1GetItemWithRemote(t *testing.T) { tCache: tscache, } SetConnManager(connMgr) - var reply interface{} = "str" + var reply any = "str" if err := chS.V1GetItemWithRemote(args, &reply); err != nil { t.Error(err) } @@ -252,7 +252,7 @@ func TestCacheSV1GetItem(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -267,7 +267,7 @@ func TestCacheSV1GetItem(t *testing.T) { dm: dm, tCache: tscache, } - var reply interface{} + var reply any if err := chS.V1GetItem(args, &reply); err != nil { t.Error(err) } else if val, cancast := reply.(string); cancast { @@ -301,7 +301,7 @@ func TestCacheSV1GetItemExpiryTime(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -340,7 +340,7 @@ func TestCacheSV1RemoveItem(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -373,14 +373,14 @@ func TestCacheSV1RemoveItems(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, utils.CacheResources: { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -388,7 +388,7 @@ func TestCacheSV1RemoveItems(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -427,7 +427,7 @@ func TestCacheSV1RemoveItems(t *testing.T) { func TestCacheSV1Clear(t *testing.T) { args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", CacheIDs: []string{"cacheID", "cacheID2", "cacheID3"}, } @@ -440,14 +440,14 @@ func TestCacheSV1Clear(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, "cacheID2": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -455,7 +455,7 @@ func TestCacheSV1Clear(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, @@ -491,7 +491,7 @@ func TestCacheSV1ReplicateSet(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -519,7 +519,7 @@ func TestCacheSV1ReplicateSet(t *testing.T) { func TestCacheSV1GetCacheStats(t *testing.T) { args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", CacheIDs: []string{"cacheID", "cacheID2", "cacheID3"}, } @@ -533,21 +533,21 @@ func TestCacheSV1GetCacheStats(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, "cacheID2": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, "cacheID3": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, }, @@ -602,7 +602,7 @@ func TestCachesPrecache(t *testing.T) { func TestV1PrecacheStatus(t *testing.T) { args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", CacheIDs: []string{utils.CacheFilters}, } @@ -640,7 +640,7 @@ func TestCacheSV1HasGroup(t *testing.T) { CacheID: "cacheId", GroupID: "groupId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) @@ -651,7 +651,7 @@ func TestCacheSV1HasGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -677,7 +677,7 @@ func TestCacheSV1HasGroupItemIDs(t *testing.T) { CacheID: "cacheId", GroupID: "groupId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) @@ -688,7 +688,7 @@ func TestCacheSV1HasGroupItemIDs(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -714,7 +714,7 @@ func TestV1RemoveGroup(t *testing.T) { CacheID: "cacheId", GroupID: "groupId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) @@ -725,7 +725,7 @@ func TestV1RemoveGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -753,7 +753,7 @@ func TestCacheSV1ReplicateRemove(t *testing.T) { args := &utils.ArgCacheReplicateRemove{ CacheID: "cacheID", ItemID: "itemID", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", } cfg := config.NewDefaultCGRConfig() @@ -765,7 +765,7 @@ func TestCacheSV1ReplicateRemove(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -803,8 +803,8 @@ func TestNewCacheS(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(args, reply any) error { *reply.(*string) = "reply" return nil @@ -832,7 +832,7 @@ func TestCacheRemoveWithoutReplicate(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -858,7 +858,7 @@ func TestCacheRemoveGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -915,8 +915,8 @@ func TestReplicateMultipleIDs(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) connClient := make(chan rpcclient.ClientConnector, 1) connClient <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args, reply any) error { *reply.(*string) = "reply" return nil }, @@ -958,8 +958,8 @@ func TestCachesGetWithRemote(t *testing.T) { chS := NewCacheS(cfg, dm, nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1GetItem: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1GetItem: func(args, reply any) error { *reply.(*string) = utils.OK return utils.ErrNotFound }, diff --git a/engine/calldesc.go b/engine/calldesc.go index 73bc518a3..3a28368bc 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -141,11 +141,11 @@ type CallDescriptor struct { } // AsCGREvent converts the CallDescriptor into CGREvent -func (cd *CallDescriptor) AsCGREvent(opts map[string]interface{}) *utils.CGREvent { +func (cd *CallDescriptor) AsCGREvent(opts map[string]any) *utils.CGREvent { cgrEv := &utils.CGREvent{ Tenant: cd.Tenant, ID: utils.UUIDSha1Prefix(), // make it unique - Event: make(map[string]interface{}), + Event: make(map[string]any), APIOpts: opts, } for k, v := range cd.ExtraFields { @@ -1016,7 +1016,7 @@ func (cd *CallDescriptor) AccountSummary(initialAcnt *AccountSummary) *AccountSu } // FieldAsInterface is part of utils.DataProvider -func (cd *CallDescriptor) FieldAsInterface(fldPath []string) (fldVal interface{}, err error) { +func (cd *CallDescriptor) FieldAsInterface(fldPath []string) (fldVal any, err error) { if len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -1038,5 +1038,5 @@ func (cd *CallDescriptor) String() string { type CallDescriptorWithAPIOpts struct { *CallDescriptor - APIOpts map[string]interface{} + APIOpts map[string]any } diff --git a/engine/calldesc_test.go b/engine/calldesc_test.go index 70fc92052..b97d02618 100644 --- a/engine/calldesc_test.go +++ b/engine/calldesc_test.go @@ -1856,7 +1856,7 @@ func TestCallDescriptorUpdateFromCGREvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Generated", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "acc1", "AnswerTime": time.Date(2015, 3, 23, 6, 0, 0, 0, time.UTC), "Category": "call", @@ -1904,7 +1904,7 @@ func TestCallDescriptorUpdateFromCGREvent(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Generated", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "acc1", "AnswerTime": time.Date(2015, 3, 23, 6, 0, 0, 0, time.UTC), "Category": "call", @@ -1943,7 +1943,7 @@ func TestCallDescriptorUpdateFromCGREvent(t *testing.T) { t.Error(err) } cgrEv = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Extra": "Value", }, } @@ -1977,7 +1977,7 @@ func TestCallDescriptorAsCGREvent(t *testing.T) { } eCGREvent := &utils.CGREvent{Tenant: "cgrates.org", ID: "Generated", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "max", "AnswerTime": time.Date(2015, 3, 23, 6, 0, 0, 0, time.UTC), "Category": "call", @@ -2109,7 +2109,7 @@ func TestCalldescSetRpSubjectPrefixMatching(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREventNoAccount(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "testKey": 5, }, } @@ -2130,7 +2130,7 @@ func TestCalldescNewCallDescriptorFromCGREventNoAccount(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREventNoDestination(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.AccountField: "accField", }, @@ -2152,7 +2152,7 @@ func TestCalldescNewCallDescriptorFromCGREventNoDestination(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREventNoTimeStart(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.AccountField: "accField", utils.Destination: "destField", @@ -2175,7 +2175,7 @@ func TestCalldescNewCallDescriptorFromCGREventNoTimeStart(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREventInvalidAnswerTime(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.AccountField: "accField", utils.Destination: "destField", @@ -2200,7 +2200,7 @@ func TestCalldescNewCallDescriptorFromCGREventInvalidAnswerTime(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREventNoUsage(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.AccountField: "accField", utils.Destination: "destField", @@ -2225,7 +2225,7 @@ func TestCalldescNewCallDescriptorFromCGREventNoUsage(t *testing.T) { func TestCalldescNewCallDescriptorFromCGREvent(t *testing.T) { cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.AccountField: "accField", utils.Destination: "destField", @@ -2276,10 +2276,10 @@ func TestCalldescAsCGREvent(t *testing.T) { "eventKey3": "eventValue3", }, } - opts := make(map[string]interface{}) + opts := make(map[string]any) exp := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "catField", utils.Subject: "accField", utils.AccountField: "accField", diff --git a/engine/caps.go b/engine/caps.go index f372f0f74..adc513d7d 100644 --- a/engine/caps.go +++ b/engine/caps.go @@ -85,7 +85,7 @@ type CapsStats struct { } // OnEvict the function that should be called on cache eviction -func (cs *CapsStats) OnEvict(itmID string, value interface{}) { +func (cs *CapsStats) OnEvict(itmID string, value any) { cs.st.RemEvent(itmID) } @@ -131,6 +131,6 @@ func (cs *CapsStats) GetAverage(roundingDecimals int) (avg float64) { // floatDP should be only used by capstats type floatDP float64 -func (f floatDP) String() string { return strconv.FormatFloat(float64(f), 'f', -1, 64) } -func (f floatDP) FieldAsInterface(fldPath []string) (interface{}, error) { return float64(f), nil } -func (f floatDP) FieldAsString(fldPath []string) (string, error) { return f.String(), nil } +func (f floatDP) String() string { return strconv.FormatFloat(float64(f), 'f', -1, 64) } +func (f floatDP) FieldAsInterface(fldPath []string) (any, error) { return float64(f), nil } +func (f floatDP) FieldAsString(fldPath []string) (string, error) { return f.String(), nil } diff --git a/engine/cdr.go b/engine/cdr.go index d01f00ebb..51f48f6c5 100644 --- a/engine/cdr.go +++ b/engine/cdr.go @@ -207,8 +207,8 @@ func (cdr *CDR) AsMapStorage() (mp utils.MapStorage) { return } -func (cdr *CDR) AsMapStringIface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (cdr *CDR) AsMapStringIface() (mp map[string]any) { + mp = make(map[string]any) for fld, val := range cdr.ExtraFields { mp[fld] = val } @@ -311,7 +311,7 @@ func (cdr *CDR) AsCGREvent() *utils.CGREvent { Tenant: cdr.Tenant, ID: utils.UUIDSha1Prefix(), Event: cdr.AsMapStringIface(), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } @@ -431,15 +431,15 @@ func (uR *UsageRecord) GetId() string { type ExternalCDRWithAPIOpts struct { *ExternalCDR - APIOpts map[string]interface{} + APIOpts map[string]any } type UsageRecordWithAPIOpts struct { *UsageRecord - APIOpts map[string]interface{} + APIOpts map[string]any } type CDRWithAPIOpts struct { *CDR - APIOpts map[string]interface{} + APIOpts map[string]any } diff --git a/engine/cdr_test.go b/engine/cdr_test.go index af42cb7eb..a9e4e8165 100644 --- a/engine/cdr_test.go +++ b/engine/cdr_test.go @@ -593,7 +593,7 @@ func TestCDRAsMapStringIface(t *testing.T) { Cost: 1.01, } - mp := map[string]interface{}{ + mp := map[string]any{ "field_extr1": "val_extr1", "fieldextr2": "valextr2", utils.CGRID: cdr.CGRID, @@ -656,7 +656,7 @@ func TestCDRTestCDRAsMapStringIface2(t *testing.T) { CostDetails: NewEventCostFromCallCost(cc, "TestCDRTestCDRAsMapStringIface2", utils.MetaDefault), } - mp := map[string]interface{}{ + mp := map[string]any{ "field_extr1": "val_extr1", "fieldextr2": "valextr2", utils.CGRID: cdr.CGRID, @@ -817,7 +817,7 @@ func TestCDRAsCGREvent(t *testing.T) { eCGREvent := utils.CGREvent{ Tenant: "cgrates.org", ID: "GenePreRated", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "AnswerTime": time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), "CGRID": cdr.CGRID, diff --git a/engine/cdrs.go b/engine/cdrs.go index fafeae9ab..11a70476a 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -371,7 +371,7 @@ func (cdrS *CDRServer) chrgrSProcessEvent(cgrEv *utils.CGREvent) (cgrEvs []*util func (cdrS *CDRServer) attrSProcessEvent(cgrEv *utils.CGREvent) (err error) { var rplyEv AttrSProcessEventReply if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaSubsys] = utils.MetaCDRs ctx, has := cgrEv.APIOpts[utils.OptsContext] @@ -398,7 +398,7 @@ func (cdrS *CDRServer) thdSProcessEvent(cgrEv *utils.CGREvent) (err error) { // we clone the CGREvent so we can add EventType without being propagated thArgs := cgrEv.Clone() if thArgs.APIOpts == nil { - thArgs.APIOpts = make(map[string]interface{}) + thArgs.APIOpts = make(map[string]any) } thArgs.APIOpts[utils.MetaEventType] = utils.CDR if err = cdrS.connMgr.Call(cdrS.cgrCfg.CdrsCfg().ThresholdSConns, nil, @@ -425,7 +425,7 @@ func (cdrS *CDRServer) statSProcessEvent(cgrEv *utils.CGREvent) (err error) { // eeSProcessEvent will process the event with the EEs component func (cdrS *CDRServer) eeSProcessEvent(cgrEv *CGREventWithEeIDs) (err error) { - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err = cdrS.connMgr.Call(cdrS.cgrCfg.CdrsCfg().EEsConns, nil, utils.EeSv1ProcessEvent, cgrEv, &reply); err != nil && @@ -648,7 +648,7 @@ func (cdrS *CDRServer) processEvents(evs []*utils.CGREvent, } // Call implements the rpcclient.ClientConnector interface -func (cdrS *CDRServer) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (cdrS *CDRServer) Call(serviceMethod string, args any, reply any) error { parts := strings.Split(serviceMethod, ".") if len(parts) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -745,7 +745,7 @@ func (attr *ArgV1ProcessEvent) SetCloneable(rpcCloneable bool) { } // RPCClone implements rpcclient.RPCCloner interface -func (attr *ArgV1ProcessEvent) RPCClone() (interface{}, error) { +func (attr *ArgV1ProcessEvent) RPCClone() (any, error) { if !attr.clnb { return attr, nil } @@ -1066,7 +1066,7 @@ type ArgRateCDRs struct { Flags []string utils.RPCCDRsFilter Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // V1RateCDRs is used for re-/rate CDRs which are already stored within StorDB diff --git a/engine/cdrs_test.go b/engine/cdrs_test.go index c3ad3c1ed..b770dd6f8 100644 --- a/engine/cdrs_test.go +++ b/engine/cdrs_test.go @@ -34,16 +34,16 @@ import ( "github.com/cgrates/rpcclient" ) -type clMock func(_ string, _ interface{}, _ interface{}) error +type clMock func(_ string, _ any, _ any) error -func (c clMock) Call(m string, a interface{}, r interface{}) error { +func (c clMock) Call(m string, a any, r any) error { return c(m, a, r) } func TestCDRSV1ProcessCDRNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -60,7 +60,7 @@ func TestCDRSV1ProcessCDRNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Category": "call", "Destination": "1003", @@ -114,7 +114,7 @@ func TestCDRSV1ProcessCDRNoTenant(t *testing.T) { func TestCDRSV1ProcessEventNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*[]*ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -146,7 +146,7 @@ func TestCDRSV1ProcessEventNoTenant(t *testing.T) { Flags: []string{utils.MetaChargers}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -170,7 +170,7 @@ func TestCDRSV1ProcessEventNoTenant(t *testing.T) { func TestCDRSV1V1ProcessExternalCDRNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*[]*ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -230,7 +230,7 @@ func TestArgV1ProcessClone(t *testing.T) { CGREvent: utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Category": "call", "Destination": "1003", @@ -263,7 +263,7 @@ func TestCDRV1CountCDRs(t *testing.T) { RPCCDRsFilter: &utils.RPCCDRsFilter{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } i := int64(3) @@ -289,7 +289,7 @@ func TestV1CountCDRsErr(t *testing.T) { SetupTimeStart: "fdd", }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cdrs12345", }, } @@ -313,7 +313,7 @@ func TestV1RateCDRs(t *testing.T) { Flags: []string{utils.MetaAttributes, utils.MetaStats, utils.MetaExport, utils.MetaStore, utils.OptsThresholdS, utils.MetaThresholds, utils.MetaStats, utils.OptsChargerS, utils.MetaChargers, utils.OptsRALs, utils.MetaRALs, utils.OptsRerate, utils.MetaRerate, utils.OptsRefund, utils.MetaRefund}, Tenant: "cgrates.rg", RPCCDRsFilter: utils.RPCCDRsFilter{}, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string @@ -325,8 +325,8 @@ func TestV1RateCDRs(t *testing.T) { func TestCDRServerThdsProcessEvent(t *testing.T) { clMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { rpl := &[]string{"event"} @@ -363,8 +363,8 @@ func TestCDRServerThdsProcessEvent(t *testing.T) { } func TestCDRServerStatSProcessEvent(t *testing.T) { ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1ProcessEvent: func(args, reply any) error { rpl := &[]string{"status"} @@ -403,14 +403,14 @@ func TestCDRServerStatSProcessEvent(t *testing.T) { func TestCDRServerEesProcessEvent(t *testing.T) { ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(args, reply interface{}) error { - rpls := &map[string]map[string]interface{}{ + calls: map[string]func(args any, reply any) error{ + utils.EeSv1ProcessEvent: func(args, reply any) error { + rpls := &map[string]map[string]any{ "eeS": { "process": "event", }, } - *reply.(*map[string]map[string]interface{}) = *rpls + *reply.(*map[string]map[string]any) = *rpls return nil }, @@ -450,8 +450,8 @@ func TestCDRServerEesProcessEvent(t *testing.T) { func TestCDRefundEventCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundIncrements: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundIncrements: func(args, reply any) error { return nil }, }, @@ -486,9 +486,9 @@ func TestGetCostFromRater(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ + calls: map[string]func(args any, reply any) error{ - utils.ResponderDebit: func(args, reply interface{}) error { + utils.ResponderDebit: func(args, reply any) error { rpl := &CallCost{ Category: "category", Tenant: "cgrates", @@ -516,7 +516,7 @@ func TestGetCostFromRater(t *testing.T) { } cdr := &CDRWithAPIOpts{ CDR: cd, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } exp := &CallCost{ Category: "category", @@ -534,8 +534,8 @@ func TestRefundEventCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundIncrements: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundIncrements: func(args, reply any) error { rpl := &Account{} *reply.(*Account) = *rpl return nil @@ -587,7 +587,7 @@ func TestCDRSV2ProcessEvent(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { return nil }) @@ -611,7 +611,7 @@ func TestCDRSV2ProcessEvent(t *testing.T) { Flags: []string{utils.MetaChargers}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -660,7 +660,7 @@ func TestCDRSV2ProcessEventCacheSet(t *testing.T) { Flags: []string{utils.MetaChargers}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -696,7 +696,7 @@ func TestCDRSV1ProcessEvent(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { return nil }) @@ -720,7 +720,7 @@ func TestCDRSV1ProcessEvent(t *testing.T) { Flags: []string{utils.MetaChargers}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -769,7 +769,7 @@ func TestCDRSV1ProcessEventCacheSet(t *testing.T) { Flags: []string{utils.MetaChargers}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -816,12 +816,12 @@ func TestV1ProcessEvent(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rpl := &AttrSProcessEventReply{ AlteredFields: []string{"*req.OfficeGroup"}, CGREvent: &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "cgrid", }, }, @@ -830,13 +830,13 @@ func TestV1ProcessEvent(t *testing.T) { return nil }, - utils.ChargerSv1ProcessEvent: func(args, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args, reply any) error { rpl := []*ChrgSProcessEventReply{ { ChargerSProfile: "chrgs1", AttributeSProfiles: []string{"attr1", "attr2"}, CGREvent: &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "cgrid2", }, }, @@ -845,7 +845,7 @@ func TestV1ProcessEvent(t *testing.T) { *reply.(*[]*ChrgSProcessEventReply) = rpl return nil }, - utils.ResponderRefundIncrements: func(args, reply interface{}) error { + utils.ResponderRefundIncrements: func(args, reply any) error { rpl := &Account{ ID: "cgrates.org:1001", BalanceMap: map[string]Balances{ @@ -855,27 +855,27 @@ func TestV1ProcessEvent(t *testing.T) { *reply.(*Account) = *rpl return nil }, - utils.ResponderDebit: func(args, reply interface{}) error { + utils.ResponderDebit: func(args, reply any) error { rpl := &CallCost{} *reply.(*CallCost) = *rpl return nil }, - utils.ResponderGetCost: func(args, reply interface{}) error { + utils.ResponderGetCost: func(args, reply any) error { rpl := &CallCost{} *reply.(*CallCost) = *rpl return nil }, - utils.EeSv1ProcessEvent: func(args, reply interface{}) error { - rpl := &map[string]map[string]interface{}{} - *reply.(*map[string]map[string]interface{}) = *rpl + utils.EeSv1ProcessEvent: func(args, reply any) error { + rpl := &map[string]map[string]any{} + *reply.(*map[string]map[string]any) = *rpl return nil }, - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { rpl := &[]string{} *reply.(*[]string) = *rpl return nil }, - utils.StatSv1ProcessEvent: func(args, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args, reply any) error { rpl := &[]string{} *reply.(*[]string) = *rpl return nil @@ -901,7 +901,7 @@ func TestV1ProcessEvent(t *testing.T) { Flags: []string{utils.MetaAttributes, utils.MetaStats, utils.MetaExport, utils.MetaStore, utils.OptsThresholdS, utils.MetaThresholds, utils.MetaStats, utils.OptsChargerS, utils.MetaChargers, utils.OptsRALs, utils.MetaRALs, utils.OptsRerate, utils.MetaRerate, utils.OptsRefund, utils.MetaRefund}, CGREvent: utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -948,8 +948,8 @@ func TestCdrprocessEventsErrLog(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.EeSv1ProcessEvent: func(args, reply any) error { return utils.ErrPartiallyExecuted }, @@ -967,7 +967,7 @@ func TestCdrprocessEventsErrLog(t *testing.T) { evs := []*utils.CGREvent{ {ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -1084,7 +1084,7 @@ func TestV1ProcessCDR(t *testing.T) { } cdr := &CDRWithAPIOpts{ CDR: cd, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := utils.StringPointer("reply") @@ -1127,7 +1127,7 @@ func TestV1ProcessCDRSet(t *testing.T) { } cdr := &CDRWithAPIOpts{ CDR: cd, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := utils.StringPointer("reply") Cache.Set(utils.CacheRPCResponses, utils.ConcatenatedKey(utils.CDRsV1ProcessCDR, cdr.CGRID, cdr.RunID), @@ -1151,7 +1151,7 @@ func TestV1ProcessCDRSet(t *testing.T) { func TestV1StoreSessionCost(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - clMock := clMock(func(_ string, _, _ interface{}) error { + clMock := clMock(func(_ string, _, _ any) error { return nil }) clientconn := make(chan rpcclient.ClientConnector, 1) @@ -1203,7 +1203,7 @@ func TestV1StoreSessionCost(t *testing.T) { func TestV1StoreSessionCostSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - clMock := clMock(func(_ string, _, _ interface{}) error { + clMock := clMock(func(_ string, _, _ any) error { return nil }) @@ -1264,8 +1264,8 @@ func TestV2StoreSessionCost(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args, reply any) error { rpl := &Account{} *reply.(*Account) = *rpl return nil @@ -1339,8 +1339,8 @@ func TestV2StoreSessionCostSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args, reply any) error { rpl := &Account{} *reply.(*Account) = *rpl return nil @@ -1476,7 +1476,7 @@ func TestV1RateCDRSErr(t *testing.T) { Flags: []string{utils.MetaStore, utils.MetaExport, utils.MetaThresholds, utils.MetaStats, utils.MetaChargers, utils.MetaAttributes}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string @@ -1508,7 +1508,7 @@ func TestV1GetCDRsErr(t *testing.T) { SetupTimeEnd: "2020-04-18T11:46:26.371Z", }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var cdrs *[]*CDR if err := cdrS.V1GetCDRs(args, cdrs); err == nil { @@ -1526,12 +1526,12 @@ func TestGetCostFromRater2(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderDebit: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderDebit: func(args, reply any) error { return utils.ErrAccountNotFound }, - utils.SchedulerSv1ExecuteActionPlans: func(args, reply interface{}) error { + utils.SchedulerSv1ExecuteActionPlans: func(args, reply any) error { rpl := "reply" *reply.(*string) = rpl return nil @@ -1562,7 +1562,7 @@ func TestGetCostFromRater2(t *testing.T) { RequestType: utils.MetaDynaprepaid, Usage: 1 * time.Minute, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if _, err := cdrS.getCostFromRater(cdr); err == nil || err != utils.ErrAccountNotFound { @@ -1576,8 +1576,8 @@ func TestGetCostFromRater3(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetCost: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetCost: func(args, reply any) error { return nil }, @@ -1606,7 +1606,7 @@ func TestGetCostFromRater3(t *testing.T) { RequestType: "default", Usage: 1 * time.Minute, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if _, err := cdrS.getCostFromRater(cdr); err == nil || err != rpcclient.ErrUnsupporteServiceMethod { @@ -1622,8 +1622,8 @@ func TestV2StoreSessionCost2(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMOck := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args, reply any) error { rpl := &Account{} *reply.(*Account) = *rpl return nil @@ -1750,7 +1750,7 @@ func TestV2StoreSessionCost2(t *testing.T) { }, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := cdrS.V2StoreSessionCost(args, &reply); err != nil { @@ -1761,8 +1761,8 @@ func TestV2StoreSessionCost2(t *testing.T) { clientconn2 := make(chan rpcclient.ClientConnector, 1) clientconn2 <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args, reply any) error { rpl := &Account{} *reply.(*Account) = *rpl return utils.ErrNotFound @@ -1814,7 +1814,7 @@ func TestV1RateCDRSSuccesful(t *testing.T) { CGRIDs: []string{"Cdr1"}, }, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply *string @@ -1893,8 +1893,8 @@ func TestCdrSRateCDR(t *testing.T) { }) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderDebit: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderDebit: func(args, reply any) error { cc := &CallCost{ Category: "generic", Tenant: "cgrates.org", @@ -2007,8 +2007,8 @@ func TestChrgrSProcessEvent(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clienConn := make(chan rpcclient.ClientConnector, 1) clienConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args, reply any) error { *reply.(*[]*ChrgSProcessEventReply) = []*ChrgSProcessEventReply{ { ChargerSProfile: "Charger1", @@ -2017,12 +2017,12 @@ func TestChrgrSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string{"ATTR_1001_SIMPLEAUTH"}, @@ -2045,7 +2045,7 @@ func TestChrgrSProcessEvent(t *testing.T) { } cgrEv := utils.CGREvent{ ID: "TestV1ProcessEventNoTenant", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "test1", utils.RunID: utils.MetaDefault, utils.OriginID: "testV1CDRsRefundOutOfSessionCost", @@ -2060,12 +2060,12 @@ func TestChrgrSProcessEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string{"ATTR_1001_SIMPLEAUTH"}, @@ -2282,7 +2282,7 @@ func TestCDRSGetCDRs(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan rpcclient.ClientConnector, 1) - clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error { + clientConn <- clMock(func(serviceMethod string, _, _ any) error { if serviceMethod == utils.EeSv1ProcessEvent { return nil @@ -2310,7 +2310,7 @@ func TestCDRSGetCDRs(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginHost: "host", @@ -2325,7 +2325,7 @@ func TestCDRSGetCDRs(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatS: true, }, }, diff --git a/engine/chargers_test.go b/engine/chargers_test.go index 5c5c39522..5c38e892b 100644 --- a/engine/chargers_test.go +++ b/engine/chargers_test.go @@ -185,20 +185,20 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "200.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, }, { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -206,7 +206,7 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "DistinctMatch", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -352,20 +352,20 @@ func TestChargerProcessEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "200.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, }, { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -373,7 +373,7 @@ func TestChargerProcessEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "DistinctMatch", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -514,13 +514,13 @@ func TestChargersmatchingChargerProfilesForEventChargerProfileNotFound(t *testin cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -560,13 +560,13 @@ func TestChargersmatchingChargerProfilesForEventDoesNotPass(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -610,13 +610,13 @@ func TestChargersmatchingChargerProfilesForEventErrGetChPrf(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -641,7 +641,7 @@ func TestChargersprocessEvent(t *testing.T) { } cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } diff --git a/engine/connmanager.go b/engine/connmanager.go index e49d1ab61..c53b5faf0 100644 --- a/engine/connmanager.go +++ b/engine/connmanager.go @@ -161,7 +161,7 @@ func (cM *ConnManager) getConnWithConfig(connID string, connCfg *config.RPCConn, // Call gets the connection calls the method on it func (cM *ConnManager) Call(connIDs []string, biRPCClient rpcclient.BiRPCConector, - method string, arg, reply interface{}) (err error) { + method string, arg, reply any) (err error) { if len(connIDs) == 0 { return utils.NewErrMandatoryIeMissing("connIDs") } @@ -181,7 +181,7 @@ func (cM *ConnManager) Call(connIDs []string, biRPCClient rpcclient.BiRPCConecto } // CallWithConnIDs will call the method only on specified rpcconns -func (cM *ConnManager) CallWithConnIDs(connIDs []string, subsHostIDs utils.StringSet, method string, arg, reply interface{}) (err error) { +func (cM *ConnManager) CallWithConnIDs(connIDs []string, subsHostIDs utils.StringSet, method string, arg, reply any) (err error) { if len(connIDs) == 0 { return utils.NewErrMandatoryIeMissing("connIDs") } diff --git a/engine/connmanager_test.go b/engine/connmanager_test.go index 8b946b5a5..0b1c1379f 100644 --- a/engine/connmanager_test.go +++ b/engine/connmanager_test.go @@ -235,14 +235,14 @@ func TestCMgetConnWithConfigEmptyTransport(t *testing.T) { } type BiRPCConnectorMock struct { - calls map[string]func(rpcclient.ClientConnector, string, interface{}, interface{}) error + calls map[string]func(rpcclient.ClientConnector, string, any, any) error } -func (bRCM *BiRPCConnectorMock) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (bRCM *BiRPCConnectorMock) Call(serviceMethod string, args any, reply any) (err error) { return nil } -func (bRCM *BiRPCConnectorMock) CallBiRPC(cc rpcclient.ClientConnector, method string, args interface{}, reply interface{}) error { +func (bRCM *BiRPCConnectorMock) CallBiRPC(cc rpcclient.ClientConnector, method string, args any, reply any) error { if call, has := bRCM.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -250,7 +250,7 @@ func (bRCM *BiRPCConnectorMock) CallBiRPC(cc rpcclient.ClientConnector, method s } } -func (bRCM *BiRPCConnectorMock) Handlers() map[string]interface{} { +func (bRCM *BiRPCConnectorMock) Handlers() map[string]any { return nil } @@ -268,8 +268,8 @@ func TestCMgetConnWithConfigCallBiRPCNilErr(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) birpc := &BiRPCConnectorMock{ - calls: map[string]func(rpcclient.ClientConnector, string, interface{}, interface{}) error{ - utils.SessionSv1RegisterInternalBiJSONConn: func(cc rpcclient.ClientConnector, s string, i1, i2 interface{}) error { + calls: map[string]func(rpcclient.ClientConnector, string, any, any) error{ + utils.SessionSv1RegisterInternalBiJSONConn: func(cc rpcclient.ClientConnector, s string, i1, i2 any) error { return nil }, }, @@ -317,8 +317,8 @@ func TestCMgetConnWithConfigCallBiRPCErr(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) birpc := &BiRPCConnectorMock{ - calls: map[string]func(rpcclient.ClientConnector, string, interface{}, interface{}) error{ - "wrong method": func(cc rpcclient.ClientConnector, s string, i1, i2 interface{}) error { + calls: map[string]func(rpcclient.ClientConnector, string, any, any) error{ + "wrong method": func(cc rpcclient.ClientConnector, s string, i1, i2 any) error { return nil }, }, @@ -540,8 +540,8 @@ func TestCMCallWithConnIDs2(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - "testMethod": func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + "testMethod": func(args, reply any) error { return utils.ErrExists }, }, diff --git a/engine/datamanager.go b/engine/datamanager.go index 352da87b0..81aacf7a4 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -1681,7 +1681,7 @@ type SetActionTriggersArgWithAPIOpts struct { Key string Attrs ActionTriggers Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } func (dm *DataManager) SetActionTriggers(key string, attr ActionTriggers) (err error) { @@ -1858,7 +1858,7 @@ type SetActionsArgsWithAPIOpts struct { Key string Acs Actions Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } func (dm *DataManager) SetActions(key string, as Actions) (err error) { @@ -1959,7 +1959,7 @@ type SetActionPlanArgWithAPIOpts struct { Key string Ats *ActionPlan Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } func (dm *DataManager) SetActionPlan(key string, ats *ActionPlan, @@ -2095,7 +2095,7 @@ type SetAccountActionPlansArgWithAPIOpts struct { AcntID string AplIDs []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } func (dm *DataManager) SetAccountActionPlans(acntID string, aPlIDs []string, overwrite bool) (err error) { @@ -2138,7 +2138,7 @@ type RemAccountActionPlansArgsWithAPIOpts struct { AcntID string ApIDs []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } func (dm *DataManager) RemAccountActionPlans(acntID string, apIDs []string) (err error) { diff --git a/engine/datamanager_test.go b/engine/datamanager_test.go index 8562394ca..b5e0e111b 100644 --- a/engine/datamanager_test.go +++ b/engine/datamanager_test.go @@ -52,8 +52,8 @@ func TestDmGetDestinationRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetDestination: func(args, reply any) error { rpl := &Destination{ Id: "nat", Prefixes: []string{"0257", "0256", "0723"}, } @@ -103,8 +103,8 @@ func TestDmGetAccountRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAccount: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetAccount: func(args, reply any) error { rpl := &Account{ ID: "cgrates.org:exp", UpdateTime: time.Now(), @@ -156,8 +156,8 @@ func TestDmGetFilterRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetFilter: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetFilter: func(args, reply any) error { rpl := &Filter{ Tenant: "cgrates.org", ID: "Filter1", @@ -232,8 +232,8 @@ func TestDMGetThresholdRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThreshold: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThreshold: func(args, reply any) error { rpl := &Threshold{ Tenant: "cgrates.org", ID: "THD_ACNT_1001", @@ -242,7 +242,7 @@ func TestDMGetThresholdRemote(t *testing.T) { *reply.(**Threshold) = rpl return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, @@ -301,11 +301,11 @@ func TestDMGetThresholdRemoteErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThreshold: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThreshold: func(args, reply any) error { return utils.ErrNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -349,8 +349,8 @@ func TestDMGetThresholdProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThresholdProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThresholdProfile: func(args, reply any) error { rpl := &ThresholdProfile{ Tenant: "cgrates.org", ID: "ID", @@ -358,7 +358,7 @@ func TestDMGetThresholdProfileRemote(t *testing.T) { *reply.(**ThresholdProfile) = rpl return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, @@ -411,11 +411,11 @@ func TestDMGetThresholdProfileRemoteErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThresholdProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThresholdProfile: func(args, reply any) error { return utils.ErrNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -463,8 +463,8 @@ func TestDMGetStatQueue(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetStatQueue: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetStatQueue: func(args, reply any) error { rpl := &StatQueue{ Tenant: "cgrates.org", ID: "StatsID", @@ -562,8 +562,8 @@ func TestDMSetAccount(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetAccount: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetAccount: func(args, reply any) error { accApiOpts, cancast := args.(AccountWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -632,8 +632,8 @@ func TestDMRemoveAccount(t *testing.T) { clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveAccount: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1RemoveAccount: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -696,8 +696,8 @@ func TestDmSetFilter(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetFilter: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetFilter: func(args, reply any) error { fltr, cancast := args.(FilterWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -751,8 +751,8 @@ func TestDMSetThreshold(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetThreshold: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetThreshold: func(args, reply any) error { thS, cancast := args.(ThresholdWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -807,8 +807,8 @@ func TestDmRemoveThreshold(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveThreshold: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1RemoveThreshold: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -856,8 +856,8 @@ func TestDMReverseDestinationRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetReverseDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetReverseDestination: func(args, reply any) error { dest, cancast := args.(Destination) if !cancast { return utils.ErrNotConvertible @@ -912,8 +912,8 @@ func TestDMStatQueueRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetStatQueue: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetStatQueue: func(args, reply any) error { sqApiOpts, cancast := args.(StatQueueWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -921,7 +921,7 @@ func TestDMStatQueueRemote(t *testing.T) { dm.dataDB.SetStatQueueDrv(nil, sqApiOpts.StatQueue) return nil }, - utils.ReplicatorSv1RemoveStatQueue: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveStatQueue: func(args, reply any) error { tntIDApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -986,8 +986,8 @@ func TestDmTimingR(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetTiming: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetTiming: func(args, reply any) error { tpTimingApiOpts, cancast := args.(utils.TPTimingWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -995,7 +995,7 @@ func TestDmTimingR(t *testing.T) { dm.DataDB().SetTimingDrv(tpTimingApiOpts.TPTiming) return nil }, - utils.ReplicatorSv1RemoveTiming: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveTiming: func(args, reply any) error { id, cancast := args.(string) if !cancast { return utils.ErrNotConvertible @@ -1056,8 +1056,8 @@ func TestDMSetActionTriggers(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetActionTriggers: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetActionTriggers: func(args, reply any) error { setActTrgAOpts, cancast := args.(SetActionTriggersArgWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1065,7 +1065,7 @@ func TestDMSetActionTriggers(t *testing.T) { dm.DataDB().SetActionTriggersDrv(setActTrgAOpts.Key, setActTrgAOpts.Attrs) return nil }, - utils.ReplicatorSv1RemoveActionTriggers: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveActionTriggers: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1133,8 +1133,8 @@ func TestDMResourceProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetResourceProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetResourceProfile: func(args, reply any) error { rscPrflApiOpts, cancast := args.(ResourceProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1142,7 +1142,7 @@ func TestDMResourceProfileRemote(t *testing.T) { dm.DataDB().SetResourceProfileDrv(rscPrflApiOpts.ResourceProfile) return nil }, - utils.ReplicatorSv1SetResource: func(args, reply interface{}) error { + utils.ReplicatorSv1SetResource: func(args, reply any) error { rscApiOpts, cancast := args.(ResourceWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1150,7 +1150,7 @@ func TestDMResourceProfileRemote(t *testing.T) { dm.DataDB().SetResourceDrv(rscApiOpts.Resource) return nil }, - utils.ReplicatorSv1RemoveResourceProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveResourceProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1223,8 +1223,8 @@ func TestDmSharedGroup(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetSharedGroup: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetSharedGroup: func(args, reply any) error { shGrpApiOpts, cancast := args.(SharedGroupWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1232,7 +1232,7 @@ func TestDmSharedGroup(t *testing.T) { dm.dataDB.SetSharedGroupDrv(shGrpApiOpts.SharedGroup) return nil }, - utils.ReplicatorSv1RemoveSharedGroup: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveSharedGroup: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1302,8 +1302,8 @@ func TestDMThresholdProfile(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetThresholdProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetThresholdProfile: func(args, reply any) error { thPApiOpts, cancast := args.(ThresholdProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1311,7 +1311,7 @@ func TestDMThresholdProfile(t *testing.T) { dm.DataDB().SetThresholdProfileDrv(thPApiOpts.ThresholdProfile) return nil }, - utils.ReplicatorSv1SetThreshold: func(args, reply interface{}) error { + utils.ReplicatorSv1SetThreshold: func(args, reply any) error { thApiOpts, cancast := args.(ThresholdWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1319,7 +1319,7 @@ func TestDMThresholdProfile(t *testing.T) { dm.DataDB().SetThresholdDrv(thApiOpts.Threshold) return nil }, - utils.ReplicatorSv1RemoveThresholdProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveThresholdProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1382,8 +1382,8 @@ func TestDMRemoveThresholdProfileErr(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThresholdProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThresholdProfile: func(args, reply any) error { return fmt.Errorf("Can't Replicate") }, }, @@ -1441,8 +1441,8 @@ func TestDmDispatcherHost(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetDispatcherHost: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetDispatcherHost: func(args, reply any) error { dspApiOpts, cancast := args.(DispatcherHostWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1450,7 +1450,7 @@ func TestDmDispatcherHost(t *testing.T) { dm.DataDB().SetDispatcherHostDrv(dspApiOpts.DispatcherHost) return nil }, - utils.ReplicatorSv1RemoveDispatcherHost: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveDispatcherHost: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1514,11 +1514,11 @@ func TestGetDispatcherHostErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherHost: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherHost: func(args, reply any) error { return utils.ErrDSPHostNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -1574,8 +1574,8 @@ func TestChargerProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetDispatcherHost: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetDispatcherHost: func(args, reply any) error { chrgPrflApiOpts, cancast := args.(ChargerProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1583,7 +1583,7 @@ func TestChargerProfileRemote(t *testing.T) { dm.DataDB().SetChargerProfileDrv(chrgPrflApiOpts.ChargerProfile) return nil }, - utils.ReplicatorSv1RemoveChargerProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveChargerProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1649,8 +1649,8 @@ func TestDispatcherProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetDispatcherProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetDispatcherProfile: func(args, reply any) error { dspApiOpts, cancast := args.(DispatcherProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1658,7 +1658,7 @@ func TestDispatcherProfileRemote(t *testing.T) { dm.DataDB().SetDispatcherProfileDrv(dspApiOpts.DispatcherProfile) return nil }, - utils.ReplicatorSv1RemoveDispatcherProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveDispatcherProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1721,8 +1721,8 @@ func TestRouteProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetRouteProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetRouteProfile: func(args, reply any) error { routeApiOpts, cancast := args.(RouteProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1730,7 +1730,7 @@ func TestRouteProfileRemote(t *testing.T) { dm.DataDB().SetRouteProfileDrv(routeApiOpts.RouteProfile) return nil }, - utils.ReplicatorSv1RemoveRouteProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveRouteProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1790,8 +1790,8 @@ func TestRatingPlanRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetRatingPlan: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetRatingPlan: func(args, reply any) error { rPnApiOpts, cancast := args.(RatingPlanWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1799,7 +1799,7 @@ func TestRatingPlanRemote(t *testing.T) { dm.DataDB().SetRatingPlanDrv(rPnApiOpts.RatingPlan) return nil }, - utils.ReplicatorSv1RemoveRatingPlan: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveRatingPlan: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1881,8 +1881,8 @@ func TestGetResourceRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetResource: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetResource: func(args, reply any) error { tntApiOpts, cancast := args.(*utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -1891,7 +1891,7 @@ func TestGetResourceRemote(t *testing.T) { *reply.(**Resource) = rS return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -1950,8 +1950,8 @@ func TestGetResourceProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetResourceProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetResourceProfile: func(args, reply any) error { tntApiOpts, cancast := args.(*utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2006,8 +2006,8 @@ func TestGetActionTriggers(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetActionTriggers: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetActionTriggers: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2016,7 +2016,7 @@ func TestGetActionTriggers(t *testing.T) { *reply.(*ActionTriggers) = aT return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, @@ -2074,11 +2074,11 @@ func TestGetActionTriggersErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetActionTriggers: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetActionTriggers: func(args, reply any) error { return utils.ErrNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -2148,8 +2148,8 @@ func TestGetSharedGroupRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetSharedGroup: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetSharedGroup: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2203,8 +2203,8 @@ func TestGetStatQueueProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetStatQueueProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetStatQueueProfile: func(args, reply any) error { tntApiOpts, cancast := args.(*utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2266,8 +2266,8 @@ func TestStatQueueProfileRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetStatQueueProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetStatQueueProfile: func(args, reply any) error { sqPApiOpts, cancast := args.(StatQueueProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2275,7 +2275,7 @@ func TestStatQueueProfileRemote(t *testing.T) { dm.DataDB().SetStatQueueProfileDrv(sqPApiOpts.StatQueueProfile) return nil }, - utils.ReplicatorSv1SetStatQueue: func(args, reply interface{}) error { + utils.ReplicatorSv1SetStatQueue: func(args, reply any) error { sqApiOpts, cancast := args.(StatQueueWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2324,8 +2324,8 @@ func TestDMActionsRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetActions: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetActions: func(args, reply any) error { sArgApiOpts, cancast := args.(SetActionsArgsWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2333,7 +2333,7 @@ func TestDMActionsRemote(t *testing.T) { dm.DataDB().SetActionsDrv(sArgApiOpts.Key, sArgApiOpts.Acs) return nil }, - utils.ReplicatorSv1GetActions: func(args, reply interface{}) error { + utils.ReplicatorSv1GetActions: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2341,7 +2341,7 @@ func TestDMActionsRemote(t *testing.T) { dm.DataDB().GetActionsDrv(strApiOpts.Arg) return nil }, - utils.ReplicatorSv1RemoveActions: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveActions: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2410,8 +2410,8 @@ func TestGetDispatcherHost(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherHost: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherHost: func(args, reply any) error { tntApiOpts, cancast := args.(*utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2465,8 +2465,8 @@ func TestGetReverseDestinationRemote(t *testing.T) { ids := []string{"dest1", "dest2"} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetReverseDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetReverseDestination: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2492,8 +2492,8 @@ func TestGetReverseDestinationRemote(t *testing.T) { Cache = NewCacheS(cfg, dm, nil) clientConn2 := make(chan rpcclient.ClientConnector, 1) clientConn2 <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate") }, }, @@ -2543,8 +2543,8 @@ func TestDMRemoveDestination(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1RemoveDestination: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2552,7 +2552,7 @@ func TestDMRemoveDestination(t *testing.T) { dm.DataDB().RemoveDestinationDrv(strApiOpts.Arg, utils.NonTransactional) return nil }, - utils.ReplicatorSv1GetReverseDestination: func(args, reply interface{}) error { + utils.ReplicatorSv1GetReverseDestination: func(args, reply any) error { strApiOpts, cancast := args.(utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2579,8 +2579,8 @@ func TestDMRemoveDestination(t *testing.T) { Cache = NewCacheS(cfg, dm, nil) clientConn2 := make(chan rpcclient.ClientConnector, 1) clientConn2 <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(args, reply any) error { return errors.New("Can't replicate") }, }, @@ -2624,8 +2624,8 @@ func TestDMRemoveFilter(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveFilter: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1RemoveFilter: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2633,7 +2633,7 @@ func TestDMRemoveFilter(t *testing.T) { dm.dataDB.RemoveFilterDrv(tntApiOpts.TenantID.Tenant, tntApiOpts.TenantID.ID) return nil }, - utils.ReplicatorSv1GetIndexes: func(args, reply interface{}) error { + utils.ReplicatorSv1GetIndexes: func(args, reply any) error { return nil }, }, @@ -2714,8 +2714,8 @@ func TestRemoveStatQueueProfile(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveStatQueueProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1RemoveStatQueueProfile: func(args, reply any) error { tntApiOpts, cancast := args.(utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2723,7 +2723,7 @@ func TestRemoveStatQueueProfile(t *testing.T) { dm.DataDB().RemStatQueueProfileDrv(tntApiOpts.Tenant, tntApiOpts.ID) return nil }, - utils.ReplicatorSv1GetIndexes: func(args, reply interface{}) error { + utils.ReplicatorSv1GetIndexes: func(args, reply any) error { return errors.New("Can't replicate") }, @@ -2790,8 +2790,8 @@ func TestDMGetTimingRemote(t *testing.T) { clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetTiming: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetTiming: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2815,8 +2815,8 @@ func TestDMGetTimingRemote(t *testing.T) { Cache = NewCacheS(cfg, dm, nil) clientConn2 := make(chan rpcclient.ClientConnector, 1) clientConn2 <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate") }, }, @@ -2863,8 +2863,8 @@ func TestDmGetActions(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetActions: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetActions: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2911,8 +2911,8 @@ func TestDMSetLoadIDs(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetLoadIDs: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetLoadIDs: func(args, reply any) error { ldApiOpts, cancast := args.(*utils.LoadIDsWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -2976,8 +2976,8 @@ func TestGetItemLoadIDsRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetItemLoadIDs: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetItemLoadIDs: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3009,8 +3009,8 @@ func TestGetItemLoadIDsRemote(t *testing.T) { Cache = NewCacheS(cfg, dm, nil) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { return errors.New("Can't replicate") }, + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate") }, }, } connMgr2 := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ @@ -3051,12 +3051,12 @@ func TestDMItemLoadIDsRemoteErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetItemLoadIDs: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetItemLoadIDs: func(args, reply any) error { *reply.(*map[string]int64) = ld return utils.ErrNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { return errors.New("Can't replicate") }, + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate") }, }, } db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) @@ -3120,8 +3120,8 @@ func TestActionPlanRemote(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetActionPlan: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetActionPlan: func(args, reply any) error { setActPlnOpts, cancast := args.(*SetActionPlanArgWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3129,7 +3129,7 @@ func TestActionPlanRemote(t *testing.T) { dm.dataDB.SetActionPlanDrv(setActPlnOpts.Key, setActPlnOpts.Ats) return nil }, - utils.ReplicatorSv1RemoveActionPlan: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveActionPlan: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3137,7 +3137,7 @@ func TestActionPlanRemote(t *testing.T) { dm.DataDB().RemoveActionPlanDrv(strApiOpts.Arg) return nil }, - utils.ReplicatorSv1GetAllActionPlans: func(args, reply interface{}) error { + utils.ReplicatorSv1GetAllActionPlans: func(args, reply any) error { *reply.(*map[string]*ActionPlan) = map[string]*ActionPlan{ "act_key": actPln, @@ -3195,8 +3195,8 @@ func TestAccountActionPlansRemote(t *testing.T) { clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetAccountActionPlans: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetAccountActionPlans: func(args, reply any) error { setActPlnOpts, cancast := args.(*SetActionPlanArgWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3204,7 +3204,7 @@ func TestAccountActionPlansRemote(t *testing.T) { dm.dataDB.SetActionPlanDrv(setActPlnOpts.Key, setActPlnOpts.Ats) return nil }, - utils.ReplicatorSv1RemAccountActionPlans: func(args, reply interface{}) error { + utils.ReplicatorSv1RemAccountActionPlans: func(args, reply any) error { return nil }, @@ -3478,8 +3478,8 @@ func TestDMRatingProfile(t *testing.T) { clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetRatingProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetRatingProfile: func(args, reply any) error { rtPrfApiOpts, cancast := args.(*RatingProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3487,7 +3487,7 @@ func TestDMRatingProfile(t *testing.T) { dm.dataDB.SetRatingProfileDrv(rtPrfApiOpts.RatingProfile) return nil }, - utils.ReplicatorSv1RemoveRatingProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveRatingProfile: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3495,7 +3495,7 @@ func TestDMRatingProfile(t *testing.T) { dm.DataDB().RemoveRatingProfileDrv(strApiOpts.Arg) return nil }, - utils.ReplicatorSv1GetRatingProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1GetRatingProfile: func(args, reply any) error { strApiOpts, cancast := args.(*utils.StringWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -3556,7 +3556,7 @@ func TestUpdateFilterDispatcherIndex(t *testing.T) { ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), }, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, } if err := dm.SetDispatcherProfile(disp, true); err != nil { @@ -3630,12 +3630,12 @@ func TestDMGetRatingPlan(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetRatingPlan: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetRatingPlan: func(args, reply any) error { *reply.(**RatingPlan) = rpL return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate ") }, @@ -3693,12 +3693,12 @@ func TestDMChargerProfile(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetChargerProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetChargerProfile: func(args, reply any) error { *reply.(**ChargerProfile) = chP return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate ") }, @@ -3751,26 +3751,26 @@ func TestDMDispatcherProfile(t *testing.T) { ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), }, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203", utils.MetaRatio: "2"}, + Params: map[string]any{"0": "192.168.54.203", utils.MetaRatio: "2"}, Blocker: false, }, }, } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherProfile: func(args, reply any) error { *reply.(**DispatcherProfile) = dPP return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't replicate ") }, @@ -4123,11 +4123,11 @@ func TestCacheDataFromDBErr(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThresholdProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetThresholdProfile: func(args, reply any) error { return errors.New("Another Error") }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return fmt.Errorf("New Error") }, }, @@ -4191,12 +4191,12 @@ func TestDMGetRouteProfile(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetRouteProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetRouteProfile: func(args, reply any) error { *reply.(**RouteProfile) = rpL return nil }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -4244,11 +4244,11 @@ func TestDMGetRouteProfileErr(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetRouteProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetRouteProfile: func(args, reply any) error { return utils.ErrNotFound }, - utils.CacheSv1ReplicateSet: func(args, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args, reply any) error { return errors.New("Can't Replicate") }, }, @@ -4409,12 +4409,12 @@ func TestDMAttributeProfile(t *testing.T) { } clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAttributeProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetAttributeProfile: func(args, reply any) error { *reply.(**AttributeProfile) = attrPrf return nil }, - utils.ReplicatorSv1SetAttributeProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1SetAttributeProfile: func(args, reply any) error { attrPrfApiOpts, cancast := args.(*AttributeProfileWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -4422,7 +4422,7 @@ func TestDMAttributeProfile(t *testing.T) { dm.DataDB().SetAttributeProfileDrv(attrPrfApiOpts.AttributeProfile) return nil }, - utils.ReplicatorSv1RemoveAttributeProfile: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveAttributeProfile: func(args, reply any) error { tntApiOpts, cancast := args.(*utils.TenantIDWithAPIOpts) if !cancast { return utils.ErrNotConvertible @@ -4586,8 +4586,8 @@ func TestDmIndexes(t *testing.T) { cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetIndexes: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetIndexes: func(args, reply any) error { setcastIndxArg, cancast := args.(*utils.SetIndexesArg) if !cancast { return utils.ErrNotConvertible @@ -4595,7 +4595,7 @@ func TestDmIndexes(t *testing.T) { dm.DataDB().SetIndexesDrv(setcastIndxArg.IdxItmType, setcastIndxArg.TntCtx, setcastIndxArg.Indexes, true, utils.NonTransactional) return nil }, - utils.ReplicatorSv1RemoveIndexes: func(args, reply interface{}) error { + utils.ReplicatorSv1RemoveIndexes: func(args, reply any) error { gIdxArg, cancast := args.(*utils.GetIndexesArg) if !cancast { return utils.ErrNotConvertible @@ -4646,8 +4646,8 @@ func TestDmCheckFilters(t *testing.T) { cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetFilter: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetFilter: func(args, reply any) error { fltr := &Filter{ ID: "FLTR_1", Tenant: "cgrates.org", @@ -4688,8 +4688,8 @@ func TestRemoveFilterIndexes(t *testing.T) { cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetIndexes: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetIndexes: func(args, reply any) error { return utils.ErrNotImplemented }, }, @@ -4743,8 +4743,8 @@ func TestGetDispatcherProfileErr(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherProfile: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherProfile: func(args, reply any) error { return utils.ErrDSPProfileNotFound }, }, @@ -4891,7 +4891,7 @@ func TestDmCheckFiltersRmt(t *testing.T) { cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)} db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) - clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error { + clientConn <- clMock(func(serviceMethod string, _, _ any) error { if serviceMethod == utils.ReplicatorSv1GetFilter { return nil diff --git a/engine/destinations.go b/engine/destinations.go index db92601cf..ff6d7f0ab 100644 --- a/engine/destinations.go +++ b/engine/destinations.go @@ -40,7 +40,7 @@ type Destination struct { type DestinationWithAPIOpts struct { *Destination Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // returns prefix precision diff --git a/engine/destinations_test.go b/engine/destinations_test.go index 7637082e3..005f0467b 100644 --- a/engine/destinations_test.go +++ b/engine/destinations_test.go @@ -193,8 +193,8 @@ func TestDMSetDestinationSucces(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetDestination: func(args, reply any) error { *reply.(*string) = "reply" return nil }, @@ -229,8 +229,8 @@ func TestDMSetAccountSucces(t *testing.T) { }*/ clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetAccount: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetAccount: func(args, reply any) error { *reply.(*string) = "reply" return nil }, @@ -273,8 +273,8 @@ func TestDMSetReverseDestination(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetReverseDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ReplicatorSv1SetReverseDestination: func(args, reply any) error { *reply.(*string) = "reply" return nil }, diff --git a/engine/dispatcherprfl.go b/engine/dispatcherprfl.go index 11aee7569..bf55cb959 100644 --- a/engine/dispatcherprfl.go +++ b/engine/dispatcherprfl.go @@ -30,9 +30,9 @@ import ( type DispatcherHostProfile struct { ID string FilterIDs []string - Weight float64 // applied in case of multiple connections need to be ordered - Params map[string]interface{} // additional parameters stored for a session - Blocker bool // no connection after this one + Weight float64 // applied in case of multiple connections need to be ordered + Params map[string]any // additional parameters stored for a session + Blocker bool // no connection after this one } func (dC *DispatcherHostProfile) Clone() (cln *DispatcherHostProfile) { @@ -48,7 +48,7 @@ func (dC *DispatcherHostProfile) Clone() (cln *DispatcherHostProfile) { } } if dC.Params != nil { - cln.Params = make(map[string]interface{}) + cln.Params = make(map[string]any) for k, v := range dC.Params { cln.Params[k] = v } @@ -106,7 +106,7 @@ type DispatcherProfile struct { FilterIDs []string ActivationInterval *utils.ActivationInterval // activation interval Strategy string - StrategyParams map[string]interface{} // ie for distribution, set here the pool weights + StrategyParams map[string]any // ie for distribution, set here the pool weights Weight float64 // used for profile sorting on match Hosts DispatcherHostProfiles // dispatch to these connections } @@ -114,7 +114,7 @@ type DispatcherProfile struct { // DispatcherProfileWithAPIOpts is used in replicatorV1 for dispatcher type DispatcherProfileWithAPIOpts struct { *DispatcherProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (dP *DispatcherProfile) TenantID() string { @@ -139,7 +139,7 @@ type DispatcherHost struct { // DispatcherHostWithOpts is used in replicatorV1 for dispatcher type DispatcherHostWithAPIOpts struct { *DispatcherHost - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the tenant concatenated with the ID @@ -148,7 +148,7 @@ func (dH *DispatcherHost) TenantID() string { } // Call will build and cache the connection if it is not defined yet then will execute the method on conn -func (dH *DispatcherHost) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (dH *DispatcherHost) Call(serviceMethod string, args any, reply any) (err error) { if dH.rpcConn == nil { // connect the rpcConn cfg := config.CgrConfig() diff --git a/engine/dispatcherprfl_test.go b/engine/dispatcherprfl_test.go index 1dfaef765..238a98d38 100644 --- a/engine/dispatcherprfl_test.go +++ b/engine/dispatcherprfl_test.go @@ -226,11 +226,11 @@ func TestDispatcherProfilesSort(t *testing.T) { type testRPCHost struct { serviceMethod string - args interface{} - reply interface{} + args any + reply any } -func (v *testRPCHost) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (v *testRPCHost) Call(serviceMethod string, args any, reply any) error { v.serviceMethod = serviceMethod v.args = args v.reply = reply @@ -301,7 +301,7 @@ func TestDispatcherHostProfileCloneWithParams(t *testing.T) { ID: "testID", Weight: 10, Blocker: false, - Params: map[string]interface{}{ + Params: map[string]any{ "param1": "value of param1", "param2": "value of param2", }, @@ -311,7 +311,7 @@ func TestDispatcherHostProfileCloneWithParams(t *testing.T) { ID: "testID", Weight: 10, Blocker: false, - Params: map[string]interface{}{ + Params: map[string]any{ "param1": "value of param1", "param2": "value of param2", }, diff --git a/engine/dynamicdp.go b/engine/dynamicdp.go index 5254696e6..6b49854bf 100644 --- a/engine/dynamicdp.go +++ b/engine/dynamicdp.go @@ -66,7 +66,7 @@ var initialDPPrefixes = utils.NewStringSet([]string{ utils.MetaHdr, utils.MetaTrl, utils.MetaCfg, utils.MetaTenant}) -func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -80,7 +80,7 @@ func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val interface{}, err e return } -func (dDP *dynamicDP) fieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *dynamicDP) fieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) < 2 { return nil, fmt.Errorf("invalid fieldname <%s>", fldPath) } @@ -171,7 +171,7 @@ func (dDP *libphonenumberDP) FieldAsString(fldPath []string) (string, error) { return utils.IfaceAsString(val), nil } -func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { dDP.setDefaultFields() val = dDP.cache @@ -183,7 +183,7 @@ func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val interface{} return } -func (dDP *libphonenumberDP) fieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *libphonenumberDP) fieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) != 1 { return nil, fmt.Errorf("invalid field path <%+v> for libphonenumberDP", fldPath) } diff --git a/engine/dynamicdp_test.go b/engine/dynamicdp_test.go index bb4b57f85..792ce6eff 100644 --- a/engine/dynamicdp_test.go +++ b/engine/dynamicdp_test.go @@ -37,8 +37,8 @@ func TestDynamicDpFieldAsInterface(t *testing.T) { dDp := newDynamicDP([]string{}, []string{utils.ConcatenatedKey(utils.MetaInternal, utils.StatSConnsCfg)}, []string{}, "cgrates.org", ms) clientconn := make(chan rpcclient.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { rpl := &map[string]float64{ "stat1": 31, } diff --git a/engine/eventcost.go b/engine/eventcost.go index 0c3cc4be2..563dcd6c2 100644 --- a/engine/eventcost.go +++ b/engine/eventcost.go @@ -950,7 +950,7 @@ func (ec *EventCost) Trim(atUsage time.Duration) (srplusEC *EventCost, err error } // FieldAsInterface func to implement DataProvider -func (ec *EventCost) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ec *EventCost) FieldAsInterface(fldPath []string) (val any, err error) { if ec.cache == nil { ec.initCache() // fix gob deserialization } @@ -974,7 +974,7 @@ func (ec *EventCost) FieldAsInterface(fldPath []string) (val interface{}, err er } // fieldAsInterface the implementation of FieldAsInterface -func (ec *EventCost) fieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ec *EventCost) fieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: // "Charges[1]" opath, indx := utils.GetPathIndex(fldPath[0]) @@ -1057,7 +1057,7 @@ func (ec *EventCost) fieldAsInterface(fldPath []string) (val interface{}, err er return nil, fmt.Errorf("unsupported field prefix: <%s>", fldPath[0]) } -func (ec *EventCost) getChargesForPath(fldPath []string, chr *ChargingInterval) (val interface{}, err error) { +func (ec *EventCost) getChargesForPath(fldPath []string, chr *ChargingInterval) (val any, err error) { if chr == nil { return nil, utils.ErrNotFound } @@ -1096,7 +1096,7 @@ func (ec *EventCost) getChargesForPath(fldPath []string, chr *ChargingInterval) return incr.FieldAsInterface(fldPath) } -func (ec *EventCost) getRatingForPath(fldPath []string, rating *RatingUnit) (val interface{}, err error) { +func (ec *EventCost) getRatingForPath(fldPath []string, rating *RatingUnit) (val any, err error) { if rating == nil { return nil, utils.ErrNotFound } @@ -1155,7 +1155,7 @@ func (ec *EventCost) getRatingForPath(fldPath []string, rating *RatingUnit) (val return rating.FieldAsInterface(fldPath) } -func (ec *EventCost) getAcountingForPath(fldPath []string, bc *BalanceCharge) (val interface{}, err error) { +func (ec *EventCost) getAcountingForPath(fldPath []string, bc *BalanceCharge) (val any, err error) { if bc == nil { return nil, utils.ErrNotFound } diff --git a/engine/eventcost_test.go b/engine/eventcost_test.go index de6063c5e..7919ff098 100644 --- a/engine/eventcost_test.go +++ b/engine/eventcost_test.go @@ -3782,7 +3782,7 @@ func TestECAsDataProvider2(t *testing.T) { func TestECFieldAsInterfaceNilEventCost(t *testing.T) { dft := config.NewDefaultCGRConfig() - cdr, err := NewMapEvent(map[string]interface{}{}).AsCDR(dft, "cgrates.org", "UTC") + cdr, err := NewMapEvent(map[string]any{}).AsCDR(dft, "cgrates.org", "UTC") if err != nil { t.Fatal(err) } diff --git a/engine/exportrequest.go b/engine/exportrequest.go index 062915782..8291a7d85 100644 --- a/engine/exportrequest.go +++ b/engine/exportrequest.go @@ -54,7 +54,7 @@ func (eeR *ExportRequest) String() string { } // FieldAsInterface implements utils.DataProvider -func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: var dp utils.DataProvider @@ -91,7 +91,7 @@ func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val interface{}, e // FieldAsString implements utils.DataProvider func (eeR *ExportRequest) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any if iface, err = eeR.FieldAsInterface(fldPath); err != nil { return } @@ -108,7 +108,7 @@ func (eeR *ExportRequest) SetFields(tplFlds []*config.FCTemplate) (err error) { continue } - var out interface{} + var out any out, err = eeR.ParseField(tplFld) if err != nil { if err == utils.ErrNotFound { @@ -170,7 +170,7 @@ func (eeR *ExportRequest) SetAsSlice(fullPath *utils.FullPath, val *utils.DataLe // ParseField outputs the value based on the template item func (eeR *ExportRequest) ParseField( - cfgFld *config.FCTemplate) (out interface{}, err error) { + cfgFld *config.FCTemplate) (out any, err error) { tmpType := cfgFld.Type switch tmpType { case utils.MetaMaskedDestination: @@ -231,7 +231,7 @@ func (eeR *ExportRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) switch prfx := fullPath.PathSlice[0]; prfx { case utils.MetaUCH: path := fullPath.Path[5:] - var prv interface{} + var prv any if prvI, ok := Cache.Get(utils.CacheUCH, path); !ok { prv = val.Data } else { @@ -239,7 +239,7 @@ func (eeR *ExportRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) } return Cache.Set(utils.CacheUCH, path, prv, nil, true, utils.NonTransactional) case utils.MetaOpts: - var prv interface{} + var prv any if prv, err = eeR.inData[utils.MetaOpts].FieldAsInterface(fullPath.PathSlice[1:]); err != nil { if err != utils.ErrNotFound { return diff --git a/engine/filterhelpers.go b/engine/filterhelpers.go index a7cc8b6e4..c6f2037f2 100644 --- a/engine/filterhelpers.go +++ b/engine/filterhelpers.go @@ -56,7 +56,7 @@ func MatchingItemIDsForEvent(ev utils.MapStorage, stringFldIDs, prefixFldIDs, su fieldIDs = &allFieldIDs } for _, fldName := range *fieldIDs { - var fieldValIf interface{} + var fieldValIf any fieldValIf, err = ev.FieldAsInterface(utils.SplitPath(fldName, utils.NestingSep[0], -1)) if err != nil && filterIndexTypes[i] != utils.MetaNone { continue diff --git a/engine/filters.go b/engine/filters.go index 253b18d62..9f51f70b7 100644 --- a/engine/filters.go +++ b/engine/filters.go @@ -205,7 +205,7 @@ type Filter struct { // FilterWithOpts the arguments for the replication type FilterWithAPIOpts struct { *Filter - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the tenant wit the ID diff --git a/engine/filters_test.go b/engine/filters_test.go index eefc60811..21010a7c4 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -857,10 +857,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - failEvent := map[string]interface{}{ + failEvent := map[string]any{ "Account": "1001", } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } fEv := utils.MapStorage{} @@ -892,10 +892,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Account": "2001", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Account": "1007", } fEv = utils.MapStorage{} @@ -933,10 +933,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Tenant": "anotherTenant.org", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Tenant": "cgrates.org", } fEv = utils.MapStorage{} @@ -962,10 +962,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ utils.Weight: 10, } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ utils.Weight: 20, } fEv = utils.MapStorage{} @@ -985,7 +985,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "EmptyString": "nonEmpty", "EmptySlice": []string{""}, "EmptyMap": map[string]string{"": ""}, @@ -995,7 +995,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { "EmptyPtrMap": &map[string]string{"": ""}, } var testnil *struct{} = nil - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "EmptyString": "", "EmptySlice": []string{}, "EmptyMap": map[string]string{}, @@ -1035,10 +1035,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { t.Errorf("For NewKey expecting: %+v, received: %+v", true, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Account": "1001", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Account": "1007", } fEv = utils.MapStorage{} @@ -1109,13 +1109,13 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1010", utils.Destination: "+49", utils.Weight: 10, } - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ utils.Tenant: "itsyscom.com", utils.AccountField: "dan", utils.Destination: "+4986517174963", @@ -1137,7 +1137,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if !pass { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - ev := map[string]interface{}{ + ev := map[string]any{ "Test": "MultipleCharacter", } pEv := utils.MapStorage{} @@ -1148,7 +1148,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ + ev = map[string]any{ "Test": "MultipleCharacter123456789MoreThan30Character", } pEv = utils.MapStorage{} @@ -1160,8 +1160,8 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - ev = map[string]interface{}{ - "Test": map[string]interface{}{ + ev = map[string]any{ + "Test": map[string]any{ "Test2": "MultipleCharacter", }, } @@ -1173,8 +1173,8 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ - "Test": map[string]interface{}{ + ev = map[string]any{ + "Test": map[string]any{ "Test2": "MultipleCharacter123456789MoreThan30Character", }, } @@ -1187,7 +1187,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ + ev = map[string]any{ utils.AccountField: "1003", utils.Subject: "1003", utils.Destination: "1002", @@ -1218,7 +1218,7 @@ func TestPassFilterMaxCost(t *testing.T) { dm: dmFilterPass, } //check with max usage -1 should fail - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ "MaxUsage": -1, } pEv := utils.MapStorage{} @@ -1230,7 +1230,7 @@ func TestPassFilterMaxCost(t *testing.T) { t.Errorf("Expecting: false , received: %+v", pass) } //check with max usage 0 should fail - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ "MaxUsage": 0, } pEv = utils.MapStorage{} @@ -1242,7 +1242,7 @@ func TestPassFilterMaxCost(t *testing.T) { t.Errorf("Expecting: false, received: %+v", pass) } //check with max usage 123 should pass - passEvent3 := map[string]interface{}{ + passEvent3 := map[string]any{ "MaxUsage": 123, } pEv = utils.MapStorage{} @@ -1270,7 +1270,7 @@ func TestPassFilterMissingField(t *testing.T) { dm: dmFilterPass, } - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ "test": "call", } pEv := utils.MapStorage{} @@ -1282,7 +1282,7 @@ func TestPassFilterMissingField(t *testing.T) { t.Errorf("Expecting: true , received: %+v", pass) } - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ "Category": "", } pEv = utils.MapStorage{} @@ -1294,7 +1294,7 @@ func TestPassFilterMissingField(t *testing.T) { t.Errorf("Expecting: true , received: %+v", pass) } - passEvent3 := map[string]interface{}{ + passEvent3 := map[string]any{ "Category": "call", } pEv = utils.MapStorage{} @@ -1536,7 +1536,7 @@ func TestPassPartial(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } fEv := utils.MapStorage{} @@ -1616,7 +1616,7 @@ func TestActivationIntervalPass(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "CustomTime": time.Date(2013, time.July, 1, 0, 0, 0, 0, time.UTC), } fEv := utils.MapStorage{} @@ -1900,7 +1900,7 @@ func TestFiltersPassTimingsTimeConvertErr(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ "AnswerTime": "invalid time", }, } @@ -1922,7 +1922,7 @@ func TestFiltersPassTimingsParseDPErr(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ "AnswerTime": "2018-01-07T17:00:10Z", }, } @@ -1953,8 +1953,8 @@ func TestFiltersPassTimingsCallSuccessful(t *testing.T) { client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.APIerSv1GetTiming: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.APIerSv1GetTiming: func(args, reply any) error { exp := &utils.TPTiming{ ID: "MIDNIGHT", Years: utils.Years{2020, 2018}, @@ -1980,7 +1980,7 @@ func TestFiltersPassTimingsCallSuccessful(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ "AnswerTime": "2018-01-07T17:00:10Z", }, } @@ -2003,7 +2003,7 @@ func TestFiltersPassTimingsCallErr(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ "AnswerTime": "2018-01-07T17:00:10Z", }, } @@ -2062,7 +2062,7 @@ func TestFiltersPassDestinationsCallErr(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", }, } @@ -2092,8 +2092,8 @@ func TestFiltersPassDestinationsCallSuccessSameDest(t *testing.T) { client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.APIerSv1GetReverseDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.APIerSv1GetReverseDestination: func(args, reply any) error { rply := []string{"1002"} *reply.(*[]string) = rply return nil @@ -2111,7 +2111,7 @@ func TestFiltersPassDestinationsCallSuccessSameDest(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1002", }, } @@ -2141,8 +2141,8 @@ func TestFiltersPassDestinationsCallSuccessParseErr(t *testing.T) { client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.APIerSv1GetReverseDestination: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.APIerSv1GetReverseDestination: func(args, reply any) error { rply := []string{"1002"} *reply.(*[]string) = rply return nil @@ -2160,7 +2160,7 @@ func TestFiltersPassDestinationsCallSuccessParseErr(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1002", }, } @@ -2225,7 +2225,7 @@ func TestFiltersPassGreaterThanErrIncomparable(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.Usage: nil, }, } @@ -2248,7 +2248,7 @@ func TestFiltersPassGreaterThanErrParseValues(t *testing.T) { t.Fatal(err) } dtP := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.Usage: "10", }, } @@ -2290,8 +2290,8 @@ func TestFilterGreaterThanOnObjectDP(t *testing.T) { cfg.FilterSCfg().ResourceSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) mockConn := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1GetResourceWithConfig: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1GetResourceWithConfig: func(args any, reply any) error { *(reply.(*ResourceWithConfig)) = ResourceWithConfig{ Resource: &Resource{}, } @@ -2323,7 +2323,7 @@ func TestWeightFromDynamics(t *testing.T) { cfg := config.NewDefaultCGRConfig() data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - passEvent := map[string]interface{}{ + passEvent := map[string]any{ utils.Destination: "+4986517174963", } @@ -2404,7 +2404,7 @@ func TestFilterLazyPassErr(t *testing.T) { dm: dm, } fltrID := "*string:~*req.Account:1007" - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } dm.dataDB = &DataDBMock{} diff --git a/engine/fscdr.go b/engine/fscdr.go index 5b1db347a..ac1f4b7c5 100644 --- a/engine/fscdr.go +++ b/engine/fscdr.go @@ -54,7 +54,7 @@ func NewFSCdr(body io.Reader, cgrCfg *config.CGRConfig) (*FSCdr, error) { return nil, err } if variables, ok := fsCdr.body[FS_CDR_MAP]; ok { - if variables, ok := variables.(map[string]interface{}); ok { + if variables, ok := variables.(map[string]any); ok { for k, v := range variables { fsCdr.vars[k] = v.(string) } @@ -66,7 +66,7 @@ func NewFSCdr(body io.Reader, cgrCfg *config.CGRConfig) (*FSCdr, error) { type FSCdr struct { cgrCfg *config.CGRConfig vars map[string]string - body map[string]interface{} // keeps the loaded body for extra field search + body map[string]any // keeps the loaded body for extra field search } func (fsCdr FSCdr) getCGRID() string { @@ -93,19 +93,19 @@ func (fsCdr FSCdr) getExtraFields() map[string]string { return extraFields } -func (fsCdr FSCdr) searchExtraField(field string, body map[string]interface{}) (result string) { +func (fsCdr FSCdr) searchExtraField(field string, body map[string]any) (result string) { for key, value := range body { if key == field { return utils.IfaceAsString(value) } switch v := value.(type) { - case map[string]interface{}: + case map[string]any: if result = fsCdr.searchExtraField(field, v); len(result) != 0 { return } - case []interface{}: + case []any: for _, item := range v { - if otherMap, ok := item.(map[string]interface{}); ok { + if otherMap, ok := item.(map[string]any); ok { if result = fsCdr.searchExtraField(field, otherMap); len(result) != 0 { return } diff --git a/engine/fscdr_test.go b/engine/fscdr_test.go index c120761df..6068bf13b 100644 --- a/engine/fscdr_test.go +++ b/engine/fscdr_test.go @@ -473,7 +473,7 @@ func TestFsCdrSearchExtraFieldInSlice(t *testing.T) { newReader := bytes.NewReader(body) if fsCdr, err := NewFSCdr(newReader, fsCdrCfg); err != nil { t.Error(err) - } else if value := fsCdr.searchExtraField("floatfld1", map[string]interface{}{"floatfld1": 6.4}); value != "6.4" { + } else if value := fsCdr.searchExtraField("floatfld1", map[string]any{"floatfld1": 6.4}); value != "6.4" { t.Errorf("Expecting: 6.4, received: %s", value) } } @@ -744,7 +744,7 @@ func TestNewFSCdrDecodeError(t *testing.T) { func TestSearchExtraFieldDefaultType(t *testing.T) { cgrCfg := config.NewDefaultCGRConfig() - newMap := map[string]interface{}{ + newMap := map[string]any{ "variables": map[string]string{ "cgr_orderid": "123", }, @@ -759,8 +759,8 @@ func TestSearchExtraFieldDefaultType(t *testing.T) { func TestSearchExtraFieldInterface(t *testing.T) { cgrCfg := config.NewDefaultCGRConfig() - newMap := map[string]interface{}{ //There is a slice with no maps - "variables": []interface{}{ + newMap := map[string]any{ + "variables": []any{ 2, "randomValue", true, diff --git a/engine/libattributes.go b/engine/libattributes.go index 391d4d329..1ae026623 100644 --- a/engine/libattributes.go +++ b/engine/libattributes.go @@ -50,7 +50,7 @@ type AttributeProfile struct { // AttributeProfileWithAPIOpts is used in replicatorV1 for dispatcher type AttributeProfileWithAPIOpts struct { *AttributeProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (ap *AttributeProfile) compileSubstitutes() (err error) { diff --git a/engine/libchargers.go b/engine/libchargers.go index 72378dd02..1ead1eec9 100644 --- a/engine/libchargers.go +++ b/engine/libchargers.go @@ -38,7 +38,7 @@ type ChargerProfile struct { // ChargerProfileWithAPIOpts is used in replicatorV1 for dispatcher type ChargerProfileWithAPIOpts struct { *ChargerProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (cP *ChargerProfile) TenantID() string { diff --git a/engine/libengine.go b/engine/libengine.go index a61a10818..8cb9fa8e2 100644 --- a/engine/libengine.go +++ b/engine/libengine.go @@ -122,7 +122,7 @@ func (s RPCClientSet) GetInternalChanel() chan rpcclient.ClientConnector { } // Call the implementation of the rpcclient.ClientConnector interface -func (s RPCClientSet) Call(method string, args interface{}, reply interface{}) error { +func (s RPCClientSet) Call(method string, args any, reply any) error { methodSplit := strings.Split(method, ".") if len(methodSplit) != 2 { return rpcclient.ErrUnsupporteServiceMethod diff --git a/engine/libeventcost.go b/engine/libeventcost.go index 6ff36d051..b68d9c963 100644 --- a/engine/libeventcost.go +++ b/engine/libeventcost.go @@ -165,7 +165,7 @@ func (cIt *ChargingIncrement) TotalCost() float64 { } // FieldAsInterface func to help EventCost FieldAsInterface -func (cIt *ChargingIncrement) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (cIt *ChargingIncrement) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -193,7 +193,7 @@ type BalanceCharge struct { } // FieldAsInterface func to help EventCost FieldAsInterface -func (bc *BalanceCharge) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (bc *BalanceCharge) FieldAsInterface(fldPath []string) (val any, err error) { if bc == nil || len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -238,7 +238,7 @@ func (bc *BalanceCharge) Clone() *BalanceCharge { } // RatingMatchedFilters a rating filter -type RatingMatchedFilters map[string]interface{} +type RatingMatchedFilters map[string]any // Equals returns if the RatingMatchedFilters are equal func (rf RatingMatchedFilters) Equals(oRF RatingMatchedFilters) bool { @@ -251,11 +251,11 @@ func (rf RatingMatchedFilters) Equals(oRF RatingMatchedFilters) bool { } // Clone creates a copy of RatingMatchedFilters -func (rf RatingMatchedFilters) Clone() (cln map[string]interface{}) { +func (rf RatingMatchedFilters) Clone() (cln map[string]any) { if rf == nil { return nil } - cln = make(map[string]interface{}) + cln = make(map[string]any) for key, value := range rf { cln[key] = value } @@ -263,7 +263,7 @@ func (rf RatingMatchedFilters) Clone() (cln map[string]interface{}) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (rf RatingMatchedFilters) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (rf RatingMatchedFilters) FieldAsInterface(fldPath []string) (val any, err error) { if rf == nil || len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -300,7 +300,7 @@ func (ct *ChargedTiming) Clone() (cln *ChargedTiming) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (ct ChargedTiming) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ct ChargedTiming) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -352,7 +352,7 @@ func (ru *RatingUnit) Clone() (cln *RatingUnit) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (ru RatingUnit) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ru RatingUnit) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -407,7 +407,7 @@ func (rfs RatingFilters) Clone() (cln RatingFilters) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (rfs RatingFilters) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (rfs RatingFilters) FieldAsInterface(fldPath []string) (val any, err error) { if rfs == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -450,7 +450,7 @@ func (crus Rating) Clone() (cln Rating) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (crus Rating) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (crus Rating) FieldAsInterface(fldPath []string) (val any, err error) { if crus == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -468,7 +468,7 @@ func (crus Rating) FieldAsInterface(fldPath []string) (val interface{}, err erro type ChargedRates map[string]RateGroups // FieldAsInterface func to help EventCost FieldAsInterface -func (crs ChargedRates) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (crs ChargedRates) FieldAsInterface(fldPath []string) (val any, err error) { if crs == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -522,7 +522,7 @@ func (crs ChargedRates) Clone() (cln ChargedRates) { type ChargedTimings map[string]*ChargedTiming // FieldAsInterface func to help EventCost FieldAsInterface -func (cts ChargedTimings) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (cts ChargedTimings) FieldAsInterface(fldPath []string) (val any, err error) { if cts == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -590,7 +590,7 @@ func (cbs Accounting) Clone() (cln Accounting) { } // FieldAsInterface func to help EventCost FieldAsInterface -func (cbs Accounting) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (cbs Accounting) FieldAsInterface(fldPath []string) (val any, err error) { if cbs == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -605,7 +605,7 @@ func (cbs Accounting) FieldAsInterface(fldPath []string) (val interface{}, err e } // IfaceAsEventCost converts an interface to EventCost -func IfaceAsEventCost(itm interface{}) (ec *EventCost, err error) { +func IfaceAsEventCost(itm any) (ec *EventCost, err error) { switch otm := itm.(type) { case nil: case *EventCost: @@ -616,7 +616,7 @@ func IfaceAsEventCost(itm interface{}) (ec *EventCost, err error) { return nil, fmt.Errorf("JSON cannot unmarshal to *EventCost, err: %s", errUnmarshal.Error()) } ec = &rawEC - case map[string]interface{}: + case map[string]any: ec, err = IfaceAsEventCost(utils.ToJSON(otm)) default: err = utils.ErrNotConvertibleTF(reflect.TypeOf(otm).String(), "*EventCost") diff --git a/engine/libroutes.go b/engine/libroutes.go index 2400396fe..a5e511429 100644 --- a/engine/libroutes.go +++ b/engine/libroutes.go @@ -30,8 +30,8 @@ import ( type SortedRoute struct { RouteID string RouteParameters string - SortingData map[string]interface{} // store here extra info like cost or stats (can contain the data that we do not use to sort after) - sortingDataF64 map[string]float64 // only the data we sort after + SortingData map[string]any // store here extra info like cost or stats (can contain the data that we do not use to sort after) + sortingDataF64 map[string]float64 // only the data we sort after } // SortedRoutes is returned as part of GetRoutes call diff --git a/engine/libroutes_test.go b/engine/libroutes_test.go index da56e1a37..e0ea3eaae 100644 --- a/engine/libroutes_test.go +++ b/engine/libroutes_test.go @@ -36,7 +36,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -48,7 +48,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 20.0, }, @@ -60,7 +60,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.05, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -77,7 +77,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.05, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -89,7 +89,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 20.0, }, @@ -101,7 +101,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -123,7 +123,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -133,7 +133,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -143,7 +143,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.5, }, RouteParameters: "param3", @@ -158,7 +158,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -168,7 +168,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.5, }, RouteParameters: "param3", @@ -178,7 +178,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -201,7 +201,7 @@ func TestSortedRoutesDigest(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -211,7 +211,7 @@ func TestSortedRoutesDigest(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -235,7 +235,7 @@ func TestSortedRoutesDigest2(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 30.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -245,7 +245,7 @@ func TestSortedRoutesDigest2(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -281,7 +281,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 15.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, }, @@ -293,7 +293,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.2, utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2, utils.Weight: 20.0, }, @@ -305,7 +305,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.05, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -322,7 +322,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.2, utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2, utils.Weight: 20.0, }, @@ -334,7 +334,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 15.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, }, @@ -346,7 +346,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: 0.05, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -373,7 +373,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: 0.5, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.5, utils.Weight: 10.0, utils.MetaACD: 0.5, @@ -389,7 +389,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: 0.5, utils.MetaTCD: 4.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, utils.MetaACD: 0.5, @@ -405,7 +405,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: 0.4, utils.MetaTCD: 5.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.1, utils.Weight: 17.8, utils.MetaACD: 0.4, @@ -441,7 +441,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: 0.5, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaACD: 0.5, utils.MetaTCD: 1.1, @@ -457,7 +457,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: 0.5, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 17.0, utils.MetaACD: 0.5, utils.MetaTCD: 1.1, @@ -471,7 +471,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: 0.7, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.5, utils.Weight: 10.0, utils.MetaACD: 0.7, @@ -507,7 +507,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: 0.7, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaPDD: 0.7, utils.MetaTCD: 1.1, @@ -521,7 +521,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: 1.2, utils.MetaTCD: 1.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaPDD: 1.2, utils.MetaTCD: 1.1, @@ -535,7 +535,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: 0.7, utils.MetaTCD: 10.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaPDD: 0.7, utils.MetaTCD: 10.1, @@ -566,7 +566,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: 15.0, utils.MetaASR: 1.2, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 15.0, utils.MetaASR: 1.2, @@ -579,7 +579,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: 20.0, utils.MetaASR: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 20.0, utils.MetaASR: -1.0, @@ -592,7 +592,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: 10.0, utils.MetaASR: 1.2, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.1, utils.MetaTCD: 10.0, utils.MetaASR: 1.2, @@ -624,7 +624,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: -1.0, utils.MetaTCC: 10.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 15.0, utils.MetaASR: -1.0, @@ -639,7 +639,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: 1.2, utils.MetaTCC: 10.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 20.0, utils.MetaASR: 1.2, @@ -654,7 +654,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: 1.2, utils.MetaTCC: 10.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.1, utils.MetaTCD: 10.0, utils.MetaASR: 1.2, @@ -685,7 +685,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: 15.0, utils.MetaACD: 0.2, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: 0.2, }, @@ -696,7 +696,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: 25.0, utils.MetaACD: 0.2, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: 0.2, }, @@ -707,7 +707,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: 20.0, utils.MetaACD: 0.1, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: 0.1, }, @@ -736,7 +736,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: 15.0, utils.MetaACD: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: -1.0, }, @@ -747,7 +747,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: 25.0, utils.MetaACD: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: -1.0, }, @@ -758,7 +758,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: 20.0, utils.MetaACD: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: -1.0, }, @@ -787,7 +787,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: 15.0, utils.MetaACD: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: -1.0, }, @@ -798,7 +798,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: 25.0, utils.MetaACD: -1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: -1.0, }, @@ -809,7 +809,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: 20.0, utils.MetaACD: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: 10.0, }, @@ -839,7 +839,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: 4.0, utils.Load: 3.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.Ratio: 4.0, utils.Load: 3.0, @@ -852,7 +852,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: 10.0, utils.Load: 5.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.Ratio: 10.0, utils.Load: 5.0, @@ -865,7 +865,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: 1.0, utils.Load: 1.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.Ratio: 1.0, utils.Load: 1.0, @@ -889,7 +889,7 @@ func TestLibRoutesLCSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }} @@ -911,7 +911,7 @@ func TestLibRoutesHCSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }} @@ -939,7 +939,7 @@ func TestLibRoutesResAscSameWeight(t *testing.T) { utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, @@ -968,7 +968,7 @@ func TestLibRoutesResDescSameWeight(t *testing.T) { utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, @@ -999,7 +999,7 @@ func TestLibRoutesLoadDistSameWeight(t *testing.T) { utils.Load: 3.0, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 4.0, utils.Load: 3.0, utils.Weight: 10.0, @@ -1023,7 +1023,7 @@ func TestLibRoutesQOSSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaACD: -1.0, }} @@ -1045,7 +1045,7 @@ func TestLibRoutesSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Weight: 10.0, }} sSpls.Routes = append(sSpls.Routes, route) @@ -1071,7 +1071,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1083,7 +1083,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1095,7 +1095,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1118,7 +1118,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1130,7 +1130,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1142,7 +1142,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1168,7 +1168,7 @@ func TestSortHighestCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 11.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 11.0, }, @@ -1179,7 +1179,7 @@ func TestSortHighestCost(t *testing.T) { utils.Cost: 0.1, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1202,7 +1202,7 @@ func TestSortResourceAscendentDescendent(t *testing.T) { utils.ResourceUsage: 10.0, utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 10.0, utils.Weight: 10.0, }, @@ -1213,7 +1213,7 @@ func TestSortResourceAscendentDescendent(t *testing.T) { utils.ResourceUsage: 10.0, utils.Weight: 11.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 10.0, utils.Weight: 11.0, }, @@ -1258,7 +1258,7 @@ func TestSortLoadDistribution(t *testing.T) { utils.Load: 10.0, utils.Weight: 15.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1271,7 +1271,7 @@ func TestSortLoadDistribution(t *testing.T) { utils.Load: 10.0, utils.Weight: 14.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 14.5, @@ -1295,7 +1295,7 @@ func TestSortedRouteAsNavigableMap(t *testing.T) { utils.Load: 10.0, utils.Weight: 15.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1334,7 +1334,7 @@ func TestSortedRoutesAsNavigableMap(t *testing.T) { utils.Load: 10.0, utils.Weight: 15.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1347,7 +1347,7 @@ func TestSortedRoutesAsNavigableMap(t *testing.T) { utils.Ratio: 7.0, utils.Load: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 7.0, utils.Load: 10.0, }, @@ -1489,7 +1489,7 @@ func TestSortedRoutesListAsNavigableMap(t *testing.T) { utils.Load: 10.0, utils.Weight: 15.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1502,7 +1502,7 @@ func TestSortedRoutesListAsNavigableMap(t *testing.T) { utils.Ratio: 7.0, utils.Load: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 7.0, utils.Load: 10.0, }, @@ -1521,7 +1521,7 @@ func TestSortedRoutesListAsNavigableMap(t *testing.T) { utils.Load: 10.0, utils.Weight: 15.5, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1534,7 +1534,7 @@ func TestSortedRoutesListAsNavigableMap(t *testing.T) { utils.Ratio: 7.0, utils.Load: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 7.0, utils.Load: 10.0, }, diff --git a/engine/libstats.go b/engine/libstats.go index a558dead8..b5c1d4ad1 100644 --- a/engine/libstats.go +++ b/engine/libstats.go @@ -51,7 +51,7 @@ type StatQueueProfile struct { // StatQueueProfileWithAPIOpts is used in replicatorV1 for dispatcher type StatQueueProfileWithAPIOpts struct { *StatQueueProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (sqp *StatQueueProfile) TenantID() string { @@ -127,7 +127,7 @@ type StoredStatQueue struct { type StatQueueWithAPIOpts struct { *StatQueue - APIOpts map[string]interface{} + APIOpts map[string]any } // SqID will compose the unique identifier for the StatQueue out of Tenant and ID @@ -468,7 +468,7 @@ func (ssq *StatQueueWithAPIOpts) UnmarshalJSON(data []byte) (err error) { return } i := struct { - APIOpts map[string]interface{} + APIOpts map[string]any }{} if err = json.Unmarshal(data, &i); err != nil { return diff --git a/engine/libstats_test.go b/engine/libstats_test.go index 96d05b90b..c326d9c1e 100644 --- a/engine/libstats_test.go +++ b/engine/libstats_test.go @@ -229,7 +229,7 @@ func TestStatAddStatEvent(t *testing.T) { } else if asrMetric.Answered != 1 || asrMetric.Count != 2 { t.Errorf("ASR: %v", asrMetric) } - ev1.Event = map[string]interface{}{ + ev1.Event = map[string]any{ utils.AnswerTime: time.Now()} sq.addStatEvent(ev1.Tenant, ev1.ID, nil, utils.MapStorage{utils.MetaReq: ev1.Event}) if asr := asrMetric.GetFloat64Value(config.CgrConfig().GeneralCfg().RoundingDecimals); asr != 66.66667 { @@ -714,7 +714,7 @@ type statMetricMock struct { testcase string } -func (sMM *statMetricMock) GetValue(roundingDecimal int) interface{} { +func (sMM *statMetricMock) GetValue(roundingDecimal int) any { return nil } @@ -1251,7 +1251,7 @@ func TestStatQueueWithAPIOptsJSONMarshall(t *testing.T) { }, 1) exp2 := &StatQueueWithAPIOpts{ StatQueue: exp, - APIOpts: map[string]interface{}{"a": "a"}, + APIOpts: map[string]any{"a": "a"}, } if err != nil { t.Fatal(err) diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go index 87cb700f9..d30194b77 100644 --- a/engine/loader_csv_test.go +++ b/engine/loader_csv_test.go @@ -1363,14 +1363,14 @@ func TestLoadDispatcherProfiles(t *testing.T) { ID: "C1", FilterIDs: []string{"*gt:~*req.Usage:10"}, Weight: 10, - Params: []interface{}{"192.168.56.203"}, + Params: []any{"192.168.56.203"}, Blocker: false, }, { ID: "C2", FilterIDs: []string{"*lt:~*req.Usage:10"}, Weight: 10, - Params: []interface{}{"192.168.56.204"}, + Params: []any{"192.168.56.204"}, Blocker: false, }, }, diff --git a/engine/mapevent.go b/engine/mapevent.go index 07ae70145..7121d14e5 100644 --- a/engine/mapevent.go +++ b/engine/mapevent.go @@ -27,21 +27,21 @@ import ( ) // NewMapEvent makes sure the content is not nil -func NewMapEvent(mp map[string]interface{}) (me MapEvent) { +func NewMapEvent(mp map[string]any) (me MapEvent) { if mp == nil { - mp = make(map[string]interface{}) + mp = make(map[string]any) } return MapEvent(mp) } -// MapEvent is a map[string]interface{} with convenience methods on top -type MapEvent map[string]interface{} +// MapEvent is a map[string]any with convenience methods on top +type MapEvent map[string]any func (me MapEvent) String() string { return utils.ToJSON(me) } -func (me MapEvent) FieldAsInterface(fldPath []string) (interface{}, error) { +func (me MapEvent) FieldAsInterface(fldPath []string) (any, error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -276,8 +276,8 @@ func (me MapEvent) AsCDR(cfg *config.CGRConfig, tnt, tmz string) (cdr *CDR, err return } -// Data returns the MapEvent as a map[string]interface{} -func (me MapEvent) Data() map[string]interface{} { +// Data returns the MapEvent as a map[string]any +func (me MapEvent) Data() map[string]any { return me } diff --git a/engine/mapevent_test.go b/engine/mapevent_test.go index a7290d68a..1b19cbbb5 100644 --- a/engine/mapevent_test.go +++ b/engine/mapevent_test.go @@ -27,7 +27,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -var mapEv = MapEvent(map[string]interface{}{ +var mapEv = MapEvent(map[string]any{ "test1": nil, "test2": 42, "test3": 42.3, @@ -40,10 +40,10 @@ var mapEv = MapEvent(map[string]interface{}{ }) func TestMapEventNewMapEvent(t *testing.T) { - if rply, expected := NewMapEvent(nil), MapEvent(make(map[string]interface{})); !reflect.DeepEqual(expected, rply) { + if rply, expected := NewMapEvent(nil), MapEvent(make(map[string]any)); !reflect.DeepEqual(expected, rply) { t.Errorf("Expecting %+v, received: %+v", expected, rply) } - mp := map[string]interface{}{ + mp := map[string]any{ "test1": nil, "test2": 42, "test3": 42.3, @@ -774,7 +774,7 @@ func TestMapEventData(t *testing.T) { testStruct := MapEvent{ "key1": "val1", } - expStruct := map[string]interface{}{ + expStruct := map[string]any{ "key1": "val1", } result := testStruct.Data() diff --git a/engine/model_helpers.go b/engine/model_helpers.go index 71b3ba1ec..646573ad5 100644 --- a/engine/model_helpers.go +++ b/engine/model_helpers.go @@ -31,7 +31,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func csvLoad(s interface{}, values []string) (interface{}, error) { +func csvLoad(s any, values []string) (any, error) { fieldValueMap := make(map[string]string) st := reflect.TypeOf(s) numFields := st.NumField() @@ -93,7 +93,7 @@ func csvLoad(s interface{}, values []string) (interface{}, error) { } // CsvDump receive and interface and convert it to a slice of string -func CsvDump(s interface{}) ([]string, error) { +func CsvDump(s any) ([]string, error) { fieldIndexMap := make(map[string]int) st := reflect.ValueOf(s) if st.Kind() == reflect.Ptr { @@ -132,7 +132,7 @@ func CsvDump(s interface{}) ([]string, error) { return result, nil } -func getColumnCount(s interface{}) int { +func getColumnCount(s any) int { st := reflect.TypeOf(s) numFields := st.NumField() count := 0 @@ -2605,7 +2605,7 @@ func (tps DispatcherProfileMdls) AsTPDispatcherProfiles() (result []*utils.TPDis return } -func paramsToString(sp []interface{}) (strategy string) { +func paramsToString(sp []any) (strategy string) { if len(sp) != 0 { strategy = sp[0].(string) for i := 1; i < len(sp); i++ { @@ -2695,7 +2695,7 @@ func APItoDispatcherProfile(tpDPP *utils.TPDispatcherProfile, timezone string) ( Strategy: tpDPP.Strategy, FilterIDs: make([]string, len(tpDPP.FilterIDs)), Subsystems: make([]string, len(tpDPP.Subsystems)), - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Hosts: make(DispatcherHostProfiles, len(tpDPP.Hosts)), } for i, fli := range tpDPP.FilterIDs { @@ -2715,7 +2715,7 @@ func APItoDispatcherProfile(tpDPP *utils.TPDispatcherProfile, timezone string) ( Weight: conn.Weight, Blocker: conn.Blocker, FilterIDs: make([]string, len(conn.FilterIDs)), - Params: make(map[string]interface{}), + Params: make(map[string]any), } for j, fltr := range conn.FilterIDs { dpp.Hosts[i].FilterIDs[j] = fltr @@ -2748,7 +2748,7 @@ func DispatcherProfileToAPI(dpp *DispatcherProfile) (tpDPP *utils.TPDispatcherPr FilterIDs: make([]string, len(dpp.FilterIDs)), ActivationInterval: new(utils.TPActivationInterval), Strategy: dpp.Strategy, - StrategyParams: make([]interface{}, len(dpp.StrategyParams)), + StrategyParams: make([]any, len(dpp.StrategyParams)), Weight: dpp.Weight, Hosts: make([]*utils.TPDispatcherHostProfile, len(dpp.Hosts)), } @@ -2771,7 +2771,7 @@ func DispatcherProfileToAPI(dpp *DispatcherProfile) (tpDPP *utils.TPDispatcherPr ID: host.ID, FilterIDs: make([]string, len(host.FilterIDs)), Weight: host.Weight, - Params: make([]interface{}, len(host.Params)), + Params: make([]any, len(host.Params)), Blocker: host.Blocker, } for j, fltr := range host.FilterIDs { diff --git a/engine/model_helpers_test.go b/engine/model_helpers_test.go index f4b59ea20..8b0fa3f36 100644 --- a/engine/model_helpers_test.go +++ b/engine/model_helpers_test.go @@ -3646,14 +3646,14 @@ func TestAPItoDispatcherProfile(t *testing.T) { ActivationTime: "2014-07-14T14:35:00Z", ExpiryTime: "", }, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203", "*ratio:2"}, + Params: []any{"192.168.54.203", "*ratio:2"}, Blocker: false, }, }, @@ -3668,14 +3668,14 @@ func TestAPItoDispatcherProfile(t *testing.T) { ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), }, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203", utils.MetaRatio: "2"}, + Params: map[string]any{"0": "192.168.54.203", utils.MetaRatio: "2"}, Blocker: false, }, }, @@ -3698,14 +3698,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ActivationTime: "2014-07-14T14:35:00Z", ExpiryTime: "", }, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203", "*ratio:2"}, + Params: []any{"192.168.54.203", "*ratio:2"}, Blocker: false, }, }, @@ -3720,14 +3720,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ActivationTime: "2014-07-14T14:35:00Z", ExpiryTime: "", }, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"*ratio:2", "192.168.54.203"}, + Params: []any{"*ratio:2", "192.168.54.203"}, Blocker: false, }, }, @@ -3742,14 +3742,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), }, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203", utils.MetaRatio: "2"}, + Params: map[string]any{"0": "192.168.54.203", utils.MetaRatio: "2"}, Blocker: false, }, }, @@ -3773,21 +3773,21 @@ func TestAPItoModelTPDispatcher(t *testing.T) { ActivationTime: "2014-07-14T14:35:00Z", ExpiryTime: "", }, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203"}, + Params: []any{"192.168.54.203"}, Blocker: false, }, { ID: "C2", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.204"}, + Params: []any{"192.168.54.204"}, Blocker: false, }, }, @@ -4782,13 +4782,13 @@ func TestDispatcherProfileToAPICase2(t *testing.T) { ExpiryTime: time.Date(2014, 7, 15, 14, 35, 0, 0, time.UTC), }, FilterIDs: []string{"field1", "field2"}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "Field1": "Params1", }, Hosts: []*DispatcherHostProfile{ { FilterIDs: []string{"fieldA", "fieldB"}, - Params: map[string]interface{}{}, + Params: map[string]any{}, }, }, } @@ -4800,11 +4800,11 @@ func TestDispatcherProfileToAPICase2(t *testing.T) { ExpiryTime: "2014-07-15T14:35:00Z", }, FilterIDs: []string{"field1", "field2"}, - StrategyParams: []interface{}{"Params1"}, + StrategyParams: []any{"Params1"}, Hosts: []*utils.TPDispatcherHostProfile{ { FilterIDs: []string{"fieldA", "fieldB"}, - Params: []interface{}{}, + Params: []any{}, }, }, } @@ -4820,20 +4820,20 @@ func TestAPItoDispatcherProfileCase2(t *testing.T) { structTest := &utils.TPDispatcherProfile{ Subsystems: []string{}, FilterIDs: []string{}, - StrategyParams: []interface{}{"Param1"}, + StrategyParams: []any{"Param1"}, Hosts: []*utils.TPDispatcherHostProfile{{ - Params: []interface{}{"Param1"}, + Params: []any{"Param1"}, }}, } expStruct := &DispatcherProfile{ Subsystems: []string{}, FilterIDs: []string{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "0": "Param1", }, Hosts: DispatcherHostProfiles{{ FilterIDs: []string{}, - Params: map[string]interface{}{ + Params: map[string]any{ "0": "Param1", }, }, @@ -4851,9 +4851,9 @@ func TestAPItoDispatcherProfileError(t *testing.T) { ActivationTime: "cat1", ExpiryTime: "cat2", }, - StrategyParams: []interface{}{"Param1"}, + StrategyParams: []any{"Param1"}, Hosts: []*utils.TPDispatcherHostProfile{{ - Params: []interface{}{""}, + Params: []any{""}, }}, } @@ -4874,7 +4874,7 @@ func TestAPItoModelTPDispatcherProfileNil(t *testing.T) { } func TestModelHelpersParamsToString(t *testing.T) { - testInterface := []interface{}{"Param1", "Param2"} + testInterface := []any{"Param1", "Param2"} result := paramsToString(testInterface) if !reflect.DeepEqual(result, "Param1;Param2") { t.Errorf("\nExpecting ,\n Received <%+v>", result) @@ -4893,7 +4893,7 @@ func TestModelHelpersAsTPDispatcherProfiles(t *testing.T) { ActivationTime: "2014-07-29T15:00:00Z", ExpiryTime: "2014-08-29T15:00:00Z", }, - StrategyParams: []interface{}{"Param1"}, + StrategyParams: []any{"Param1"}, }, } result := structTest.AsTPDispatcherProfiles() diff --git a/engine/models.go b/engine/models.go index 251af17df..b608791b7 100644 --- a/engine/models.go +++ b/engine/models.go @@ -351,8 +351,8 @@ func (t CDRsql) TableName() string { return utils.CDRsTBL } -func (t CDRsql) AsMapStringInterface() (out map[string]interface{}) { - out = make(map[string]interface{}) +func (t CDRsql) AsMapStringInterface() (out map[string]any) { + out = make(map[string]any) // out["id"] = t.ID // ignore ID out["cgrid"] = t.Cgrid out["run_id"] = t.RunID diff --git a/engine/models_test.go b/engine/models_test.go index 2b7ca4b7b..c985fdac6 100644 --- a/engine/models_test.go +++ b/engine/models_test.go @@ -197,7 +197,7 @@ func TestModelsAsMapStringInterface(t *testing.T) { UpdatedAt: time.Date(2021, 3, 3, 3, 3, 3, 3, time.UTC), DeletedAt: utils.TimePointer(time.Date(2021, 3, 3, 3, 3, 3, 3, time.UTC)), } - expected := map[string]interface{}{ + expected := map[string]any{ "cgrid": testCdrSql.Cgrid, "run_id": testCdrSql.RunID, "origin_host": testCdrSql.OriginHost, diff --git a/engine/rateinterval.go b/engine/rateinterval.go index 716294b64..650d2b2eb 100644 --- a/engine/rateinterval.go +++ b/engine/rateinterval.go @@ -233,7 +233,7 @@ type RGRate struct { } // FieldAsInterface func to help EventCost FieldAsInterface -func (r *RGRate) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (r *RGRate) FieldAsInterface(fldPath []string) (val any, err error) { if r == nil || len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -529,7 +529,7 @@ func (r *RGRate) Clone() (cln *RGRate) { return } -func (rit *RITiming) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (rit *RITiming) FieldAsInterface(fldPath []string) (val any, err error) { if rit == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -644,7 +644,7 @@ func (rit *RITiming) FieldAsInterface(fldPath []string) (val interface{}, err er } func (rit *RITiming) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = rit.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/ratingplan.go b/engine/ratingplan.go index 256193897..b64f3114a 100644 --- a/engine/ratingplan.go +++ b/engine/ratingplan.go @@ -36,7 +36,7 @@ type RatingPlan struct { type RatingPlanWithAPIOpts struct { *RatingPlan Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type RPRate struct { diff --git a/engine/ratingprofile.go b/engine/ratingprofile.go index 155483099..3a147ab10 100644 --- a/engine/ratingprofile.go +++ b/engine/ratingprofile.go @@ -37,7 +37,7 @@ type RatingProfile struct { type RatingProfileWithAPIOpts struct { *RatingProfile Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type RatingPlanActivation struct { diff --git a/engine/remoterepl.go b/engine/remoterepl.go index 9d9139b1f..816a05efc 100644 --- a/engine/remoterepl.go +++ b/engine/remoterepl.go @@ -32,7 +32,7 @@ func UpdateReplicationFilters(objType, objID, connID string) { } // replicate will call Set/Remove APIs on ReplicatorSv1 -func replicate(connMgr *ConnManager, connIDs []string, filtered bool, objType, objID, method string, args interface{}) (err error) { +func replicate(connMgr *ConnManager, connIDs []string, filtered bool, objType, objID, method string, args any) (err error) { // the reply is string for Set/Remove APIs // ignored in favor of the error var reply string @@ -54,7 +54,7 @@ func replicate(connMgr *ConnManager, connIDs []string, filtered bool, objType, o // replicateMultipleIDs will do the same thing as replicate but uses multiple objectIDs // used when setting the LoadIDs -func replicateMultipleIDs(connMgr *ConnManager, connIDs []string, filtered bool, objType string, objIDs []string, method string, args interface{}) (err error) { +func replicateMultipleIDs(connMgr *ConnManager, connIDs []string, filtered bool, objType string, objIDs []string, method string, args any) (err error) { // the reply is string for Set/Remove APIs // ignored in favor of the error var reply string diff --git a/engine/resources.go b/engine/resources.go index b0d0e5ea1..fe840d1b6 100644 --- a/engine/resources.go +++ b/engine/resources.go @@ -55,7 +55,7 @@ type ResourceProfile struct { // ResourceProfileWithAPIOpts is used in replicatorV1 for dispatcher type ResourceProfileWithAPIOpts struct { *ResourceProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns unique identifier of the ResourceProfile in a multi-tenant environment @@ -165,7 +165,7 @@ func (r *Resource) isLocked() bool { // ResourceWithAPIOpts is used in replicatorV1 for dispatcher type ResourceWithAPIOpts struct { *Resource - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the unique ID in a multi-tenant environment @@ -511,12 +511,12 @@ func (rS *ResourceService) storeMatchedResources(mtcRLs Resources) (err error) { } // processThresholds will pass the event for resource to ThresholdS -func (rS *ResourceService) processThresholds(rs Resources, opts map[string]interface{}) (err error) { +func (rS *ResourceService) processThresholds(rs Resources, opts map[string]any) (err error) { if len(rS.cgrcfg.ResourceSCfg().ThresholdSConns) == 0 { return } if opts == nil { - opts = make(map[string]interface{}) + opts = make(map[string]any) } opts[utils.MetaEventType] = utils.ResourceUpdate @@ -534,7 +534,7 @@ func (rS *ResourceService) processThresholds(rs Resources, opts map[string]inter thEv := &utils.CGREvent{ Tenant: r.Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: r.ID, utils.Usage: r.TotalUsage(), diff --git a/engine/responder.go b/engine/responder.go index 901f74f40..3b527e17f 100644 --- a/engine/responder.go +++ b/engine/responder.go @@ -114,7 +114,7 @@ func (rs *Responder) GetCost(arg *CallDescriptorWithAPIOpts, reply *CallCost) (e // GetCostOnRatingPlans is used by RouteS to calculate the cost // Receive a list of RatingPlans and pick the first without error -func (rs *Responder) GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]interface{}) (err error) { +func (rs *Responder) GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]any) (err error) { tnt := arg.Tenant if tnt == utils.EmptyString { tnt = config.CgrConfig().GeneralCfg().DefaultTenant @@ -161,7 +161,7 @@ func (rs *Responder) GetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, r } continue } - *reply = map[string]interface{}{ + *reply = map[string]any{ utils.Cost: cc.Cost, utils.RatingPlanID: rp, } @@ -345,7 +345,7 @@ func (rs *Responder) GetMaxSessionTime(arg *CallDescriptorWithAPIOpts, reply *ti } func (rs *Responder) GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnAccountsArgs, - reply *map[string]interface{}) (err error) { + reply *map[string]any) (err error) { var maxDur time.Duration tnt := arg.Tenant if tnt == utils.EmptyString { @@ -367,7 +367,7 @@ func (rs *Responder) GetMaxSessionTimeOnAccounts(arg *utils.GetMaxSessionTimeOnA fmt.Sprintf("<%s> ignoring cost for account: %s, err: %s", utils.Responder, anctID, err.Error())) } else { - *reply = map[string]interface{}{ + *reply = map[string]any{ utils.CapMaxUsage: maxDur, utils.Cost: 0.0, utils.AccountField: anctID, @@ -392,7 +392,7 @@ func (chSv1 *Responder) Ping(ign *utils.CGREvent, reply *string) error { return nil } -func (rs *Responder) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (rs *Responder) Call(serviceMethod string, args any, reply any) error { parts := strings.Split(serviceMethod, ".") if len(parts) != 2 { return utils.ErrNotImplemented diff --git a/engine/responder_test.go b/engine/responder_test.go index dc558784d..61fc87143 100644 --- a/engine/responder_test.go +++ b/engine/responder_test.go @@ -499,7 +499,7 @@ func TestResponderGetCost(t *testing.T) { Account: "acount", Destination: "uk", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := &CallCost{ @@ -555,7 +555,7 @@ func TestResponderGetCostSet(t *testing.T) { Account: "acount", Destination: "uk", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := &CallCost{ @@ -618,7 +618,7 @@ func TestResponderDebit(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -648,11 +648,11 @@ func TestGetCostOnRatingPlansErr(t *testing.T) { SetupTime: time.Date(2021, 12, 24, 8, 0, 0, 0, time.UTC), Usage: 10 * time.Minute, RatingPlanIDs: []string{"rplan1", "rplan2", "rplan3"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "apiopts": "opt", }, } - reply := &map[string]interface{}{} + reply := &map[string]any{} rs := &Responder{ FilterS: &FilterS{ cfg: cfg, @@ -711,7 +711,7 @@ func TestResponderDebitSet(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -773,7 +773,7 @@ func TestResponderMaxDebit(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -832,7 +832,7 @@ func TestResponderMaxDebitSet(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -894,7 +894,7 @@ func TestResponderRefundIncrements(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -956,7 +956,7 @@ func TestResponderRefundIncrementsSet(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -1024,7 +1024,7 @@ func TestResponderRefundRounding(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -1086,7 +1086,7 @@ func TestResponderRefundRoundingSet(t *testing.T) { TimeStart: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), TimeEnd: time.Date(2022, 12, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "tor": 30 * time.Minute, }, } @@ -1142,10 +1142,10 @@ func TestGetMaxSessionTimeOnAccountsErr(t *testing.T) { AccountIDs: []string{"acc_id1", "acc_id2"}, Usage: 10 * time.Minute, SetupTime: time.Date(2022, 12, 1, 1, 0, 0, 0, time.UTC), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } - reply := &map[string]interface{}{} + reply := &map[string]any{} rs := &Responder{ FilterS: &FilterS{ cfg: cfg, @@ -1281,7 +1281,7 @@ func TestResponderShutDown(t *testing.T) { rs.ShdChan = utils.NewSyncedChan() arg := &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -1462,8 +1462,8 @@ func TestResponderGetCostOnRatingPlans(t *testing.T) { }, }, }) - var reply map[string]interface{} - exp := map[string]interface{}{ + var reply map[string]any + exp := map[string]any{ utils.Cost: 0.92, utils.RatingPlanID: "RP1", } diff --git a/engine/routes.go b/engine/routes.go index fe97a39d3..414350a83 100644 --- a/engine/routes.go +++ b/engine/routes.go @@ -42,7 +42,7 @@ type Route struct { Blocker bool // do not process further route after this one RouteParameters string - cacheRoute map[string]interface{} // cache["*ratio"]=ratio + cacheRoute map[string]any // cache["*ratio"]=ratio lazyCheckRules []*FilterRule } @@ -61,7 +61,7 @@ type RouteProfile struct { // RouteProfileWithAPIOpts is used in replicatorV1 for dispatcher type RouteProfileWithAPIOpts struct { *RouteProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (rp *RouteProfile) compileCacheParameters() error { @@ -79,7 +79,7 @@ func (rp *RouteProfile) compileCacheParameters() error { } // add the ratio for each route for _, route := range rp.Routes { - route.cacheRoute = make(map[string]interface{}) + route.cacheRoute = make(map[string]any) if ratioRoute, has := ratioMap[route.ID]; !has { // in case that ratio isn't defined for specific routes check for default if ratioDefault, has := ratioMap[utils.MetaDefault]; !has { // in case that *default ratio isn't defined take it from config route.cacheRoute[utils.MetaRatio] = config.CgrConfig().RouteSCfg().DefaultRatio @@ -186,10 +186,10 @@ func (rpS *RouteService) matchingRouteProfilesForEvent(tnt string, ev *utils.CGR } // costForEvent will compute cost out of accounts and rating plans for event -// returns map[string]interface{} with cost and relevant matching information inside +// returns map[string]any with cost and relevant matching information inside func (rpS *RouteService) costForEvent(ev *utils.CGREvent, - acntIDs, rpIDs []string) (costData map[string]interface{}, err error) { - costData = make(map[string]interface{}) + acntIDs, rpIDs []string) (costData map[string]any, err error) { + costData = make(map[string]any) if err = ev.CheckMandatoryFields([]string{utils.AccountField, utils.Destination, utils.SetupTime}); err != nil { return @@ -221,7 +221,7 @@ func (rpS *RouteService) costForEvent(ev *utils.CGREvent, err = nil } var accountMaxUsage time.Duration - var acntCost map[string]interface{} + var acntCost map[string]any var initialUsage time.Duration if len(acntIDs) != 0 { if err := rpS.connMgr.Call(rpS.cgrcfg.RouteSCfg().RALsConns, nil, utils.ResponderGetMaxSessionTimeOnAccounts, @@ -257,7 +257,7 @@ func (rpS *RouteService) costForEvent(ev *utils.CGREvent, } if accountMaxUsage == 0 || accountMaxUsage < initialUsage { - var rpCost map[string]interface{} + var rpCost map[string]any if err := rpS.connMgr.Call(rpS.cgrcfg.RouteSCfg().RALsConns, nil, utils.ResponderGetCostOnRatingPlans, &utils.GetCostOnRatingPlansArgs{ Tenant: ev.Tenant, @@ -376,7 +376,7 @@ func (rpS *RouteService) populateSortingData(ev *utils.CGREvent, route *Route, extraOpts *optsGetRoutes) (srtRoute *SortedRoute, pass bool, err error) { sortedSpl := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataF64: map[string]float64{ @@ -572,7 +572,7 @@ func (rpS *RouteService) V1GetRoutes(args *utils.CGREvent, reply *SortedRoutesLi } if len(rpS.cgrcfg.RouteSCfg().AttributeSConns) != 0 { if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.APIOpts[utils.MetaSubsys] = utils.MetaRoutes context := utils.GetStringOpts(args, rpS.cgrcfg.RouteSCfg().Opts.Context, utils.OptsContext) diff --git a/engine/routes_test.go b/engine/routes_test.go index 04219ecdf..46284bf79 100644 --- a/engine/routes_test.go +++ b/engine/routes_test.go @@ -173,43 +173,43 @@ var ( { //matching RouteProfile1 Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { //matching RouteProfile2 Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { //matching RouteProfilePrefix Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfilePrefix", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { Tenant: "cgrates.org", ID: "CGR", - Event: map[string]interface{}{ + Event: map[string]any{ "UsageInterval": "1s", "PddInterval": "1s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } ) @@ -340,7 +340,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -364,7 +364,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 30.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -374,7 +374,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -384,7 +384,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param3", @@ -409,7 +409,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -447,7 +447,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 30.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -457,7 +457,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -496,7 +496,7 @@ func TestRoutesSortedForEventWithOffset(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param3", @@ -534,7 +534,7 @@ func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 20.0, }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -706,8 +706,8 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { argsGetRoutes := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -742,7 +742,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 10., }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, RouteParameters: "param1", @@ -758,7 +758,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { sortingDataF64: map[string]float64{ utils.Weight: 30., }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30., }, RouteParameters: "param1", @@ -859,8 +859,8 @@ func TestRouteServiceStatMetrics(t *testing.T) { }() testMock := &ccMock{ - calls: map[string]func(args, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { rpl := map[string]float64{ "metric1": 21.11, } @@ -901,8 +901,8 @@ func TestRouteServiceStatMetricsLog(t *testing.T) { log.SetOutput(os.Stderr) }() testMock := &ccMock{ - calls: map[string]func(args, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { return errors.New("Error") }, }, @@ -939,7 +939,7 @@ func TestRouteServiceV1GetRouteProfilesForEvent(t *testing.T) { Tenant: "cgrates.orgs", ID: "id", Time: utils.TimePointer(time.Date(2022, 12, 1, 20, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "acc_event", utils.Destination: "desc_event", utils.SetupTime: time.Now(), @@ -1020,8 +1020,8 @@ func TestRouteServiceV1GetRoutes(t *testing.T) { }() ccMock := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rpl := &AttrSProcessEventReply{ AlteredFields: []string{"testcase"}, CGREvent: testRoutesArgs[1], @@ -1047,7 +1047,7 @@ func TestRouteServiceV1GetRoutes(t *testing.T) { ID: "CGREvent1", Tenant: "cgrates.org", Time: utils.TimePointer(time.Date(2022, 12, 1, 20, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "testcase": 1, }, } @@ -1063,7 +1063,7 @@ func TestRouteServiceV1GetRoutes(t *testing.T) { { RouteID: "route2", RouteParameters: "param1", - SortingData: map[string]interface{}{"Weight": 10}, + SortingData: map[string]any{"Weight": 10}, }, }, }} @@ -1108,7 +1108,7 @@ func TestRouteServiceSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, lazyCheckRules: []*FilterRule{}, @@ -1118,14 +1118,14 @@ func TestRouteServiceSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } extraOpts := &optsGetRoutes{ ignoreErrors: true, @@ -1190,7 +1190,7 @@ func TestRDSRSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, lazyCheckRules: []*FilterRule{ @@ -1210,8 +1210,8 @@ func TestRDSRSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -1263,7 +1263,7 @@ func TestQosRSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, lazyCheckRules: []*FilterRule{ @@ -1296,7 +1296,7 @@ func TestQosRSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, lazyCheckRules: []*FilterRule{ @@ -1323,8 +1323,8 @@ func TestQosRSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -1361,15 +1361,15 @@ func TestReaSortRoutes(t *testing.T) { }() clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply interface{}) error { - rpl := map[string]interface{}{ + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply any) error { + rpl := map[string]any{ utils.CapMaxUsage: 3 * time.Minute, } - *reply.(*map[string]interface{}) = rpl + *reply.(*map[string]any) = rpl return nil }, - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { rpl := map[string]float64{ "metric": 22.0, "metric3": 32.2, @@ -1400,7 +1400,7 @@ func TestReaSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, }, @@ -1408,13 +1408,13 @@ func TestReaSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "account", utils.Destination: "destination", utils.SetupTime: "*monthly", utils.Usage: 2 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -1467,7 +1467,7 @@ func TestHCRSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, }, @@ -1475,8 +1475,8 @@ func TestHCRSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -1526,15 +1526,15 @@ func TestLoadDistributionSorterSortRoutes(t *testing.T) { cfg.GeneralCfg().DefaultTimezone = "UTC" clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply interface{}) error { - rpl := map[string]interface{}{ + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply any) error { + rpl := map[string]any{ utils.CapMaxUsage: 3 * time.Minute, } - *reply.(*map[string]interface{}) = rpl + *reply.(*map[string]any) = rpl return nil }, - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { rpl := map[string]float64{ "metric": 22.0, "metric3": 32.2, @@ -1565,7 +1565,7 @@ func TestLoadDistributionSorterSortRoutes(t *testing.T) { Weight: 2.3, Blocker: true, RouteParameters: "route", - cacheRoute: map[string]interface{}{ + cacheRoute: map[string]any{ "*ratio": "ratio", }, }, @@ -1573,13 +1573,13 @@ func TestLoadDistributionSorterSortRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "account", utils.Destination: "destination", utils.SetupTime: "*monthly", utils.Usage: 2 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 3, }, } @@ -1593,7 +1593,7 @@ func TestLoadDistributionSorterSortRoutes(t *testing.T) { { RouteID: "id", RouteParameters: "route", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 21.11, "MaxUsage": 180000000000, "Ratio": 0, @@ -1634,24 +1634,24 @@ func TestRouteServicePopulateSortingData(t *testing.T) { Cache.Clear(nil) ccMock := &ccMock{ - calls: map[string]func(args, reply interface{}) error{ - utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply interface{}) error { - rpl := map[string]interface{}{ + calls: map[string]func(args, reply any) error{ + utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply any) error { + rpl := map[string]any{ utils.CapMaxUsage: 1 * time.Second, utils.Cost: 0, } - *reply.(*map[string]interface{}) = rpl + *reply.(*map[string]any) = rpl return nil }, - utils.ResponderGetCostOnRatingPlans: func(args, reply interface{}) error { - rpl := map[string]interface{}{ + utils.ResponderGetCostOnRatingPlans: func(args, reply any) error { + rpl := map[string]any{ utils.CapMaxUsage: 5 * time.Second, utils.Cost: 0, } - *reply.(*map[string]interface{}) = rpl + *reply.(*map[string]any) = rpl return nil }, - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { rpl := &map[string]float64{ "metric1": 12, "stat": 2.1, @@ -1659,7 +1659,7 @@ func TestRouteServicePopulateSortingData(t *testing.T) { *reply.(*map[string]float64) = *rpl return nil }, - utils.ResourceSv1GetResource: func(args, reply interface{}) error { + utils.ResourceSv1GetResource: func(args, reply any) error { rpl := &Resource{ Usages: map[string]*ResourceUsage{ "test_usage1": { @@ -1697,7 +1697,7 @@ func TestRouteServicePopulateSortingData(t *testing.T) { ID: "id", Time: utils.TimePointer(time.Date(2022, 12, 1, 20, 0, 0, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "acc_event", utils.Destination: "desc_event", utils.SetupTime: time.Now(), @@ -1721,7 +1721,7 @@ func TestRouteServicePopulateSortingData(t *testing.T) { exp := &SortedRoute{ RouteID: "id", RouteParameters: "params", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0, "Load": 14.1, "MaxUsage": 5 * time.Second, @@ -1760,10 +1760,10 @@ func TestNewOptsGetRoutes(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: utils.MetaEventCost, }, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "", utils.Destination: "", utils.SetupTime: "", @@ -1798,8 +1798,8 @@ func TestRSStatMetricsLogg(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { return errors.New("Can't get StatMetrics") }, }, @@ -1833,8 +1833,8 @@ func TestRSStatMetricsForLoadDistributionLogg(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { return errors.New("Can't get StatMetrics") }, }, @@ -1867,8 +1867,8 @@ func TestResourceUsage(t *testing.T) { resIds := []string{"RL1"} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1GetResource: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1GetResource: func(args, reply any) error { return errors.New("Can't get Resources") }, }, @@ -1894,10 +1894,10 @@ func TestRSLazyCheckRule(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1944,8 +1944,8 @@ func TestRSPopulateSortingDataResourceErr(t *testing.T) { cfg.RouteSCfg().ResourceSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1GetResource: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1GetResource: func(args, reply any) error { return errors.New("No Resources") }, }, @@ -1957,10 +1957,10 @@ func TestRSPopulateSortingDataResourceErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -2004,8 +2004,8 @@ func TestPopulateSortingDataStatsErr(t *testing.T) { cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueFloatMetrics: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.StatSv1GetQueueFloatMetrics: func(args, reply any) error { return errors.New("No Stats") }, }, @@ -2017,8 +2017,8 @@ func TestPopulateSortingDataStatsErr(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, } @@ -2058,13 +2058,13 @@ func TestPopulateSortingDataAccsErr(t *testing.T) { cfg.RouteSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply interface{}) error { - rpl := map[string]interface{}{ + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply any) error { + rpl := map[string]any{ utils.CapMaxUsage: 50 * time.Second, utils.Cost: 12.12, } - *reply.(*map[string]interface{}) = rpl + *reply.(*map[string]any) = rpl return nil }, }, @@ -2076,13 +2076,13 @@ func TestPopulateSortingDataAccsErr(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", utils.SetupTime: "2023-03-03 11:39:32 +0100 CET", utils.Usage: 5 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, } @@ -2120,13 +2120,13 @@ func TestPopulateSortingDataAccs2(t *testing.T) { cfg.RouteSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply interface{}) error { - rpl := map[string]interface{}{} - *reply.(*map[string]interface{}) = rpl + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTimeOnAccounts: func(args, reply any) error { + rpl := map[string]any{} + *reply.(*map[string]any) = rpl return nil }, - utils.ResponderGetCostOnRatingPlans: func(args, reply interface{}) error { + utils.ResponderGetCostOnRatingPlans: func(args, reply any) error { return nil }, }, @@ -2138,13 +2138,13 @@ func TestPopulateSortingDataAccs2(t *testing.T) { Tenant: "cgrates.org", ID: "voiceEvent", Time: utils.TimePointer(time.Now()), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", utils.SetupTime: "2023-03-03 11:39:32 +0100 CET", utils.Usage: 5 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, } @@ -2224,7 +2224,7 @@ func TestRoutesV1GetRoutes(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "RouteProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, utils.Category: utils.Call, utils.AccountField: "1003", @@ -2306,7 +2306,7 @@ func TestRouteServiceV1GetRoutesErr(t *testing.T) { db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan rpcclient.ClientConnector, 1) - clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error { + clientConn <- clMock(func(serviceMethod string, _, _ any) error { if serviceMethod == utils.AttributeSv1ProcessEvent { return errors.New("Server Error") @@ -2325,7 +2325,7 @@ func TestRouteServiceV1GetRoutesErr(t *testing.T) { { name: "Missing StructFields", args: &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1003", }, }, @@ -2344,7 +2344,7 @@ func TestRouteServiceV1GetRoutesErr(t *testing.T) { args: &utils.CGREvent{ Tenant: "cgrates.org", ID: "RouteProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, utils.Category: utils.Call, utils.AccountField: "1003", diff --git a/engine/safevent.go b/engine/safevent.go index 56d0b1770..4427a5baa 100644 --- a/engine/safevent.go +++ b/engine/safevent.go @@ -26,7 +26,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func NewSafEvent(mp map[string]interface{}) *SafEvent { +func NewSafEvent(mp map[string]any) *SafEvent { return &SafEvent{Me: NewMapEvent(mp)} } @@ -55,7 +55,7 @@ func (se *SafEvent) String() (out string) { return } -func (se *SafEvent) FieldAsInterface(fldPath []string) (out interface{}, err error) { +func (se *SafEvent) FieldAsInterface(fldPath []string) (out any, err error) { se.RLock() out, err = se.Me.FieldAsInterface(fldPath) se.RUnlock() @@ -76,20 +76,20 @@ func (se *SafEvent) HasField(fldName string) (has bool) { return } -func (se *SafEvent) Get(fldName string) (out interface{}, has bool) { +func (se *SafEvent) Get(fldName string) (out any, has bool) { se.RLock() out, has = se.Me[fldName] se.RUnlock() return } -func (se *SafEvent) GetIgnoreErrors(fldName string) (out interface{}) { +func (se *SafEvent) GetIgnoreErrors(fldName string) (out any) { out, _ = se.Get(fldName) return } // Set will set a field's value -func (se *SafEvent) Set(fldName string, val interface{}) { +func (se *SafEvent) Set(fldName string, val any) { se.Lock() se.Me[fldName] = val se.Unlock() @@ -206,7 +206,7 @@ func (se *SafEvent) GetSetString(fldName string, setVal string) (out string, err } // GetMapInterface returns the map stored internally without cloning it -func (se *SafEvent) GetMapInterface() (mp map[string]interface{}) { +func (se *SafEvent) GetMapInterface() (mp map[string]any) { se.RLock() mp = se.Me se.RUnlock() @@ -214,7 +214,7 @@ func (se *SafEvent) GetMapInterface() (mp map[string]interface{}) { } // AsMapInterface returns the cloned map stored internally -func (se *SafEvent) AsMapInterface() (mp map[string]interface{}) { +func (se *SafEvent) AsMapInterface() (mp map[string]any) { se.RLock() mp = se.Me.Clone() se.RUnlock() diff --git a/engine/safevent_test.go b/engine/safevent_test.go index 38cd3f31f..3646c6e79 100644 --- a/engine/safevent_test.go +++ b/engine/safevent_test.go @@ -26,7 +26,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -var sMap = map[string]interface{}{ +var sMap = map[string]any{ "test1": nil, "test2": 42, "test3": 42.3, diff --git a/engine/sharedgroup.go b/engine/sharedgroup.go index 4ee319e0b..2afaeaead 100644 --- a/engine/sharedgroup.go +++ b/engine/sharedgroup.go @@ -48,7 +48,7 @@ type SharedGroup struct { type SharedGroupWithAPIOpts struct { *SharedGroup Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type SharingParameters struct { diff --git a/engine/statmetrics.go b/engine/statmetrics.go index 1ad6b75fe..a0f1e0996 100644 --- a/engine/statmetrics.go +++ b/engine/statmetrics.go @@ -70,7 +70,7 @@ func NewStatMetric(metricID string, minItems int, filterIDs []string) (sm StatMe // StatMetric is the interface which a metric should implement type StatMetric interface { - GetValue(roundingDecimal int) interface{} + GetValue(roundingDecimal int) any GetStringValue(roundingDecimal int) (val string) GetFloat64Value(roundingDecimal int) (val float64) AddEvent(evID string, ev utils.DataProvider) error @@ -112,7 +112,7 @@ func (asr *StatASR) getValue(roundingDecimal int) float64 { } // GetValue returns the ASR value as part of StatMetric interface -func (asr *StatASR) GetValue(roundingDecimal int) (v interface{}) { +func (asr *StatASR) GetValue(roundingDecimal int) (v any) { return asr.getValue(roundingDecimal) } @@ -264,7 +264,7 @@ func (acd *StatACD) GetStringValue(roundingDecimal int) (valStr string) { return } -func (acd *StatACD) GetValue(roundingDecimal int) (v interface{}) { +func (acd *StatACD) GetValue(roundingDecimal int) (v any) { return acd.getValue(roundingDecimal) } @@ -279,7 +279,7 @@ func (acd *StatACD) GetFloat64Value(roundingDecimal int) (v float64) { func (acd *StatACD) AddEvent(evID string, ev utils.DataProvider) (err error) { var dur time.Duration - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaReq, utils.Usage}); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, utils.Usage) @@ -401,7 +401,7 @@ func (tcd *StatTCD) GetStringValue(roundingDecimal int) (valStr string) { return } -func (tcd *StatTCD) GetValue(roundingDecimal int) (v interface{}) { +func (tcd *StatTCD) GetValue(roundingDecimal int) (v any) { return tcd.getValue(roundingDecimal) } @@ -416,7 +416,7 @@ func (tcd *StatTCD) GetFloat64Value(roundingDecimal int) (v float64) { func (tcd *StatTCD) AddEvent(evID string, ev utils.DataProvider) (err error) { var dur time.Duration - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaReq, utils.Usage}); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, utils.Usage) @@ -538,7 +538,7 @@ func (acc *StatACC) GetStringValue(roundingDecimal int) (valStr string) { } -func (acc *StatACC) GetValue(roundingDecimal int) (v interface{}) { +func (acc *StatACC) GetValue(roundingDecimal int) (v any) { return acc.getValue(roundingDecimal) } @@ -548,7 +548,7 @@ func (acc *StatACC) GetFloat64Value(roundingDecimal int) (v float64) { func (acc *StatACC) AddEvent(evID string, ev utils.DataProvider) (err error) { var cost float64 - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaReq, utils.Cost}); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, utils.Cost) @@ -670,7 +670,7 @@ func (tcc *StatTCC) GetStringValue(roundingDecimal int) (valStr string) { return } -func (tcc *StatTCC) GetValue(roundingDecimal int) (v interface{}) { +func (tcc *StatTCC) GetValue(roundingDecimal int) (v any) { return tcc.getValue(roundingDecimal) } @@ -680,7 +680,7 @@ func (tcc *StatTCC) GetFloat64Value(roundingDecimal int) (v float64) { func (tcc *StatTCC) AddEvent(evID string, ev utils.DataProvider) (err error) { var cost float64 - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaReq, utils.Cost}); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, utils.Cost) @@ -804,7 +804,7 @@ func (pdd *StatPDD) GetStringValue(roundingDecimal int) (valStr string) { return } -func (pdd *StatPDD) GetValue(roundingDecimal int) (v interface{}) { +func (pdd *StatPDD) GetValue(roundingDecimal int) (v any) { return pdd.getValue(roundingDecimal) } @@ -819,7 +819,7 @@ func (pdd *StatPDD) GetFloat64Value(roundingDecimal int) (v float64) { func (pdd *StatPDD) AddEvent(evID string, ev utils.DataProvider) (err error) { var dur time.Duration - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaReq, utils.PDD}); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, utils.PDD) @@ -933,7 +933,7 @@ func (ddc *StatDDC) GetStringValue(roundingDecimal int) (valStr string) { return } -func (ddc *StatDDC) GetValue(roundingDecimal int) (v interface{}) { +func (ddc *StatDDC) GetValue(roundingDecimal int) (v any) { return ddc.getValue(roundingDecimal) } @@ -1083,7 +1083,7 @@ func (sum *StatSum) GetStringValue(roundingDecimal int) (valStr string) { return } -func (sum *StatSum) GetValue(roundingDecimal int) (v interface{}) { +func (sum *StatSum) GetValue(roundingDecimal int) (v any) { return sum.getValue(roundingDecimal) } @@ -1093,7 +1093,7 @@ func (sum *StatSum) GetFloat64Value(roundingDecimal int) (v float64) { func (sum *StatSum) AddEvent(evID string, ev utils.DataProvider) (err error) { var val float64 - var ival interface{} + var ival any if ival, err = utils.DPDynamicInterface(sum.FieldName, ev); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, sum.FieldName) @@ -1217,7 +1217,7 @@ func (avg *StatAverage) GetStringValue(roundingDecimal int) (valStr string) { } -func (avg *StatAverage) GetValue(roundingDecimal int) (v interface{}) { +func (avg *StatAverage) GetValue(roundingDecimal int) (v any) { return avg.getValue(roundingDecimal) } @@ -1227,7 +1227,7 @@ func (avg *StatAverage) GetFloat64Value(roundingDecimal int) (v float64) { func (avg *StatAverage) AddEvent(evID string, ev utils.DataProvider) (err error) { var val float64 - var ival interface{} + var ival any if ival, err = utils.DPDynamicInterface(avg.FieldName, ev); err != nil { if err == utils.ErrNotFound { err = utils.ErrPrefix(err, avg.FieldName) @@ -1343,7 +1343,7 @@ func (dst *StatDistinct) GetStringValue(roundingDecimal int) (valStr string) { return } -func (dst *StatDistinct) GetValue(roundingDecimal int) (v interface{}) { +func (dst *StatDistinct) GetValue(roundingDecimal int) (v any) { return dst.getValue(roundingDecimal) } diff --git a/engine/statmetrics_test.go b/engine/statmetrics_test.go index d8937c216..a1186e110 100644 --- a/engine/statmetrics_test.go +++ b/engine/statmetrics_test.go @@ -32,7 +32,7 @@ import ( func TestASRGetStringValue(t *testing.T) { asr, _ := NewASR(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} if strVal := asr.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong asr value: %s", strVal) @@ -56,10 +56,10 @@ func TestASRGetStringValue(t *testing.T) { t.Errorf("wrong asr value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) asr.AddEvent(ev5.ID, utils.MapStorage{utils.MetaReq: ev5.Event}) @@ -81,7 +81,7 @@ func TestASRGetStringValue(t *testing.T) { func TestASRGetStringValue2(t *testing.T) { asr, _ := NewASR(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -125,7 +125,7 @@ func TestASRGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -176,7 +176,7 @@ func TestASRGetStringValue3(t *testing.T) { func TestASRGetValue(t *testing.T) { asr, _ := NewASR(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) if v := asr.GetValue(config.CgrConfig().GeneralCfg().RoundingDecimals); v != -1.0 { @@ -194,10 +194,10 @@ func TestASRGetValue(t *testing.T) { t.Errorf("wrong asr value: %f", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) asr.AddEvent(ev5.ID, utils.MapStorage{utils.MetaReq: ev5.Event}) @@ -234,7 +234,7 @@ func TestASRCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -299,7 +299,7 @@ func TestASRGetCompressFactor(t *testing.T) { } asr, _ := NewASR(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -325,7 +325,7 @@ func TestASRGetCompressFactor(t *testing.T) { func TestACDGetStringValue(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 10 * time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -357,13 +357,13 @@ func TestACDGetStringValue(t *testing.T) { t.Errorf("wrong acd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 478433753 * time.Nanosecond, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 30*time.Second + 982433452*time.Nanosecond, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -391,12 +391,12 @@ func TestACDGetStringValue(t *testing.T) { func TestACDGetStringValue2(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} if err := acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := acd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "1m30s" { t.Errorf("wrong acd value: %s", strVal) @@ -426,11 +426,11 @@ func TestACDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 3 * time.Minute}} + Event: map[string]any{utils.Usage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} if err := acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -471,11 +471,11 @@ func TestACDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 3 * time.Minute}} + Event: map[string]any{utils.Usage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}) acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) acd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) @@ -519,11 +519,11 @@ func TestACDGetCompressFactor(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -546,7 +546,7 @@ func TestACDGetCompressFactor(t *testing.T) { func TestACDGetFloat64Value(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -559,13 +559,13 @@ func TestACDGetFloat64Value(t *testing.T) { t.Errorf("wrong acd value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -624,7 +624,7 @@ func TestACDGetFloat64Value(t *testing.T) { func TestACDGetValue(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -632,7 +632,7 @@ func TestACDGetValue(t *testing.T) { t.Errorf("wrong acd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 8 * time.Second}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3"} @@ -650,13 +650,13 @@ func TestACDGetValue(t *testing.T) { t.Errorf("wrong acd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 4*time.Minute + 30*time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -680,7 +680,7 @@ func TestACDGetValue(t *testing.T) { func TestTCDGetStringValue(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 10 * time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -692,7 +692,7 @@ func TestTCDGetStringValue(t *testing.T) { t.Errorf("wrong tcd value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 10 * time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -711,13 +711,13 @@ func TestTCDGetStringValue(t *testing.T) { t.Errorf("wrong tcd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -741,12 +741,12 @@ func TestTCDGetStringValue(t *testing.T) { func TestTCDGetStringValue2(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} if err := tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := tcd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "3m0s" { t.Errorf("wrong tcd value: %s", strVal) @@ -776,11 +776,11 @@ func TestTCDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 3 * time.Minute}} + Event: map[string]any{utils.Usage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} if err := tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -810,7 +810,7 @@ func TestTCDGetStringValue3(t *testing.T) { func TestTCDGetFloat64Value(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -823,13 +823,13 @@ func TestTCDGetFloat64Value(t *testing.T) { t.Errorf("wrong tcd value: %f", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -863,7 +863,7 @@ func TestTCDGetFloat64Value(t *testing.T) { func TestTCDGetValue(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -871,7 +871,7 @@ func TestTCDGetValue(t *testing.T) { t.Errorf("wrong tcd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 5 * time.Second}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3"} @@ -889,13 +889,13 @@ func TestTCDGetValue(t *testing.T) { t.Errorf("wrong tcd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -930,11 +930,11 @@ func TestTCDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Usage: 3 * time.Minute}} + Event: map[string]any{utils.Usage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}) tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) tcd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) @@ -978,11 +978,11 @@ func TestTCDGetCompressFactor(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Usage": time.Minute}} + Event: map[string]any{"Usage": time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Usage: 2 * time.Minute}} + Event: map[string]any{utils.Usage: 2 * time.Minute}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1005,7 +1005,7 @@ func TestTCDGetCompressFactor(t *testing.T) { func TestACCGetStringValue(t *testing.T) { acc, _ := NewACC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 12.3}} if strVal := acc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1017,7 +1017,7 @@ func TestACCGetStringValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 12.3}} acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1030,11 +1030,11 @@ func TestACCGetStringValue(t *testing.T) { t.Errorf("wrong acc value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 5.6}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 1.2}} acc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) @@ -1063,12 +1063,12 @@ func TestACCGetStringValue(t *testing.T) { func TestACCGetStringValue2(t *testing.T) { acc, _ := NewACC(2, "", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 12.3}} + Event: map[string]any{"Cost": 12.3}} if err := acc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := acc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "15.3" { t.Errorf("wrong acc value: %s", strVal) @@ -1098,11 +1098,11 @@ func TestACCGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} if err := acc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -1132,7 +1132,7 @@ func TestACCGetStringValue3(t *testing.T) { func TestACCGetValue(t *testing.T) { acc, _ := NewACC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "12.3"}} if strVal := acc.GetValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != -1.0 { @@ -1154,11 +1154,11 @@ func TestACCGetValue(t *testing.T) { t.Errorf("wrong acc value: %v", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "5.6"}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "1.2"}} acc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) @@ -1193,11 +1193,11 @@ func TestACCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -1254,11 +1254,11 @@ func TestACCGetCompressFactor(t *testing.T) { } acc, _ := NewACC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if CF = acc.GetCompressFactor(make(map[string]int)); !reflect.DeepEqual(expectedCF, CF) { @@ -1281,7 +1281,7 @@ func TestACCGetCompressFactor(t *testing.T) { func TestTCCGetStringValue(t *testing.T) { tcc, _ := NewTCC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 12.3}} if strVal := tcc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1293,7 +1293,7 @@ func TestTCCGetStringValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 5.7}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1306,11 +1306,11 @@ func TestTCCGetStringValue(t *testing.T) { t.Errorf("wrong tcc value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 5.6}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 1.2}} tcc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) @@ -1340,12 +1340,12 @@ func TestTCCGetStringValue(t *testing.T) { func TestTCCGetStringValue2(t *testing.T) { tcc, _ := NewTCC(2, "", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 12.3}} + Event: map[string]any{"Cost": 12.3}} if err := tcc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := tcc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "30.6" { t.Errorf("wrong tcc value: %s", strVal) @@ -1375,11 +1375,11 @@ func TestTCCGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} if err := tcc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -1409,7 +1409,7 @@ func TestTCCGetStringValue3(t *testing.T) { func TestTCCGetValue(t *testing.T) { tcc, _ := NewTCC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "12.3"}} if strVal := tcc.GetValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != -1.0 { @@ -1421,7 +1421,7 @@ func TestTCCGetValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": 1.2}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1434,11 +1434,11 @@ func TestTCCGetValue(t *testing.T) { t.Errorf("wrong tcc value: %v", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "5.6"}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "1.2"}} tcc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaReq: ev4.Event}) @@ -1473,11 +1473,11 @@ func TestTCCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -1534,11 +1534,11 @@ func TestTCCGetCompressFactor(t *testing.T) { } tcc, _ := NewTCC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if CF = tcc.GetCompressFactor(make(map[string]int)); !reflect.DeepEqual(expectedCF, CF) { @@ -1561,7 +1561,7 @@ func TestTCCGetCompressFactor(t *testing.T) { func TestPDDGetStringValue(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 10 * time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: 5 * time.Second, @@ -1589,14 +1589,14 @@ func TestPDDGetStringValue(t *testing.T) { t.Errorf("wrong pdd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: 10 * time.Second, }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ utils.PDD: 10 * time.Second, }, } @@ -1623,12 +1623,12 @@ func TestPDDGetStringValue(t *testing.T) { func TestPDDGetStringValue2(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: 2 * time.Minute}} + Event: map[string]any{utils.PDD: 2 * time.Minute}} if err := pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.PDD: time.Minute}} + Event: map[string]any{utils.PDD: time.Minute}} pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := pdd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "1m30s" { t.Errorf("wrong pdd value: %s", strVal) @@ -1658,11 +1658,11 @@ func TestPDDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: 2 * time.Minute}} + Event: map[string]any{utils.PDD: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: 3 * time.Minute}} + Event: map[string]any{utils.PDD: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{utils.PDD: time.Minute}} + Event: map[string]any{utils.PDD: time.Minute}} if err := pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -1692,7 +1692,7 @@ func TestPDDGetStringValue3(t *testing.T) { func TestPDDGetFloat64Value(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, utils.PDD: 5 * time.Second}} @@ -1706,14 +1706,14 @@ func TestPDDGetFloat64Value(t *testing.T) { t.Errorf("wrong pdd value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: 10 * time.Second, }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -1747,7 +1747,7 @@ func TestPDDGetFloat64Value(t *testing.T) { func TestPDDGetValue(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, utils.PDD: 9 * time.Second}} @@ -1756,7 +1756,7 @@ func TestPDDGetValue(t *testing.T) { t.Errorf("wrong pdd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 8 * time.Second, utils.PDD: 10 * time.Second}} @@ -1783,14 +1783,14 @@ func TestPDDGetValue(t *testing.T) { t.Errorf("wrong pdd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: 8 * time.Second, }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": 4*time.Minute + 30*time.Second, "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -1829,11 +1829,11 @@ func TestPDDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: 2 * time.Minute}} + Event: map[string]any{utils.PDD: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: 3 * time.Minute}} + Event: map[string]any{utils.PDD: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{utils.PDD: time.Minute}} + Event: map[string]any{utils.PDD: time.Minute}} pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}) pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) pdd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) @@ -1877,11 +1877,11 @@ func TestPDDGetCompressFactor(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.PDD: time.Minute}} + Event: map[string]any{utils.PDD: time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.PDD: time.Minute}} + Event: map[string]any{utils.PDD: time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.PDD: 2 * time.Minute}} + Event: map[string]any{utils.PDD: 2 * time.Minute}} pdd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1904,7 +1904,7 @@ func TestPDDGetCompressFactor(t *testing.T) { func TestDDCGetStringValue(t *testing.T) { ddc, _ := NewDDC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} if strVal := ddc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1916,12 +1916,12 @@ func TestDDCGetStringValue(t *testing.T) { t.Errorf("wrong ddc value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1001"}} ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -1946,7 +1946,7 @@ func TestDDCGetStringValue(t *testing.T) { func TestDDCGetFloat64Value(t *testing.T) { ddc, _ := NewDDC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, utils.PDD: 5 * time.Second, @@ -1961,7 +1961,7 @@ func TestDDCGetFloat64Value(t *testing.T) { t.Errorf("wrong ddc value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: 10 * time.Second, @@ -1969,7 +1969,7 @@ func TestDDCGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1003", @@ -2004,7 +2004,7 @@ func TestDDCGetFloat64Value(t *testing.T) { func TestDDCGetStringValue2(t *testing.T) { statDistinct, _ := NewDDC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2014,7 +2014,7 @@ func TestDDCGetStringValue2(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1002"}} + Event: map[string]any{utils.Destination: "1002"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { t.Errorf("wrong statDistinct value: %s", strVal) @@ -2055,11 +2055,11 @@ func TestDDCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{utils.Destination: "1002"}} + Event: map[string]any{utils.Destination: "1002"}} ddc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) ddc.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) @@ -2093,11 +2093,11 @@ func TestDDCGetCompressFactor(t *testing.T) { ddc, _ := NewDDC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1002"}} + Event: map[string]any{utils.Destination: "1002"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ddc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -2120,7 +2120,7 @@ func TestDDCGetCompressFactor(t *testing.T) { func TestStatSumGetFloat64Value(t *testing.T) { statSum, _ := NewStatSum(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, @@ -2138,7 +2138,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { t.Errorf("wrong statSum value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "Usage": time.Minute, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2147,7 +2147,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2183,7 +2183,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { func TestStatSumGetStringValue(t *testing.T) { statSum, _ := NewStatSum(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} @@ -2196,13 +2196,13 @@ func TestStatSumGetStringValue(t *testing.T) { t.Errorf("wrong statSum value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1001"}} @@ -2228,12 +2228,12 @@ func TestStatSumGetStringValue(t *testing.T) { func TestStatSumGetStringValue2(t *testing.T) { statSum, _ := NewStatSum(2, "~*req.Cost", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 12.3}} + Event: map[string]any{"Cost": 12.3}} if err := statSum.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} statSum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := statSum.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "30.6" { t.Errorf("wrong statSum value: %s", strVal) @@ -2264,11 +2264,11 @@ func TestStatSumGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} if err := statSum.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -2311,11 +2311,11 @@ func TestStatSumCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} sum.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) sum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -2373,11 +2373,11 @@ func TestStatSumGetCompressFactor(t *testing.T) { } sum, _ := NewStatSum(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} sum.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) sum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if CF = sum.GetCompressFactor(make(map[string]int)); !reflect.DeepEqual(expectedCF, CF) { @@ -2400,7 +2400,7 @@ func TestStatSumGetCompressFactor(t *testing.T) { func TestStatAverageGetFloat64Value(t *testing.T) { statAvg, _ := NewStatAverage(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, @@ -2416,7 +2416,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { t.Errorf("wrong statAvg value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "30", "Usage": time.Minute, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2425,7 +2425,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "Usage": time.Minute + 30*time.Second, "AnswerTime": time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2461,7 +2461,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { func TestStatAverageGetStringValue(t *testing.T) { statAvg, _ := NewStatAverage(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} @@ -2474,13 +2474,13 @@ func TestStatAverageGetStringValue(t *testing.T) { t.Errorf("wrong statAvg value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1002"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Destination: "1001"}} @@ -2506,12 +2506,12 @@ func TestStatAverageGetStringValue(t *testing.T) { func TestStatAverageGetStringValue2(t *testing.T) { statAvg, _ := NewStatAverage(2, "~*req.Cost", []string{}) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 12.3}} + Event: map[string]any{"Cost": 12.3}} if err := statAvg.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} statAvg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := statAvg.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "15.3" { t.Errorf("wrong statAvg value: %s", strVal) @@ -2543,11 +2543,11 @@ func TestStatAverageGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} if err := statAvg.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}); err != nil { t.Error(err) } @@ -2590,11 +2590,11 @@ func TestStatAverageCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 6.2}} + Event: map[string]any{"Cost": 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.3}} + Event: map[string]any{"Cost": 18.3}} avg.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) avg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -2652,11 +2652,11 @@ func TestStatAverageGetCompressFactor(t *testing.T) { } avg, _ := NewStatAverage(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": 18.2}} + Event: map[string]any{"Cost": 18.2}} avg.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) avg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if CF = avg.GetCompressFactor(make(map[string]int)); !reflect.DeepEqual(expectedCF, CF) { @@ -2679,7 +2679,7 @@ func TestStatAverageGetCompressFactor(t *testing.T) { func TestStatDistinctGetFloat64Value(t *testing.T) { statDistinct, _ := NewStatDistinct(2, "~*req.Usage", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Usage": 10 * time.Second}} + Event: map[string]any{"Usage": 10 * time.Second}} statDistinct.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) if v := statDistinct.GetFloat64Value(config.CgrConfig().GeneralCfg().RoundingDecimals); v != -1.0 { t.Errorf("wrong statDistinct value: %v", v) @@ -2690,12 +2690,12 @@ func TestStatDistinctGetFloat64Value(t *testing.T) { t.Errorf("wrong statDistinct value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute, }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": time.Minute + 30*time.Second, }, } @@ -2730,7 +2730,7 @@ func TestStatDistinctGetFloat64Value(t *testing.T) { func TestStatDistinctGetStringValue(t *testing.T) { statDistinct, _ := NewStatDistinct(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": "20"}} + Event: map[string]any{"Cost": "20"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2740,9 +2740,9 @@ func TestStatDistinctGetStringValue(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{"Cost": "20"}} + Event: map[string]any{"Cost": "20"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{"Cost": "40"}} + Event: map[string]any{"Cost": "40"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) statDistinct.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { @@ -2765,7 +2765,7 @@ func TestStatDistinctGetStringValue(t *testing.T) { func TestStatDistinctGetStringValue2(t *testing.T) { statDistinct, _ := NewStatDistinct(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": "20"}} + Event: map[string]any{"Cost": "20"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2775,7 +2775,7 @@ func TestStatDistinctGetStringValue2(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{"Cost": "40"}} + Event: map[string]any{"Cost": "40"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { t.Errorf("wrong statDistinct value: %s", strVal) @@ -2818,11 +2818,11 @@ func TestStatDistinctCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - Event: map[string]interface{}{utils.Destination: "1002"}} + Event: map[string]any{utils.Destination: "1002"}} ddc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaReq: ev1.Event}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) ddc.AddEvent(ev3.ID, utils.MapStorage{utils.MetaReq: ev3.Event}) @@ -2856,11 +2856,11 @@ func TestStatDistinctGetCompressFactor(t *testing.T) { ddc, _ := NewStatDistinct(2, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Destination, []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{utils.Destination: "1002"}} + Event: map[string]any{utils.Destination: "1002"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - Event: map[string]interface{}{utils.Destination: "1001"}} + Event: map[string]any{utils.Destination: "1001"}} ddc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaReq: ev2.Event}) @@ -2885,7 +2885,7 @@ var jMarshaler JSONMarshaler func TestASRMarshal(t *testing.T) { asr, _ := NewASR(2, "", []string{"*string:Account:1001"}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) var nasr StatASR @@ -2904,7 +2904,7 @@ func TestASRMarshal(t *testing.T) { func TestACDMarshal(t *testing.T) { acd, _ := NewACD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -2924,7 +2924,7 @@ func TestACDMarshal(t *testing.T) { func TestTCDMarshal(t *testing.T) { tcd, _ := NewTCD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -2944,7 +2944,7 @@ func TestTCDMarshal(t *testing.T) { func TestACCMarshal(t *testing.T) { acc, _ := NewACC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "12.3"}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -2964,7 +2964,7 @@ func TestACCMarshal(t *testing.T) { func TestTCCMarshal(t *testing.T) { tcc, _ := NewTCC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Cost": "12.3"}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaReq: ev.Event}) @@ -2984,7 +2984,7 @@ func TestTCCMarshal(t *testing.T) { func TestPDDMarshal(t *testing.T) { pdd, _ := NewPDD(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, utils.PDD: 5 * time.Second}} @@ -3005,7 +3005,7 @@ func TestPDDMarshal(t *testing.T) { func TestDCCMarshal(t *testing.T) { ddc, _ := NewDDC(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, utils.PDD: 5 * time.Second, @@ -3027,7 +3027,7 @@ func TestDCCMarshal(t *testing.T) { func TestStatSumMarshal(t *testing.T) { statSum, _ := NewStatSum(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, @@ -3050,7 +3050,7 @@ func TestStatSumMarshal(t *testing.T) { func TestStatAverageMarshal(t *testing.T) { statAvg, _ := NewStatAverage(2, "~*req.Cost", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, @@ -3073,7 +3073,7 @@ func TestStatAverageMarshal(t *testing.T) { func TestStatDistrictMarshal(t *testing.T) { statDistinct, _ := NewStatDistinct(2, "~*req.Usage", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": "20", "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), "Usage": 10 * time.Second, @@ -3280,7 +3280,7 @@ func TestStatMetricsStatDistinctRemEvent2(t *testing.T) { func TestStatMetricsStatDistinctAddEventErr(t *testing.T) { asr, _ := NewASR(2, "", []string{}) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} if strVal := asr.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong asr value: %s", strVal) @@ -3823,7 +3823,7 @@ func TestStatMetricsStatASRAddEventErr1(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: "10", }, } @@ -3848,7 +3848,7 @@ func TestStatMetricsStatASRAddEventErr2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "AnswerTime": false, }, } @@ -3873,7 +3873,7 @@ func TestStatMetricsStatACDAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": false, }, } @@ -3922,7 +3922,7 @@ func TestStatMetricsStatTCDAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Usage": false, }, } @@ -3971,7 +3971,7 @@ func TestStatMetricsStatACCAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": false, }, } @@ -3997,7 +3997,7 @@ func TestStatMetricsStatTCCAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": false, }, } @@ -4023,7 +4023,7 @@ func TestStatMetricsStatPDDAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "PDD": false, }, } @@ -4095,7 +4095,7 @@ func TestStatMetricsStatSumAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": false, }, } @@ -4121,7 +4121,7 @@ func TestStatMetricsStatAverageAddEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_1", - Event: map[string]interface{}{ + Event: map[string]any{ "Cost": false, }, } @@ -4149,7 +4149,7 @@ func (mockDP) String() string { return "" } -func (mockDP) FieldAsInterface(fldPath []string) (interface{}, error) { +func (mockDP) FieldAsInterface(fldPath []string) (any, error) { return nil, utils.ErrAccountNotFound } diff --git a/engine/stats.go b/engine/stats.go index 9a7b21b2b..2e80ce9ea 100644 --- a/engine/stats.go +++ b/engine/stats.go @@ -242,7 +242,7 @@ func (sS *StatService) matchingStatQueuesForEvent(tnt string, statsIDs []string, // Call implements rpcclient.ClientConnector interface for internal RPC // here for cases when passing StatsService as rpccclient.RpcClientConnection -func (sS *StatService) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (sS *StatService) Call(serviceMethod string, args any, reply any) error { return utils.RPCCall(sS, serviceMethod, args, reply) } @@ -273,12 +273,12 @@ func (sS *StatService) storeStatQueue(sq *StatQueue) { } // processThresholds will pass the event for statQueue to ThresholdS -func (sS *StatService) processThresholds(sQs StatQueues, opts map[string]interface{}) (err error) { +func (sS *StatService) processThresholds(sQs StatQueues, opts map[string]any) (err error) { if len(sS.cgrcfg.StatSCfg().ThresholdSConns) == 0 { return } if opts == nil { - opts = make(map[string]interface{}) + opts = make(map[string]any) } opts[utils.MetaEventType] = utils.StatUpdate var withErrs bool @@ -295,7 +295,7 @@ func (sS *StatService) processThresholds(sQs StatQueues, opts map[string]interfa thEv := &utils.CGREvent{ Tenant: sq.Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: sq.ID, }, diff --git a/engine/stats_test.go b/engine/stats_test.go index 272e84e2c..597f52684 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -105,7 +105,7 @@ var ( { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -114,12 +114,12 @@ var ( utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -127,16 +127,16 @@ var ( "Weight": "15.0", utils.Usage: 45 * time.Second, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfilePrefix", utils.Usage: 30 * time.Second, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } ) @@ -1225,10 +1225,10 @@ func TestStatQueueProcessEventOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1283,7 +1283,7 @@ func TestStatQueueProcessEventProcessThPartExec(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -1352,10 +1352,10 @@ func TestStatQueueProcessEventProcessEventErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1429,10 +1429,10 @@ func TestStatQueueV1ProcessEventProcessEventErr(t *testing.T) { args := &utils.CGREvent{ ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1505,10 +1505,10 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1523,7 +1523,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { Tenant: "cgrates.org", ID: "SqProcessEvent", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1845,7 +1845,7 @@ func TestStatQueueV1GetStatQueuesForEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1900,7 +1900,7 @@ func TestStatQueueV1GetStatQueuesForEventNotFoundErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -1958,7 +1958,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.EmptyString, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -2335,17 +2335,17 @@ func TestStatQueueProcessThresholdsOK(t *testing.T) { Cache.Clear(nil) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: "SQ1", "testMetricType": time.Duration(time.Hour), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.StatUpdate, utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, @@ -2443,8 +2443,8 @@ func TestStatQueueProcessThresholdsErrPartExec(t *testing.T) { Cache.Clear(nil) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { return utils.ErrExists }, }, @@ -3205,10 +3205,10 @@ func TestStatQueueV1GetStatQueuesForSliceOptsErr(t *testing.T) { } args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: "SQ1", }, } @@ -3273,10 +3273,10 @@ func TestStatQueueV1GetStatQueuesForEventBoolOptsErr(t *testing.T) { } args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIgnoreFilters: "test", }, } @@ -3300,7 +3300,7 @@ func TestMatchingStatQueuesForEventErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -3360,10 +3360,10 @@ func TestStatQueueProcessEventErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: "SQ1", }, } diff --git a/engine/storage_csv.go b/engine/storage_csv.go index 5a22428ec..2fb326e76 100644 --- a/engine/storage_csv.go +++ b/engine/storage_csv.go @@ -363,7 +363,7 @@ func appendName(paths []string, fileName string) (out []string) { return } -func (csvs *CSVStorage) proccesData(listType interface{}, fns []string, process func(interface{})) error { +func (csvs *CSVStorage) proccesData(listType any, fns []string, process func(any)) error { collumnCount := getColumnCount(listType) for _, fileName := range fns { csvReader := csvs.generator() @@ -396,7 +396,7 @@ func (csvs *CSVStorage) proccesData(listType interface{}, fns []string, process func (csvs *CSVStorage) GetTPTimings(tpid, id string) ([]*utils.ApierTPTiming, error) { var tpTimings TimingMdls - if err := csvs.proccesData(TimingMdl{}, csvs.timingsFn, func(tp interface{}) { + if err := csvs.proccesData(TimingMdl{}, csvs.timingsFn, func(tp any) { tm := tp.(TimingMdl) tm.Tpid = tpid tpTimings = append(tpTimings, tm) @@ -408,7 +408,7 @@ func (csvs *CSVStorage) GetTPTimings(tpid, id string) ([]*utils.ApierTPTiming, e func (csvs *CSVStorage) GetTPDestinations(tpid, id string) ([]*utils.TPDestination, error) { var tpDests DestinationMdls - if err := csvs.proccesData(DestinationMdl{}, csvs.destinationsFn, func(tp interface{}) { + if err := csvs.proccesData(DestinationMdl{}, csvs.destinationsFn, func(tp any) { d := tp.(DestinationMdl) d.Tpid = tpid tpDests = append(tpDests, d) @@ -420,7 +420,7 @@ func (csvs *CSVStorage) GetTPDestinations(tpid, id string) ([]*utils.TPDestinati func (csvs *CSVStorage) GetTPRates(tpid, id string) ([]*utils.TPRateRALs, error) { var tpRates RateMdls - if err := csvs.proccesData(RateMdl{}, csvs.ratesFn, func(tp interface{}) { + if err := csvs.proccesData(RateMdl{}, csvs.ratesFn, func(tp any) { r := tp.(RateMdl) r.Tpid = tpid tpRates = append(tpRates, r) @@ -432,7 +432,7 @@ func (csvs *CSVStorage) GetTPRates(tpid, id string) ([]*utils.TPRateRALs, error) func (csvs *CSVStorage) GetTPDestinationRates(tpid, id string, p *utils.Paginator) ([]*utils.TPDestinationRate, error) { var tpDestinationRates DestinationRateMdls - if err := csvs.proccesData(DestinationRateMdl{}, csvs.destinationratesFn, func(tp interface{}) { + if err := csvs.proccesData(DestinationRateMdl{}, csvs.destinationratesFn, func(tp any) { dr := tp.(DestinationRateMdl) dr.Tpid = tpid tpDestinationRates = append(tpDestinationRates, dr) @@ -444,7 +444,7 @@ func (csvs *CSVStorage) GetTPDestinationRates(tpid, id string, p *utils.Paginato func (csvs *CSVStorage) GetTPRatingPlans(tpid, id string, p *utils.Paginator) ([]*utils.TPRatingPlan, error) { var tpRatingPlans RatingPlanMdls - if err := csvs.proccesData(RatingPlanMdl{}, csvs.destinationratetimingsFn, func(tp interface{}) { + if err := csvs.proccesData(RatingPlanMdl{}, csvs.destinationratetimingsFn, func(tp any) { rp := tp.(RatingPlanMdl) rp.Tpid = tpid tpRatingPlans = append(tpRatingPlans, rp) @@ -456,7 +456,7 @@ func (csvs *CSVStorage) GetTPRatingPlans(tpid, id string, p *utils.Paginator) ([ func (csvs *CSVStorage) GetTPRatingProfiles(filter *utils.TPRatingProfile) ([]*utils.TPRatingProfile, error) { var tpRatingProfiles RatingProfileMdls - if err := csvs.proccesData(RatingProfileMdl{}, csvs.ratingprofilesFn, func(tp interface{}) { + if err := csvs.proccesData(RatingProfileMdl{}, csvs.ratingprofilesFn, func(tp any) { rpf := tp.(RatingProfileMdl) if filter != nil { rpf.Tpid = filter.TPid @@ -471,7 +471,7 @@ func (csvs *CSVStorage) GetTPRatingProfiles(filter *utils.TPRatingProfile) ([]*u func (csvs *CSVStorage) GetTPSharedGroups(tpid, id string) ([]*utils.TPSharedGroups, error) { var tpSharedGroups SharedGroupMdls - if err := csvs.proccesData(SharedGroupMdl{}, csvs.sharedgroupsFn, func(tp interface{}) { + if err := csvs.proccesData(SharedGroupMdl{}, csvs.sharedgroupsFn, func(tp any) { sg := tp.(SharedGroupMdl) sg.Tpid = tpid tpSharedGroups = append(tpSharedGroups, sg) @@ -483,7 +483,7 @@ func (csvs *CSVStorage) GetTPSharedGroups(tpid, id string) ([]*utils.TPSharedGro func (csvs *CSVStorage) GetTPActions(tpid, id string) ([]*utils.TPActions, error) { var tpActions ActionMdls - if err := csvs.proccesData(ActionMdl{}, csvs.actionsFn, func(tp interface{}) { + if err := csvs.proccesData(ActionMdl{}, csvs.actionsFn, func(tp any) { a := tp.(ActionMdl) a.Tpid = tpid tpActions = append(tpActions, a) @@ -495,7 +495,7 @@ func (csvs *CSVStorage) GetTPActions(tpid, id string) ([]*utils.TPActions, error func (csvs *CSVStorage) GetTPActionPlans(tpid, id string) ([]*utils.TPActionPlan, error) { var tpActionPlans ActionPlanMdls - if err := csvs.proccesData(ActionPlanMdl{}, csvs.actiontimingsFn, func(tp interface{}) { + if err := csvs.proccesData(ActionPlanMdl{}, csvs.actiontimingsFn, func(tp any) { ap := tp.(ActionPlanMdl) ap.Tpid = tpid tpActionPlans = append(tpActionPlans, ap) @@ -507,7 +507,7 @@ func (csvs *CSVStorage) GetTPActionPlans(tpid, id string) ([]*utils.TPActionPlan func (csvs *CSVStorage) GetTPActionTriggers(tpid, id string) ([]*utils.TPActionTriggers, error) { var tpActionTriggers ActionTriggerMdls - if err := csvs.proccesData(ActionTriggerMdl{}, csvs.actiontriggersFn, func(tp interface{}) { + if err := csvs.proccesData(ActionTriggerMdl{}, csvs.actiontriggersFn, func(tp any) { at := tp.(ActionTriggerMdl) at.Tpid = tpid tpActionTriggers = append(tpActionTriggers, at) @@ -519,7 +519,7 @@ func (csvs *CSVStorage) GetTPActionTriggers(tpid, id string) ([]*utils.TPActionT func (csvs *CSVStorage) GetTPAccountActions(filter *utils.TPAccountActions) ([]*utils.TPAccountActions, error) { var tpAccountActions AccountActionMdls - if err := csvs.proccesData(AccountActionMdl{}, csvs.accountactionsFn, func(tp interface{}) { + if err := csvs.proccesData(AccountActionMdl{}, csvs.accountactionsFn, func(tp any) { aa := tp.(AccountActionMdl) if filter != nil { aa.Tpid = filter.TPid @@ -534,7 +534,7 @@ func (csvs *CSVStorage) GetTPAccountActions(filter *utils.TPAccountActions) ([]* func (csvs *CSVStorage) GetTPResources(tpid, tenant, id string) ([]*utils.TPResourceProfile, error) { var tpResLimits ResourceMdls - if err := csvs.proccesData(ResourceMdl{}, csvs.resProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(ResourceMdl{}, csvs.resProfilesFn, func(tp any) { tpLimit := tp.(ResourceMdl) tpLimit.Tpid = tpid tpResLimits = append(tpResLimits, &tpLimit) @@ -546,7 +546,7 @@ func (csvs *CSVStorage) GetTPResources(tpid, tenant, id string) ([]*utils.TPReso func (csvs *CSVStorage) GetTPStats(tpid, tenant, id string) ([]*utils.TPStatProfile, error) { var tpStats StatMdls - if err := csvs.proccesData(StatMdl{}, csvs.statsFn, func(tp interface{}) { + if err := csvs.proccesData(StatMdl{}, csvs.statsFn, func(tp any) { tPstats := tp.(StatMdl) tPstats.Tpid = tpid tpStats = append(tpStats, &tPstats) @@ -558,7 +558,7 @@ func (csvs *CSVStorage) GetTPStats(tpid, tenant, id string) ([]*utils.TPStatProf func (csvs *CSVStorage) GetTPThresholds(tpid, tenant, id string) ([]*utils.TPThresholdProfile, error) { var tpThreshold ThresholdMdls - if err := csvs.proccesData(ThresholdMdl{}, csvs.thresholdsFn, func(tp interface{}) { + if err := csvs.proccesData(ThresholdMdl{}, csvs.thresholdsFn, func(tp any) { tHresholdCfg := tp.(ThresholdMdl) tHresholdCfg.Tpid = tpid tpThreshold = append(tpThreshold, &tHresholdCfg) @@ -570,7 +570,7 @@ func (csvs *CSVStorage) GetTPThresholds(tpid, tenant, id string) ([]*utils.TPThr func (csvs *CSVStorage) GetTPFilters(tpid, tenant, id string) ([]*utils.TPFilterProfile, error) { var tpFilter FilterMdls - if err := csvs.proccesData(FilterMdl{}, csvs.filterFn, func(tp interface{}) { + if err := csvs.proccesData(FilterMdl{}, csvs.filterFn, func(tp any) { fIlterCfg := tp.(FilterMdl) fIlterCfg.Tpid = tpid tpFilter = append(tpFilter, &fIlterCfg) @@ -582,7 +582,7 @@ func (csvs *CSVStorage) GetTPFilters(tpid, tenant, id string) ([]*utils.TPFilter func (csvs *CSVStorage) GetTPRoutes(tpid, tenant, id string) ([]*utils.TPRouteProfile, error) { var tpRoutes RouteMdls - if err := csvs.proccesData(RouteMdl{}, csvs.routeProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(RouteMdl{}, csvs.routeProfilesFn, func(tp any) { suppProfile := tp.(RouteMdl) suppProfile.Tpid = tpid tpRoutes = append(tpRoutes, &suppProfile) @@ -594,7 +594,7 @@ func (csvs *CSVStorage) GetTPRoutes(tpid, tenant, id string) ([]*utils.TPRoutePr func (csvs *CSVStorage) GetTPAttributes(tpid, tenant, id string) ([]*utils.TPAttributeProfile, error) { var tpAls AttributeMdls - if err := csvs.proccesData(AttributeMdl{}, csvs.attributeProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(AttributeMdl{}, csvs.attributeProfilesFn, func(tp any) { attributeProfile := tp.(AttributeMdl) attributeProfile.Tpid = tpid tpAls = append(tpAls, &attributeProfile) @@ -606,7 +606,7 @@ func (csvs *CSVStorage) GetTPAttributes(tpid, tenant, id string) ([]*utils.TPAtt func (csvs *CSVStorage) GetTPChargers(tpid, tenant, id string) ([]*utils.TPChargerProfile, error) { var tpCPPs ChargerMdls - if err := csvs.proccesData(ChargerMdl{}, csvs.chargerProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(ChargerMdl{}, csvs.chargerProfilesFn, func(tp any) { cpp := tp.(ChargerMdl) cpp.Tpid = tpid tpCPPs = append(tpCPPs, &cpp) @@ -618,7 +618,7 @@ func (csvs *CSVStorage) GetTPChargers(tpid, tenant, id string) ([]*utils.TPCharg func (csvs *CSVStorage) GetTPDispatcherProfiles(tpid, tenant, id string) ([]*utils.TPDispatcherProfile, error) { var tpDPPs DispatcherProfileMdls - if err := csvs.proccesData(DispatcherProfileMdl{}, csvs.dispatcherProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(DispatcherProfileMdl{}, csvs.dispatcherProfilesFn, func(tp any) { dpp := tp.(DispatcherProfileMdl) dpp.Tpid = tpid tpDPPs = append(tpDPPs, &dpp) @@ -630,7 +630,7 @@ func (csvs *CSVStorage) GetTPDispatcherProfiles(tpid, tenant, id string) ([]*uti func (csvs *CSVStorage) GetTPDispatcherHosts(tpid, tenant, id string) ([]*utils.TPDispatcherHost, error) { var tpDDHs DispatcherHostMdls - if err := csvs.proccesData(DispatcherHostMdl{}, csvs.dispatcherHostsFn, func(tp interface{}) { + if err := csvs.proccesData(DispatcherHostMdl{}, csvs.dispatcherHostsFn, func(tp any) { dpp := tp.(DispatcherHostMdl) dpp.Tpid = tpid tpDDHs = append(tpDDHs, &dpp) @@ -845,7 +845,7 @@ func (c *csvGoogle) Open(data string, sep rune, nrFields int) (err error) { return } -func (c *csvGoogle) getNextRow() (row []interface{}, err error) { +func (c *csvGoogle) getNextRow() (row []any, err error) { if len(c.response.Values) <= c.indx { return nil, io.EOF } diff --git a/engine/storage_interface.go b/engine/storage_interface.go index 299c7006b..5c575e952 100644 --- a/engine/storage_interface.go +++ b/engine/storage_interface.go @@ -217,40 +217,40 @@ func NewMarshaler(mrshlerStr string) (ms Marshaler, err error) { } type Marshaler interface { - Marshal(v interface{}) ([]byte, error) - Unmarshal(data []byte, v interface{}) error + Marshal(v any) ([]byte, error) + Unmarshal(data []byte, v any) error } type JSONMarshaler struct{} -func (jm *JSONMarshaler) Marshal(v interface{}) ([]byte, error) { +func (jm *JSONMarshaler) Marshal(v any) ([]byte, error) { return json.Marshal(v) } -func (jm *JSONMarshaler) Unmarshal(data []byte, v interface{}) error { +func (jm *JSONMarshaler) Unmarshal(data []byte, v any) error { return json.Unmarshal(data, v) } type BSONMarshaler struct{} -func (jm *BSONMarshaler) Marshal(v interface{}) ([]byte, error) { +func (jm *BSONMarshaler) Marshal(v any) ([]byte, error) { return bson.Marshal(v) } -func (jm *BSONMarshaler) Unmarshal(data []byte, v interface{}) error { +func (jm *BSONMarshaler) Unmarshal(data []byte, v any) error { return bson.Unmarshal(data, v) } type JSONBufMarshaler struct{} -func (jbm *JSONBufMarshaler) Marshal(v interface{}) (data []byte, err error) { +func (jbm *JSONBufMarshaler) Marshal(v any) (data []byte, err error) { buf := new(bytes.Buffer) err = json.NewEncoder(buf).Encode(v) data = buf.Bytes() return } -func (jbm *JSONBufMarshaler) Unmarshal(data []byte, v interface{}) error { +func (jbm *JSONBufMarshaler) Unmarshal(data []byte, v any) error { return json.NewDecoder(bytes.NewBuffer(data)).Decode(v) } @@ -261,18 +261,18 @@ type CodecMsgpackMarshaler struct { func NewCodecMsgpackMarshaler() *CodecMsgpackMarshaler { cmm := &CodecMsgpackMarshaler{new(codec.MsgpackHandle)} mh := cmm.mh - mh.MapType = reflect.TypeOf(map[string]interface{}(nil)) + mh.MapType = reflect.TypeOf(map[string]any(nil)) mh.RawToString = true return cmm } -func (cmm *CodecMsgpackMarshaler) Marshal(v interface{}) (b []byte, err error) { +func (cmm *CodecMsgpackMarshaler) Marshal(v any) (b []byte, err error) { enc := codec.NewEncoderBytes(&b, cmm.mh) err = enc.Encode(v) return } -func (cmm *CodecMsgpackMarshaler) Unmarshal(data []byte, v interface{}) error { +func (cmm *CodecMsgpackMarshaler) Unmarshal(data []byte, v any) error { dec := codec.NewDecoderBytes(data, cmm.mh) return dec.Decode(&v) } @@ -285,27 +285,27 @@ func NewBincMarshaler() *BincMarshaler { return &BincMarshaler{new(codec.BincHandle)} } -func (bm *BincMarshaler) Marshal(v interface{}) (b []byte, err error) { +func (bm *BincMarshaler) Marshal(v any) (b []byte, err error) { enc := codec.NewEncoderBytes(&b, bm.bh) err = enc.Encode(v) return } -func (bm *BincMarshaler) Unmarshal(data []byte, v interface{}) error { +func (bm *BincMarshaler) Unmarshal(data []byte, v any) error { dec := codec.NewDecoderBytes(data, bm.bh) return dec.Decode(&v) } type GOBMarshaler struct{} -func (gm *GOBMarshaler) Marshal(v interface{}) (data []byte, err error) { +func (gm *GOBMarshaler) Marshal(v any) (data []byte, err error) { buf := new(bytes.Buffer) err = gob.NewEncoder(buf).Encode(v) data = buf.Bytes() return } -func (gm *GOBMarshaler) Unmarshal(data []byte, v interface{}) error { +func (gm *GOBMarshaler) Unmarshal(data []byte, v any) error { return gob.NewDecoder(bytes.NewBuffer(data)).Decode(v) } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index b3a6ec273..623841bb2 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -178,13 +178,13 @@ func newRedisClient(address, sentinelName string, isCluster bool, // Cmd function get a connection from the pool. // Handles automatic failover in case of network disconnects -func (rs *RedisStorage) Cmd(rcv interface{}, cmd string, args ...string) error { +func (rs *RedisStorage) Cmd(rcv any, cmd string, args ...string) error { return rs.client.Do(radix.Cmd(rcv, cmd, args...)) } // FlatCmd function get a connection from the pool. // Handles automatic failover in case of network disconnects -func (rs *RedisStorage) FlatCmd(rcv interface{}, cmd, key string, args ...interface{}) error { +func (rs *RedisStorage) FlatCmd(rcv any, cmd, key string, args ...any) error { return rs.client.Do(radix.FlatCmd(rcv, cmd, key, args...)) } diff --git a/engine/storage_sql.go b/engine/storage_sql.go index 524591252..05971b2a2 100644 --- a/engine/storage_sql.go +++ b/engine/storage_sql.go @@ -210,8 +210,8 @@ func (sqls *SQLStorage) GetTpTableIds(tpid, table string, distinct utils.TPDisti if err != nil { return nil, err } - vals := make([]string, len(cols)) // Allocate enough values - ints := make([]interface{}, len(cols)) // Make a slice of []interface{} + vals := make([]string, len(cols)) // Allocate enough values + ints := make([]any, len(cols)) // Make a slice of []any for i := range ints { ints[i] = &vals[i] // Copy references into the slice } diff --git a/engine/storage_utils.go b/engine/storage_utils.go index bcae67497..c834285a6 100644 --- a/engine/storage_utils.go +++ b/engine/storage_utils.go @@ -95,14 +95,14 @@ type SMCost struct { type AttrCDRSStoreSMCost struct { Cost *SMCost CheckDuplicate bool - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } type ArgsV2CDRSStoreSMCost struct { Cost *V2SMCost CheckDuplicate bool - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } diff --git a/engine/task.go b/engine/task.go index 840cdcbc6..7c79bbc41 100644 --- a/engine/task.go +++ b/engine/task.go @@ -49,7 +49,7 @@ func (t *Task) String() string { // FieldAsInterface implements utils.DataProvider // ToDo: support Action fields -func (t *Task) FieldAsInterface(fldPath []string) (iface interface{}, err error) { +func (t *Task) FieldAsInterface(fldPath []string) (iface any, err error) { return t.FieldAsString(fldPath) } diff --git a/engine/thresholds.go b/engine/thresholds.go index 11dc1d973..ee624239c 100644 --- a/engine/thresholds.go +++ b/engine/thresholds.go @@ -33,7 +33,7 @@ import ( // ThresholdProfileWithAPIOpts is used in replicatorV1 for dispatcher type ThresholdProfileWithAPIOpts struct { *ThresholdProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // ThresholdProfile the profile for threshold @@ -91,7 +91,7 @@ func (tp *ThresholdProfile) isLocked() bool { // ThresholdWithAPIOpts is used in replicatorV1 for dispatcher type ThresholdWithAPIOpts struct { *Threshold - APIOpts map[string]interface{} + APIOpts map[string]any } // Threshold is the unit matched by filters diff --git a/engine/thresholds_test.go b/engine/thresholds_test.go index 556aa63a1..3d530465f 100644 --- a/engine/thresholds_test.go +++ b/engine/thresholds_test.go @@ -89,28 +89,28 @@ var ( { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_1", "Weight": "10.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_2", "Weight": "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "ThresholdPrefix123", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } ) @@ -588,10 +588,10 @@ func TestThresholdsProcessEventAccountUpdateErrPartExec(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, @@ -638,10 +638,10 @@ func TestThresholdsProcessEventAsyncExecErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, } @@ -677,10 +677,10 @@ func TestThresholdsProcessEvent3(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.AccountUpdate, utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, @@ -877,10 +877,10 @@ func TestThresholdsProcessEventOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, } @@ -924,10 +924,10 @@ func TestThresholdsProcessEventStoreThOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH2"}, }, } @@ -1015,10 +1015,10 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH3"}, }, } @@ -1077,10 +1077,10 @@ func TestThresholdsProcessEventNotFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH6"}, }, } @@ -1127,7 +1127,7 @@ func TestThresholdsV1ProcessEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1188,7 +1188,7 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1244,13 +1244,13 @@ func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1376,7 +1376,7 @@ func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { } dm.RemoveThreshold("cgrates.org", "TH1") mth, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1441,7 +1441,7 @@ func TestThresholdMatchingThresholdForEventLocks2(t *testing.T) { prfs = append(prfs, rPrf) ids.Add(rPrf.ID) _, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1490,7 +1490,7 @@ func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { ids.Add(rPrf.ID) } mres, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1558,7 +1558,7 @@ func TestThresholdMatchingThresholdForEventLocksActivationInterval(t *testing.T) ids.Add(rPrf.ID) mres, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ Time: utils.TimePointer(time.Now()), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1611,7 +1611,7 @@ func TestThresholdMatchingThresholdForEventLocks3(t *testing.T) { ids.Add(fmt.Sprintf("TH%d", i)) } _, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1652,7 +1652,7 @@ func TestThresholdMatchingThresholdForEventLocks4(t *testing.T) { } ids.Add("TH20") mres, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1707,7 +1707,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { } dm.RemoveThreshold("cgrates.org", "TH1") _, err := rS.matchingThresholdsForEvent("cgrates.org", &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, }) @@ -1868,10 +1868,10 @@ func TestThresholdsV1GetThresholdsForEventOK(t *testing.T) { } args := &utils.CGREvent{ ID: "TestGetThresholdsForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{}, }, } @@ -1926,10 +1926,10 @@ func TestThresholdsV1GetThresholdsForEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{}, }, } @@ -1944,7 +1944,7 @@ func TestThresholdsV1GetThresholdsForEventMissingArgs(t *testing.T) { Tenant: "cgrates.org", ID: "TestGetThresholdsForEvent", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{}, }, } @@ -2309,7 +2309,7 @@ func TestThresholdsMatchingThresholdsForEventNotFoundErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{}, + Event: map[string]any{}, } if _, err := tS.matchingThresholdsForEvent("cgrates.org", args); err == nil || diff --git a/engine/tpexporter.go b/engine/tpexporter.go index 47661b458..360da6f89 100644 --- a/engine/tpexporter.go +++ b/engine/tpexporter.go @@ -83,7 +83,7 @@ type TPExporter struct { func (tpExp *TPExporter) Run() error { tpExp.removeFiles() // Make sure we clean the folder before starting with new one var withError bool - toExportMap := make(map[string][]interface{}) + toExportMap := make(map[string][]any) storDataTimings, err := tpExp.storDb.GetTPTimings(tpExp.tpID, "") if err != nil && err.Error() != utils.ErrNotFound.Error() { @@ -93,7 +93,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataTimings) != 0 { storDataModelTimings := APItoModelTimings(storDataTimings) - toExportMap[utils.TimingsCsv] = make([]interface{}, 0, len(storDataModelTimings)) + toExportMap[utils.TimingsCsv] = make([]any, 0, len(storDataModelTimings)) for _, sd := range storDataModelTimings { toExportMap[utils.TimingsCsv] = append(toExportMap[utils.TimingsCsv], sd) } @@ -104,7 +104,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataDestinations) != 0 { - toExportMap[utils.DestinationsCsv] = make([]interface{}, 0, len(storDataDestinations)) + toExportMap[utils.DestinationsCsv] = make([]any, 0, len(storDataDestinations)) for _, sd := range storDataDestinations { sdModels := APItoModelDestination(sd) for _, sdModel := range sdModels { @@ -118,7 +118,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataRates) != 0 { - toExportMap[utils.RatesCsv] = make([]interface{}, 0, len(storDataRates)) + toExportMap[utils.RatesCsv] = make([]any, 0, len(storDataRates)) for _, sd := range storDataRates { sdModels := APItoModelRate(sd) for _, sdModel := range sdModels { @@ -133,7 +133,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataDestinationRates) != 0 { - toExportMap[utils.DestinationRatesCsv] = make([]interface{}, 0, len(storDataDestinationRates)) + toExportMap[utils.DestinationRatesCsv] = make([]any, 0, len(storDataDestinationRates)) for _, sd := range storDataDestinationRates { sdModels := APItoModelDestinationRate(sd) for _, sdModel := range sdModels { @@ -148,7 +148,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataRatingPlans) != 0 { - toExportMap[utils.RatingPlansCsv] = make([]interface{}, 0, len(storDataRatingPlans)) + toExportMap[utils.RatingPlansCsv] = make([]any, 0, len(storDataRatingPlans)) for _, sd := range storDataRatingPlans { sdModels := APItoModelRatingPlan(sd) for _, sdModel := range sdModels { @@ -164,7 +164,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataRatingProfiles) != 0 { - toExportMap[utils.RatingProfilesCsv] = make([]interface{}, 0, len(storDataRatingProfiles)) + toExportMap[utils.RatingProfilesCsv] = make([]any, 0, len(storDataRatingProfiles)) for _, sd := range storDataRatingProfiles { sdModels := APItoModelRatingProfile(sd) for _, sdModel := range sdModels { @@ -180,7 +180,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataSharedGroups) != 0 { - toExportMap[utils.SharedGroupsCsv] = make([]interface{}, 0, len(storDataSharedGroups)) + toExportMap[utils.SharedGroupsCsv] = make([]any, 0, len(storDataSharedGroups)) for _, sd := range storDataSharedGroups { sdModels := APItoModelSharedGroup(sd) for _, sdModel := range sdModels { @@ -196,7 +196,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataActions) != 0 { - toExportMap[utils.ActionsCsv] = make([]interface{}, 0, len(storDataActions)) + toExportMap[utils.ActionsCsv] = make([]any, 0, len(storDataActions)) for _, sd := range storDataActions { sdModels := APItoModelAction(sd) for _, sdModel := range sdModels { @@ -211,7 +211,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataActionPlans) != 0 { - toExportMap[utils.ActionPlansCsv] = make([]interface{}, 0, len(storDataActionPlans)) + toExportMap[utils.ActionPlansCsv] = make([]any, 0, len(storDataActionPlans)) for _, sd := range storDataActionPlans { sdModels := APItoModelActionPlan(sd) for _, sdModel := range sdModels { @@ -227,7 +227,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataActionTriggers) != 0 { - toExportMap[utils.ActionTriggersCsv] = make([]interface{}, 0, len(storDataActionTriggers)) + toExportMap[utils.ActionTriggersCsv] = make([]any, 0, len(storDataActionTriggers)) for _, sd := range storDataActionTriggers { sdModels := APItoModelActionTrigger(sd) for _, sdModel := range sdModels { @@ -242,7 +242,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataAccountActions) != 0 { - toExportMap[utils.AccountActionsCsv] = make([]interface{}, 0, len(storDataAccountActions)) + toExportMap[utils.AccountActionsCsv] = make([]any, 0, len(storDataAccountActions)) for _, sd := range storDataAccountActions { sdModel := APItoModelAccountAction(sd) toExportMap[utils.AccountActionsCsv] = append(toExportMap[utils.AccountActionsCsv], sdModel) @@ -255,7 +255,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataResources) != 0 { - toExportMap[utils.ResourcesCsv] = make([]interface{}, 0, len(storDataResources)) + toExportMap[utils.ResourcesCsv] = make([]any, 0, len(storDataResources)) for _, sd := range storDataResources { sdModels := APItoModelResource(sd) for _, sdModel := range sdModels { @@ -270,7 +270,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataStats) != 0 { - toExportMap[utils.StatsCsv] = make([]interface{}, 0, len(storDataStats)) + toExportMap[utils.StatsCsv] = make([]any, 0, len(storDataStats)) for _, sd := range storDataStats { sdModels := APItoModelStats(sd) for _, sdModel := range sdModels { @@ -286,7 +286,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataThresholds) != 0 { - toExportMap[utils.ThresholdsCsv] = make([]interface{}, 0, len(storDataThresholds)) + toExportMap[utils.ThresholdsCsv] = make([]any, 0, len(storDataThresholds)) for _, sd := range storDataThresholds { sdModels := APItoModelTPThreshold(sd) for _, sdModel := range sdModels { @@ -302,7 +302,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataFilters) != 0 { - toExportMap[utils.FiltersCsv] = make([]interface{}, 0, len(storDataFilters)) + toExportMap[utils.FiltersCsv] = make([]any, 0, len(storDataFilters)) for _, sd := range storDataFilters { sdModels := APItoModelTPFilter(sd) for _, sdModel := range sdModels { @@ -318,7 +318,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataRoutes) != 0 { - toExportMap[utils.RoutesCsv] = make([]interface{}, 0, len(storDataRoutes)) + toExportMap[utils.RoutesCsv] = make([]any, 0, len(storDataRoutes)) for _, sd := range storDataRoutes { sdModels := APItoModelTPRoutes(sd) for _, sdModel := range sdModels { @@ -334,7 +334,7 @@ func (tpExp *TPExporter) Run() error { } if len(storeDataAttributes) != 0 { - toExportMap[utils.AttributesCsv] = make([]interface{}, 0, len(storeDataAttributes)) + toExportMap[utils.AttributesCsv] = make([]any, 0, len(storeDataAttributes)) for _, sd := range storeDataAttributes { sdModels := APItoModelTPAttribute(sd) for _, sdModel := range sdModels { @@ -350,7 +350,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataChargers) != 0 { - toExportMap[utils.ChargersCsv] = make([]interface{}, 0, len(storDataChargers)) + toExportMap[utils.ChargersCsv] = make([]any, 0, len(storDataChargers)) for _, sd := range storDataChargers { sdModels := APItoModelTPCharger(sd) for _, sdModel := range sdModels { @@ -365,7 +365,7 @@ func (tpExp *TPExporter) Run() error { withError = true } if len(storDataDispatcherProfiles) != 0 { - toExportMap[utils.DispatcherProfilesCsv] = make([]interface{}, 0, len(storDataDispatcherProfiles)) + toExportMap[utils.DispatcherProfilesCsv] = make([]any, 0, len(storDataDispatcherProfiles)) for _, sd := range storDataDispatcherProfiles { sdModels := APItoModelTPDispatcherProfile(sd) for _, sdModel := range sdModels { @@ -381,7 +381,7 @@ func (tpExp *TPExporter) Run() error { } if len(storDataDispatcherHosts) != 0 { - toExportMap[utils.DispatcherHostsCsv] = make([]interface{}, 0, len(storDataDispatcherHosts)) + toExportMap[utils.DispatcherHostsCsv] = make([]any, 0, len(storDataDispatcherHosts)) for _, sd := range storDataDispatcherHosts { toExportMap[utils.DispatcherHostsCsv] = append(toExportMap[utils.DispatcherHostsCsv], APItoModelTPDispatcherHost(sd)) } @@ -422,7 +422,7 @@ func (tpExp *TPExporter) removeFiles() error { } // General method to write the content out to a file on path or zip archive -func (tpExp *TPExporter) writeOut(fileName string, tpData []interface{}) error { +func (tpExp *TPExporter) writeOut(fileName string, tpData []any) error { if len(tpData) == 0 { return nil } diff --git a/engine/tpreader.go b/engine/tpreader.go index 4f4ea0d40..7b7c85eff 100644 --- a/engine/tpreader.go +++ b/engine/tpreader.go @@ -2220,7 +2220,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disableReverse bool) (err error return tpr.dm.SetLoadIDs(loadIDs) } -func (tpr *TpReader) ReloadCache(caching string, verbose bool, opts map[string]interface{}, tenant string) (err error) { +func (tpr *TpReader) ReloadCache(caching string, verbose bool, opts map[string]any, tenant string) (err error) { if tpr.isInternalDB { return } @@ -2320,9 +2320,9 @@ func (tpr *TpReader) ReloadCache(caching string, verbose bool, opts map[string]i } // CallCache call the cache reload after data load -func CallCache(connMgr *ConnManager, cacheConns []string, caching string, args map[string][]string, cacheIDs []string, opts map[string]interface{}, verbose bool, tenant string) (err error) { +func CallCache(connMgr *ConnManager, cacheConns []string, caching string, args map[string][]string, cacheIDs []string, opts map[string]any, verbose bool, tenant string) (err error) { var method, reply string - var cacheArgs interface{} = utils.NewAttrReloadCacheWithOptsFromMap(args, tenant, opts) + var cacheArgs any = utils.NewAttrReloadCacheWithOptsFromMap(args, tenant, opts) switch caching { case utils.MetaNone: return diff --git a/engine/tpreader_test.go b/engine/tpreader_test.go index e9769cc1b..1ce315fc7 100644 --- a/engine/tpreader_test.go +++ b/engine/tpreader_test.go @@ -48,7 +48,7 @@ func TestTPReaderCallCacheNoCaching(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, utils.CacheResources: {}, } - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -71,10 +71,10 @@ func TestTPReaderCallCacheReloadCacheFirstCallErr(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -101,7 +101,7 @@ func TestTPReaderCallCacheReloadCacheFirstCallErr(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -136,13 +136,13 @@ func TestTPReaderCallCacheReloadCacheSecondCallErr(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args, reply any) error { return nil }, - utils.CacheSv1Clear: func(args, reply interface{}) error { + utils.CacheSv1Clear: func(args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -169,7 +169,7 @@ func TestTPReaderCallCacheReloadCacheSecondCallErr(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -216,10 +216,10 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1LoadCache: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1LoadCache: func(args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -234,9 +234,9 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { } return nil }, - utils.CacheSv1Clear: func(args, reply interface{}) error { + utils.CacheSv1Clear: func(args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -263,7 +263,7 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -285,10 +285,10 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1RemoveItems: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1RemoveItems: func(args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -303,9 +303,9 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { } return nil }, - utils.CacheSv1Clear: func(args, reply interface{}) error { + utils.CacheSv1Clear: func(args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -332,7 +332,7 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -354,10 +354,10 @@ func TestTPReaderCallCacheClear(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan rpcclient.ClientConnector, 1) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1Clear: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1Clear: func(args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, Tenant: "cgrates.org", @@ -383,7 +383,7 @@ func TestTPReaderCallCacheClear(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } @@ -925,7 +925,7 @@ func TestTPReaderGetLoadedIdsError(t *testing.T) { func TestTPReaderReloadCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", ActionIDs: []string{"ActionsID"}, ActionPlanIDs: []string{"ActionPlansID"}, @@ -952,14 +952,14 @@ func TestTPReaderReloadCache(t *testing.T) { } rpcInternal := make(chan rpcclient.ClientConnector, 1) rpcInternal <- &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -1028,7 +1028,7 @@ func TestTPReaderReloadCache(t *testing.T) { } tpr.dm.SetLoadIDs(make(map[string]int64)) tpr.cacheConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} - if err := tpr.ReloadCache(utils.MetaReload, false, make(map[string]interface{}), "cgrates.org"); err != nil { + if err := tpr.ReloadCache(utils.MetaReload, false, make(map[string]any), "cgrates.org"); err != nil { t.Error(err) } } @@ -1042,7 +1042,7 @@ func TestTPReaderLoadDestinationsFiltered(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -1087,8 +1087,8 @@ func TestTPReaderLoadAll(t *testing.T) { func TestTpReaderReloadScheduler(t *testing.T) { cfg := config.NewDefaultCGRConfig() ccMocK := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SchedulerSv1Reload: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SchedulerSv1Reload: func(args, reply any) error { rpl := "reply" *reply.(*string) = rpl @@ -1187,7 +1187,7 @@ func TestTpReaderLoadAccountActions(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -1388,7 +1388,7 @@ func TestTpReaderLoadTimingsErr(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }}, ) @@ -1420,7 +1420,7 @@ func TestLoadDestinationRatesErr(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, }, @@ -1512,7 +1512,7 @@ func TestLoadRatingProfilesFiltered(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value interface{}) { + OnEvicted: func(itmID string, value any) { }, }, }, @@ -2215,7 +2215,7 @@ func TestTprLoadAccountActionFiltered(t *testing.T) { t.Error(err) } clientconn := make(chan rpcclient.ClientConnector, 1) - clientconn <- clMock(func(serviceMethod string, _, _ interface{}) error { + clientconn <- clMock(func(serviceMethod string, _, _ any) error { if serviceMethod == utils.CacheSv1ReloadCache { return nil diff --git a/engine/units_counter.go b/engine/units_counter.go index 40cee73b9..e0cbf7c1a 100644 --- a/engine/units_counter.go +++ b/engine/units_counter.go @@ -159,7 +159,7 @@ func (uc *UnitCounter) String() string { return utils.ToJSON(uc) } -func (uc *UnitCounter) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (uc *UnitCounter) FieldAsInterface(fldPath []string) (val any, err error) { if uc == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -202,7 +202,7 @@ func (uc *UnitCounter) FieldAsInterface(fldPath []string) (val interface{}, err } func (uc *UnitCounter) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = uc.FieldAsInterface(fldPath) if err != nil { return @@ -214,7 +214,7 @@ func (cfs *CounterFilter) String() string { return utils.ToJSON(cfs) } -func (cfs *CounterFilter) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (cfs *CounterFilter) FieldAsInterface(fldPath []string) (val any, err error) { if cfs == nil || len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -235,7 +235,7 @@ func (cfs *CounterFilter) FieldAsInterface(fldPath []string) (val interface{}, e } func (cfs *CounterFilter) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = cfs.FieldAsInterface(fldPath) if err != nil { return diff --git a/engine/z_actions_it_test.go b/engine/z_actions_it_test.go index 8e2bd1654..e2f252f16 100644 --- a/engine/z_actions_it_test.go +++ b/engine/z_actions_it_test.go @@ -375,7 +375,7 @@ func testActionsitThresholdCDrLog(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cdrev1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.CDR, "field_extr1": "val_extr1", "fieldextr2": "valextr2", @@ -399,7 +399,7 @@ func testActionsitThresholdCDrLog(t *testing.T) { utils.Route: "SUPPL1", utils.Cost: -1.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, } @@ -440,7 +440,7 @@ func testActionsitCDRAccount(t *testing.T) { Account string BalanceType string Value float64 - Balance map[string]interface{} + Balance map[string]any Overwrite bool } attrs := &AttrAddBalance{ @@ -448,7 +448,7 @@ func testActionsitCDRAccount(t *testing.T) { Account: acnt, BalanceType: utils.MetaVoice, Value: float64(30 * time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.UUID: "testUUID", utils.ID: "TestID", }, @@ -591,7 +591,7 @@ func testActionsitThresholdCgrRpcAction(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Method": "RALsV1.Ping", }, } @@ -655,7 +655,7 @@ func testActionsitThresholdPostEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cdrev1", - Event: map[string]interface{}{ + Event: map[string]any{ "field_extr1": "val_extr1", "fieldextr2": "valextr2", utils.CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()), @@ -673,7 +673,7 @@ func testActionsitThresholdPostEvent(t *testing.T) { utils.Route: "SUPPL1", utils.Cost: -1.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, } @@ -767,7 +767,7 @@ func testActionsitSetSDestinations(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "333", utils.Usage: 6 * time.Second, }, @@ -781,7 +781,7 @@ func testActionsitSetSDestinations(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "777", utils.Usage: 6 * time.Second, }, diff --git a/engine/z_attributes_test.go b/engine/z_attributes_test.go index e47daf33b..c8b226009 100644 --- a/engine/z_attributes_test.go +++ b/engine/z_attributes_test.go @@ -35,43 +35,43 @@ var ( { //matching AttributeProfile1 Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfile2 Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfilePrefix Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfilePrefix", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfilePrefix Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -361,7 +361,7 @@ func TestAttributeEventReplyDigest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destinations: "+491511231234", @@ -382,7 +382,7 @@ func TestAttributeEventReplyDigest2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destinations: "+491511231234", @@ -403,7 +403,7 @@ func TestAttributeEventReplyDigest3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destinations: "+491511231234", @@ -424,7 +424,7 @@ func TestAttributeEventReplyDigest4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destinations: "+491511231234", }, @@ -573,10 +573,10 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -591,7 +591,7 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -686,10 +686,10 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -701,7 +701,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -795,10 +795,10 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsContext: utils.MetaSessionS, }, @@ -810,7 +810,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -885,10 +885,10 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -900,7 +900,7 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -997,10 +997,10 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -1012,7 +1012,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1108,10 +1108,10 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -1122,7 +1122,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", }, @@ -1178,10 +1178,10 @@ func TestAttributeProcessValue(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1192,7 +1192,7 @@ func TestAttributeProcessValue(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "Value1", }, @@ -1257,10 +1257,10 @@ func TestAttributeAttributeFilterIDs(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Test", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1272,7 +1272,7 @@ func TestAttributeAttributeFilterIDs(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Pass", "RandomField": "RandomValue", }, @@ -1330,10 +1330,10 @@ func TestAttributeProcessEventConstant(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1344,7 +1344,7 @@ func TestAttributeProcessEventConstant(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "ConstVal", }, @@ -1406,11 +1406,11 @@ func TestAttributeProcessEventVariable(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1421,7 +1421,7 @@ func TestAttributeProcessEventVariable(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "TheVal", "TheField": "TheVal", @@ -1489,11 +1489,11 @@ func TestAttributeProcessEventComposed(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1504,7 +1504,7 @@ func TestAttributeProcessEventComposed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "Value1_TheVal", "TheField": "TheVal", @@ -1562,12 +1562,12 @@ func TestAttributeProcessEventSum(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "NumField": "20", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1578,7 +1578,7 @@ func TestAttributeProcessEventSum(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "NumField": "20", @@ -1637,13 +1637,13 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "UnixTimeStamp": "1554364297", "UnixTimeStamp2": "1554364287", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1654,7 +1654,7 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "UnixTimeStamp": "1554364297", @@ -1714,13 +1714,13 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "Multiplier": "2", "Pow": "3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1731,7 +1731,7 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "Multiplier": "2", @@ -1796,10 +1796,10 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1855,10 +1855,10 @@ func BenchmarkAttributeProcessEventVariable(b *testing.B) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -1929,11 +1929,11 @@ func TestProcessAttributeConstant(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_CONSTANT Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeConstant", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1987,12 +1987,12 @@ func TestProcessAttributeVariable(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VARIABLE Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeVariable", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2052,13 +2052,13 @@ func TestProcessAttributeComposed(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_COMPOSED Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "Val2", "RandomField2": "Concatenated", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2113,13 +2113,13 @@ func TestProcessAttributeUsageDifference(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_USAGE_DIFF Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUsageDifference", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1514808000", "RandomField2": "1514804400", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2174,13 +2174,13 @@ func TestProcessAttributeSum(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_SUM Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeSum", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2235,13 +2235,13 @@ func TestProcessAttributeDiff(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_DIFF Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeDiff", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2296,13 +2296,13 @@ func TestProcessAttributeMultiply(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_MULTIPLY Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeMultiply", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2357,13 +2357,13 @@ func TestProcessAttributeDivide(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_DIVIDE Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeDivide", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2418,13 +2418,13 @@ func TestProcessAttributeValueExponent(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2479,13 +2479,13 @@ func TestProcessAttributeUnixTimeStamp(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_UNIX_TIMESTAMP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUnixTimeStamp", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "2013-12-30T15:00:01Z", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2540,12 +2540,12 @@ func TestProcessAttributePrefix(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "ATTR": "ATTR_PREFIX", "Field2": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2600,12 +2600,12 @@ func TestProcessAttributeSuffix(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "ATTR": "ATTR_SUFFIX", "Field2": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2676,10 +2676,10 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1, utils.OptsContext: utils.MetaSessionS, }, @@ -2737,12 +2737,12 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_UNIX_TIMESTAMP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUnixTimeStamp", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsContext: utils.MetaSessionS, }, @@ -2822,10 +2822,10 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -2837,12 +2837,12 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, }, }, @@ -2919,10 +2919,10 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsContext: utils.MetaSessionS, }, @@ -2934,12 +2934,12 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, }, }, @@ -2988,8 +2988,8 @@ func TestAttributeMetaTenant(t *testing.T) { } args := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2998,8 +2998,8 @@ func TestAttributeMetaTenant(t *testing.T) { AlteredFields: []string{utils.MetaTenant}, CGREvent: &utils.CGREvent{ Tenant: "prfx_" + config.CgrConfig().GeneralCfg().DefaultTenant, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -3086,11 +3086,11 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { attr := NewAttributeService(dm, fltrS, cfg) args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "pc_test", "CompanyName": "MY_company_will_be_changed", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsContext: utils.MetaSessionS, }, @@ -3101,12 +3101,12 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { AlteredFields: []string{"*req.CompanyName", "*req.Password"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "pc_test", "CompanyName": "ITSYS COMMUNICATIONS SRL", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsContext: utils.MetaSessionS, }, @@ -3164,10 +3164,10 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { args := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 2, utils.OptsAttributesProcessRuns: 40, utils.OptsContext: utils.MetaSessionS, @@ -3180,12 +3180,12 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: args.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 2, utils.OptsAttributesProcessRuns: 40, utils.OptsContext: utils.MetaSessionS, @@ -3204,10 +3204,10 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { args = &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 1, utils.OptsAttributesProcessRuns: 40, utils.OptsContext: utils.MetaSessionS, @@ -3220,12 +3220,12 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: args.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 1, utils.OptsAttributesProcessRuns: 40, utils.OptsContext: utils.MetaSessionS, diff --git a/engine/z_chargers_test.go b/engine/z_chargers_test.go index 4baa17496..6c5cc5891 100644 --- a/engine/z_chargers_test.go +++ b/engine/z_chargers_test.go @@ -63,13 +63,13 @@ func TestChargersmatchingChargerProfilesForEventErrPass(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC), "UsageInterval": "10s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, Time: &cgrEvTm, @@ -124,13 +124,13 @@ func TestChargersmatchingChargerProfilesForEventNotActive(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC), "UsageInterval": "10s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, Time: &cgrEvTm, @@ -185,13 +185,13 @@ func TestChargersprocessEventNoConnIDs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC), "UsageInterval": "10s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProcessRuns: 2, }, @@ -212,10 +212,10 @@ func TestChargersprocessEventNoConnIDs(t *testing.T) { } type ccMock struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (ccM *ccMock) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (ccM *ccMock) Call(serviceMethod string, args any, reply any) (err error) { if call, has := ccM.calls[serviceMethod]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -243,14 +243,14 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []string{utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -278,7 +278,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -290,7 +290,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -332,8 +332,8 @@ func TestChargersprocessEventCallErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { return utils.ErrNotFound }, }, @@ -356,7 +356,7 @@ func TestChargersprocessEventCallErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -368,11 +368,11 @@ func TestChargersprocessEventCallErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.OptsAttributesProfileIDs: []string(nil), }, @@ -415,14 +415,14 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []string{utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -448,7 +448,7 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -486,14 +486,14 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - "invalidMethod": func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + "invalidMethod": func(args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []string{utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -519,7 +519,7 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -563,14 +563,14 @@ func TestChargersV1ProcessEvent(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []string{utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -596,7 +596,7 @@ func TestChargersV1ProcessEvent(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -609,7 +609,7 @@ func TestChargersV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -660,7 +660,7 @@ func TestChargersV1GetChargersForEventNilErr(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -712,7 +712,7 @@ func TestChargersV1GetChargersForEventErr(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } diff --git a/engine/z_filterhelpers_test.go b/engine/z_filterhelpers_test.go index 9f6cc1282..c5cf4533f 100644 --- a/engine/z_filterhelpers_test.go +++ b/engine/z_filterhelpers_test.go @@ -26,7 +26,7 @@ import ( ) var ( - matchEV map[string]interface{} + matchEV map[string]any dmMatch *DataManager ) @@ -96,7 +96,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { } tntCtx := utils.ConcatenatedKey(tnt, context) - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "Field": "profile", }} @@ -110,7 +110,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", stringFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ "Field": "profilePrefix", }} aPrflIDs, err = MatchingItemIDsForEvent(matchEV, nil, nil, nil, @@ -123,7 +123,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", prefixFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ "Field": "profilePrefix", }} aPrflIDs, err = MatchingItemIDsForEvent(matchEV, nil, nil, nil, @@ -186,9 +186,9 @@ func TestFilterMatchingItemIDsForEvent2(t *testing.T) { } tntCtx := utils.ConcatenatedKey(config.CgrConfig().GeneralCfg().DefaultTenant, context) - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "CallCost": map[string]interface{}{"Account": 1001}, + "CallCost": map[string]any{"Account": 1001}, }} aPrflIDs, err := MatchingItemIDsForEvent(matchEV, nil, nil, nil, dmMatch, utils.CacheAttributeFilterIndexes, tntCtx, true, true) @@ -199,8 +199,8 @@ func TestFilterMatchingItemIDsForEvent2(t *testing.T) { if !has { t.Errorf("Expecting: %+v, received: %+v", stringFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ - "CallCost": map[string]interface{}{"Field": "profilePrefix"}, + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ + "CallCost": map[string]any{"Field": "profilePrefix"}, }} aPrflIDs, err = MatchingItemIDsForEvent(matchEV, nil, nil, nil, dmMatch, utils.CacheAttributeFilterIndexes, tntCtx, true, true) diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go index bffd6131a..ca03e8dc3 100644 --- a/engine/z_onstor_it_test.go +++ b/engine/z_onstor_it_test.go @@ -710,7 +710,7 @@ func testOnStorITActions(t *testing.T) { Type: utils.StringPointer(utils.MetaMonetary), Uuid: utils.StringPointer(utils.GenUUID()), Value: &utils.ValueFormula{Static: 10, - Params: make(map[string]interface{})}, + Params: make(map[string]any)}, Weight: utils.Float64Pointer(10), Disabled: utils.BoolPointer(false), Timings: []*RITiming{ @@ -734,7 +734,7 @@ func testOnStorITActions(t *testing.T) { Type: utils.StringPointer(utils.MetaVoice), Uuid: utils.StringPointer(utils.GenUUID()), Value: &utils.ValueFormula{Static: 100, - Params: make(map[string]interface{})}, + Params: make(map[string]any)}, Weight: utils.Float64Pointer(10), RatingSubject: utils.StringPointer("test"), DestinationIDs: utils.StringMapPointer(utils.NewStringMap("NAT")), @@ -798,7 +798,7 @@ func testOnStorITActions(t *testing.T) { Type: utils.StringPointer(utils.MetaMonetary), Uuid: utils.StringPointer(utils.GenUUID()), Value: &utils.ValueFormula{Static: 10, - Params: make(map[string]interface{})}, + Params: make(map[string]any)}, Weight: utils.Float64Pointer(10), Disabled: utils.BoolPointer(false), Timings: []*RITiming{ @@ -822,7 +822,7 @@ func testOnStorITActions(t *testing.T) { Type: utils.StringPointer(utils.MetaVoice), Uuid: utils.StringPointer(utils.GenUUID()), Value: &utils.ValueFormula{Static: 100, - Params: make(map[string]interface{})}, + Params: make(map[string]any)}, Weight: utils.Float64Pointer(10), RatingSubject: utils.StringPointer("test"), DestinationIDs: utils.StringMapPointer(utils.NewStringMap("NAT")), @@ -848,7 +848,7 @@ func testOnStorITActions(t *testing.T) { Type: utils.StringPointer(utils.MetaVoice), Uuid: utils.StringPointer(utils.GenUUID()), Value: &utils.ValueFormula{Static: 200, - Params: make(map[string]interface{})}, + Params: make(map[string]any)}, Weight: utils.Float64Pointer(20), RatingSubject: utils.StringPointer("test"), DestinationIDs: utils.StringMapPointer(utils.NewStringMap("NAT")), diff --git a/engine/z_resources_test.go b/engine/z_resources_test.go index 7d22064ee..7c372f8d8 100644 --- a/engine/z_resources_test.go +++ b/engine/z_resources_test.go @@ -930,8 +930,8 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { var reply *string argsMissingTenant := &utils.CGREvent{ ID: "id1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "test1", // ResourceUsage Identifier utils.OptsResourcesUnits: 20, }, @@ -939,8 +939,8 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { argsMissingUsageID := &utils.CGREvent{ Tenant: "cgrates.org", ID: "id1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsResourcesUnits: 20, }, } @@ -1254,7 +1254,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1267,7 +1267,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1279,7 +1279,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -1361,7 +1361,7 @@ func TestResourceUsageTTLCase1(t *testing.T) { resEvs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1505,7 +1505,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1518,7 +1518,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1530,7 +1530,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -1662,7 +1662,7 @@ func TestResourceUsageTTLCase3(t *testing.T) { resEvs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1758,7 +1758,7 @@ func TestResourceUsageTTLCase4(t *testing.T) { resEvs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2056,7 +2056,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2069,7 +2069,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2081,7 +2081,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -2192,7 +2192,7 @@ func TestResourceCaching(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "3002"}, } @@ -2651,8 +2651,8 @@ func TestResourceAllocateResourceOtherDB(t *testing.T) { if err := rs.V1AllocateResources(&utils.CGREvent{ Tenant: "cgrates.org", ID: "ef0f554", - Event: map[string]interface{}{"": ""}, - APIOpts: map[string]interface{}{ + Event: map[string]any{"": ""}, + APIOpts: map[string]any{ "Resource": "RL_DB", utils.OptsResourcesUsageID: "56156434-2e44-4f16-a766-086f10b413cd", utils.OptsResourcesUnits: 1, @@ -2878,7 +2878,7 @@ func TestResourcesProcessThresholdsNoConns(t *testing.T) { Tenant: "cgrates.org", ID: "RES_1", } - opts := map[string]interface{}{} + opts := map[string]any{} err := rS.processThresholds(Resources{r}, opts) @@ -2893,17 +2893,17 @@ func TestResourcesProcessThresholdsOK(t *testing.T) { Cache.Clear(nil) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: "RES_1", utils.Usage: 0., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, utils.OptsThresholdsProfileIDs: []string{"THD_1"}, }, @@ -2960,17 +2960,17 @@ func TestResourcesProcessThresholdsCallErr(t *testing.T) { Cache.Clear(nil) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: "RES_1", utils.Usage: 0., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, utils.OptsThresholdsProfileIDs: []string{"THD_1"}, }, @@ -3026,7 +3026,7 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) { ThresholdIDs: []string{utils.MetaNone}, }, } - opts := map[string]interface{}{} + opts := map[string]any{} err := rS.processThresholds(Resources{r}, opts) @@ -3205,10 +3205,10 @@ func TestResourcesV1ResourcesForEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3281,10 +3281,10 @@ func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3343,10 +3343,10 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST2", }, } @@ -3360,7 +3360,7 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST3", }, } @@ -3374,7 +3374,7 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -3439,10 +3439,10 @@ func TestResourcesV1ResourcesForEventCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3534,10 +3534,10 @@ func TestResourcesV1ResourcesForEventCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -4097,10 +4097,10 @@ func TestResourcesV1AuthorizeResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4144,10 +4144,10 @@ func TestResourcesV1AuthorizeResourcesNotAuthorized(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4190,10 +4190,10 @@ func TestResourcesV1AuthorizeResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4273,10 +4273,10 @@ func TestResourcesV1AuthorizeResourcesMissingUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, }, @@ -4347,10 +4347,10 @@ func TestResourcesV1AuthorizeResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4428,10 +4428,10 @@ func TestResourcesV1AuthorizeResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 2, @@ -4484,10 +4484,10 @@ func TestResourcesV1AllocateResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4530,10 +4530,10 @@ func TestResourcesV1AllocateResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4575,10 +4575,10 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, }, @@ -4593,7 +4593,7 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4607,10 +4607,10 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4681,10 +4681,10 @@ func TestResourcesV1AllocateResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "EventAllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4762,10 +4762,10 @@ func TestResourcesV1AllocateResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventAllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 2, @@ -4817,10 +4817,10 @@ func TestResourcesV1AllocateResourcesResAllocErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4879,8 +4879,8 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { return utils.ErrExists }, }, @@ -4895,10 +4895,10 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4941,10 +4941,10 @@ func TestResourcesV1ReleaseResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -4992,10 +4992,10 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5010,10 +5010,10 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test2", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5055,10 +5055,10 @@ func TestResourcesV1ReleaseResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5100,10 +5100,10 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, }, @@ -5118,7 +5118,7 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5132,10 +5132,10 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5207,10 +5207,10 @@ func TestResourcesV1ReleaseResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventReleaseResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5287,10 +5287,10 @@ func TestResourcesV1ReleaseResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventReleaseResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 2, @@ -5323,8 +5323,8 @@ func TestResourcesV1ReleaseResourcesProcessThErr(t *testing.T) { data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) ccM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(args, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(args, reply any) error { return utils.ErrExists }, }, @@ -5376,10 +5376,10 @@ func TestResourcesV1ReleaseResourcesProcessThErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5439,10 +5439,10 @@ func TestResourcesStoreResourceError(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUsageTTL: time.Minute, utils.OptsResourcesUnits: 5, @@ -5826,10 +5826,10 @@ func TestResourceMatchingResourcesForEventLocks3(t *testing.T) { // ev := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestMatchingResourcesForEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // }, -// APIOpts: map[string]interface{}{}, +// APIOpts: map[string]any{}, // } // Cache.SetWithoutReplicate(utils.CacheEventResources, "TestMatchingResourcesForEvent", utils.StringSet{ @@ -6049,10 +6049,10 @@ func TestResourcesMatchingResourcesForEventCacheSetErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestMatchingResourcesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if rcv, err := rS.matchingResourcesForEvent("cgrates.org", ev, ev.ID, @@ -6106,10 +6106,10 @@ func TestResourcesMatchingResourcesForEventFinalCacheSetErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestMatchingResourcesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } exp := &Resource{ Tenant: "cgrates.org", diff --git a/ers/amqp.go b/ers/amqp.go index 3d409b44a..7816be9cf 100644 --- a/ers/amqp.go +++ b/ers/amqp.go @@ -182,7 +182,7 @@ func (rdr *AMQPER) readLoop(msgChan <-chan amqp.Delivery) { } func (rdr *AMQPER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/amqp_it_test.go b/ers/amqp_it_test.go index 342c4962d..a71de22df 100644 --- a/ers/amqp_it_test.go +++ b/ers/amqp_it_test.go @@ -117,10 +117,10 @@ func TestAMQPER(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/amqpv1.go b/ers/amqpv1.go index cce42d3f7..577736c03 100644 --- a/ers/amqpv1.go +++ b/ers/amqpv1.go @@ -162,7 +162,7 @@ func (rdr *AMQPv1ER) readLoop(recv *amqpv1.Receiver) (err error) { } func (rdr *AMQPv1ER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/amqpv1_it_test.go b/ers/amqpv1_it_test.go index a614f45d7..e47577690 100644 --- a/ers/amqpv1_it_test.go +++ b/ers/amqpv1_it_test.go @@ -121,7 +121,7 @@ func TestAMQPERv1(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, } diff --git a/ers/amqpv1_test.go b/ers/amqpv1_test.go index fe650bd62..a2a4a0db6 100644 --- a/ers/amqpv1_test.go +++ b/ers/amqpv1_test.go @@ -43,10 +43,10 @@ func TestAMQPv1ERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "testCgrId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } body := []byte(`{"CGRID":"testCgrId"}`) rdr.Config().Fields = []*config.FCTemplate{ diff --git a/ers/ers.go b/ers/ers.go index 65872ea3b..90fe3473a 100644 --- a/ers/ers.go +++ b/ers/ers.go @@ -375,7 +375,7 @@ func (erS *ERService) processPartialEvent(ev *utils.CGREvent, rdrCfg *config.Eve } // onEvicted the function that is called when a element is removed from cache -func (erS *ERService) onEvicted(id string, value interface{}) { +func (erS *ERService) onEvicted(id string, value any) { if value == nil { // is already complete and sent to erS return } @@ -485,7 +485,7 @@ func (erS *ERService) onEvicted(id string, value interface{}) { utils.ERs, utils.ToJSON(eEvs.events), err.Error())) return } - var record map[string]interface{} + var record map[string]any if len(eEvs.rdrCfg.CacheDumpFields) != 0 { // convert the event to record eeReq := engine.NewExportRequest(map[string]utils.DataStorage{ @@ -504,7 +504,7 @@ func (erS *ERService) onEvicted(id string, value interface{}) { return } - record = make(map[string]interface{}) + record = make(map[string]any) for el := eeReq.ExpData[utils.MetaExp].GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := eeReq.ExpData[utils.MetaExp].Field(path) diff --git a/ers/ers_it_test.go b/ers/ers_it_test.go index d0e55e47a..a752f3517 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -494,7 +494,7 @@ func TestERsProcessEvent3(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -521,7 +521,7 @@ func TestERsProcessEvent4(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -552,7 +552,7 @@ func TestERsProcessEvent5(t *testing.T) { ID: "", Time: nil, Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -579,7 +579,7 @@ func TestERsProcessEvent6(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -605,7 +605,7 @@ func TestERsProcessEvent7(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -635,7 +635,7 @@ func TestERsProcessEvent8(t *testing.T) { ID: "", Time: nil, Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -666,7 +666,7 @@ func TestERsProcessEvent9(t *testing.T) { ID: "", Time: nil, Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -697,10 +697,10 @@ func TestERsProcessEvent10(t *testing.T) { Tenant: "", ID: "", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -711,10 +711,10 @@ func TestERsProcessEvent10(t *testing.T) { } type testMockClients struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (sT *testMockClients) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClients) Call(method string, arg any, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -733,8 +733,8 @@ func TestERsProcessEvent11(t *testing.T) { cfg.ERsCfg().SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)} fltrS := &engine.FilterS{} testMockClient := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SessionSv1ProcessMessage: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SessionSv1ProcessMessage: func(args any, reply any) error { return errors.New("RALS_ERROR") }, }, @@ -754,10 +754,10 @@ func TestERsProcessEvent11(t *testing.T) { Tenant: "", ID: "", Time: nil, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -783,7 +783,7 @@ func TestErsOnEvictedMetaDumpToFileOK(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -866,7 +866,7 @@ func TestErsOnEvictedMetaDumpToFileCSVWriteErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -923,7 +923,7 @@ func TestErsOnEvictedMetaDumpToFileCreateErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -973,7 +973,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1018,7 +1018,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { return nil }) - var compare map[string]interface{} + var compare map[string]any // compare = make(map[int][]string, 2) dataJSON, err := os.ReadFile(files[0]) if err != nil { @@ -1029,7 +1029,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { t.Error(err) } - exp := map[string]interface{}{ + exp := map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1057,7 +1057,7 @@ func TestErsOnEvictedDumpToJSONNoPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1118,7 +1118,7 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1135,7 +1135,7 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Usage: "12s", utils.Category: "call", @@ -1202,7 +1202,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFieldsErrPrefix(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1274,7 +1274,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1334,7 +1334,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { return nil }) - var compare map[string]interface{} + var compare map[string]any dataJSON, err := os.ReadFile(files[0]) if err != nil { t.Error(err) @@ -1343,7 +1343,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { if err != nil { t.Error(err) } - exp := map[string]interface{}{ + exp := map[string]any{ utils.OriginID: "25160047719:0", } if !reflect.DeepEqual(exp, compare) { @@ -1374,7 +1374,7 @@ func TestErsOnEvictedDumpToJSONInvalidPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1441,7 +1441,7 @@ func TestErsOnEvictedDumpToJSONEncodeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", diff --git a/ers/ers_reload_it_test.go b/ers/ers_reload_it_test.go index ba9bd77ab..683a37a6a 100644 --- a/ers/ers_reload_it_test.go +++ b/ers/ers_reload_it_test.go @@ -140,17 +140,17 @@ func testReloadReloadConfigFromPath(t *testing.T) { } func testReloadVerifyFirstReload(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any if err := reloadRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Section: config.ERsJson, }, &reply); err != nil { t.Error(err) - } else if mp, can := reply[config.ERsJson].(map[string]interface{}); !can { + } else if mp, can := reply[config.ERsJson].(map[string]any); !can { t.Errorf("expected a map received: %T", reply[config.ERsJson]) } else if mp[utils.EnabledCfg] != true { t.Errorf("Expecting: , received: <%+v>", mp[utils.EnabledCfg]) - } else if readers, canConvert := mp[utils.ReadersCfg].([]interface{}); !canConvert { - if readers, canConvert := mp[utils.ReadersCfg].([]map[string]interface{}); !canConvert { // in case of gob + } else if readers, canConvert := mp[utils.ReadersCfg].([]any); !canConvert { + if readers, canConvert := mp[utils.ReadersCfg].([]map[string]any); !canConvert { // in case of gob t.Errorf("Cannot cast Readers to slice<%T>", mp[utils.ReadersCfg]) } else if len(readers) != 3 { // 2 active readers and 1 default t.Errorf("Expecting: <2>, received: <%+v>", len(readers)) diff --git a/ers/ers_test.go b/ers/ers_test.go index c947627ab..62215adff 100644 --- a/ers/ers_test.go +++ b/ers/ers_test.go @@ -38,7 +38,7 @@ func TestERsProcessPartialEvent(t *testing.T) { event := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventERsProcessPartial", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "originID", }, } @@ -84,7 +84,7 @@ func TestErsOnEvictedMetaPostCDROK(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -138,7 +138,7 @@ func TestErsOnEvictedMetaPostCDRMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 12, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1002", @@ -147,7 +147,7 @@ func TestErsOnEvictedMetaPostCDRMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 13, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1003", @@ -198,7 +198,7 @@ func TestErsOnEvictedMetaDumpToFileSetFieldsErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -254,7 +254,7 @@ func TestErsOnEvictedMetaDumpToFileMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 12, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1002", @@ -263,7 +263,7 @@ func TestErsOnEvictedMetaDumpToFileMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 13, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1003", @@ -307,7 +307,7 @@ func TestErsOnEvictedMetaDumpToFileEmptyPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, diff --git a/ers/filecsv_it_test.go b/ers/filecsv_it_test.go index e91dd398e..86b5bb446 100644 --- a/ers/filecsv_it_test.go +++ b/ers/filecsv_it_test.go @@ -401,7 +401,7 @@ func TestFileCSVProcessEvent(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: "2021-01-07 17:00:04 +0000 UTC", utils.Category: "*call", @@ -414,7 +414,7 @@ func TestFileCSVProcessEvent(t *testing.T) { utils.ToR: "*voice", utils.Usage: "1h2m", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } eR.conReqs <- struct{}{} diff --git a/ers/filefwv_it_test.go b/ers/filefwv_it_test.go index 6b43b0edd..6ec3f73ef 100644 --- a/ers/filefwv_it_test.go +++ b/ers/filefwv_it_test.go @@ -449,10 +449,10 @@ func TestFileFWVProcessTrailer(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "testOriginID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } eR.conReqs <- struct{}{} filePath := "/tmp/TestFileFWVProcessTrailer/" @@ -624,10 +624,10 @@ func TestFileFWVCreateHeaderMap(t *testing.T) { eR.conReqs <- struct{}{} expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "testOriginID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } hdrFields := []*config.FCTemplate{ { diff --git a/ers/filejson.go b/ers/filejson.go index bc55dc4c0..bd1c34e58 100644 --- a/ers/filejson.go +++ b/ers/filejson.go @@ -140,7 +140,7 @@ func (rdr *JSONFileER) processFile(fPath, fName string) (err error) { return } - var data map[string]interface{} + var data map[string]any if err = json.Unmarshal(byteValue, &data); err != nil { return } diff --git a/ers/filejson_it_test.go b/ers/filejson_it_test.go index fa34db424..bc99c6d4d 100644 --- a/ers/filejson_it_test.go +++ b/ers/filejson_it_test.go @@ -144,7 +144,7 @@ func testJSONAddData(t *testing.T) { AttributeIDs: []string{"*none"}, Weight: 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -166,7 +166,7 @@ func testJSONAddData(t *testing.T) { Account: "voiceAccount", BalanceType: utils.MetaVoice, Value: 600000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, "RatingSubject": "*zero1m", utils.Weight: 10.0, @@ -315,7 +315,7 @@ func TestFileJSONProcessEvent(t *testing.T) { if err != nil { t.Error(err) } - fcTemp := map[string]interface{}{ + fcTemp := map[string]any{ "2": "tor_test", "3": "originid_test", "4": "requestType_test", @@ -346,7 +346,7 @@ func TestFileJSONProcessEvent(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "account_test", utils.AnswerTime: "answerTime_test", utils.Category: "category_test", @@ -359,7 +359,7 @@ func TestFileJSONProcessEvent(t *testing.T) { utils.ToR: "tor_test", utils.Usage: "usage_test", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } // expEvent := &utils.CGREvent{} eR.conReqs <- struct{}{} @@ -416,7 +416,7 @@ func TestFileJSONProcessEventError2(t *testing.T) { if err != nil { t.Error(err) } - fcTemp := map[string]interface{}{ + fcTemp := map[string]any{ "2": "tor_test", "3": "originid_test", "4": "requestType_test", @@ -475,7 +475,7 @@ func TestFileJSONProcessEventError3(t *testing.T) { if err != nil { t.Error(err) } - fcTemp := map[string]interface{}{ + fcTemp := map[string]any{ "2": "tor_test", "3": "originid_test", "4": "requestType_test", diff --git a/ers/filexml_it_test.go b/ers/filexml_it_test.go index 4bdc64cb4..22964c286 100644 --- a/ers/filexml_it_test.go +++ b/ers/filexml_it_test.go @@ -377,10 +377,10 @@ func TestFileXMLProcessEvent(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "25160047719:0", }, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } select { case data := <-eR.rdrEvents: diff --git a/ers/kafka.go b/ers/kafka.go index 363366977..1da474fa1 100644 --- a/ers/kafka.go +++ b/ers/kafka.go @@ -152,7 +152,7 @@ func (rdr *KafkaER) readLoop(r *kafka.Reader) { } func (rdr *KafkaER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/kafka_it_test.go b/ers/kafka_it_test.go index ff8f3c639..855e7e1f6 100644 --- a/ers/kafka_it_test.go +++ b/ers/kafka_it_test.go @@ -106,10 +106,10 @@ func TestKafkaER(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/kafka_test.go b/ers/kafka_test.go index 111e70a47..546c17352 100644 --- a/ers/kafka_test.go +++ b/ers/kafka_test.go @@ -166,10 +166,10 @@ func TestKafkaERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } rdr.Config().Fields = []*config.FCTemplate{ { diff --git a/ers/libers.go b/ers/libers.go index f52aa726d..64b0983ed 100644 --- a/ers/libers.go +++ b/ers/libers.go @@ -199,7 +199,7 @@ func mergePartialEvents(cgrEvs []*utils.CGREvent, cfg *config.EventReaderCfg, fl } // get the field as interface in a slice - fields := make([]interface{}, len(cgrEvs)) + fields := make([]any, len(cgrEvs)) for i, ev := range cgrEvs { if fields[i], err = ordPath.ParseDataProviderWithInterfaces(ev.AsDataProvider()); err != nil { return @@ -225,8 +225,8 @@ func mergePartialEvents(cgrEvs []*utils.CGREvent, cfg *config.EventReaderCfg, fl Tenant: cgrEvs[0].Tenant, ID: utils.UUIDSha1Prefix(), Time: utils.TimePointer(time.Now()), - Event: make(map[string]interface{}), - APIOpts: make(map[string]interface{}), + Event: make(map[string]any), + APIOpts: make(map[string]any), } for _, ev := range cgrEvs { // merge the maps for key, value := range ev.Event { diff --git a/ers/nats.go b/ers/nats.go index cde6786c5..57d334447 100644 --- a/ers/nats.go +++ b/ers/nats.go @@ -155,7 +155,7 @@ func (rdr *NatsER) Serve() (err error) { } func (rdr *NatsER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/nats_it_test.go b/ers/nats_it_test.go index ec250dfd4..629a4a76e 100644 --- a/ers/nats_it_test.go +++ b/ers/nats_it_test.go @@ -49,10 +49,10 @@ func testCheckNatsData(t *testing.T, randomCGRID, expData string, ch chan *nats. Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Fatalf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/nats_test.go b/ers/nats_test.go index 3699d8bd0..1632889c8 100644 --- a/ers/nats_test.go +++ b/ers/nats_test.go @@ -68,10 +68,10 @@ func TestNatsERProcessMessage(t *testing.T) { expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } rdr.Config().Fields = []*config.FCTemplate{ { diff --git a/ers/s3.go b/ers/s3.go index d2f80c1fd..28f037dd2 100644 --- a/ers/s3.go +++ b/ers/s3.go @@ -118,7 +118,7 @@ func (rdr *S3ER) Serve() (err error) { } func (rdr *S3ER) processMessage(body []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(body, &decodedMessage); err != nil { return } diff --git a/ers/s3_it_test.go b/ers/s3_it_test.go index c15bd549e..cf749e0de 100644 --- a/ers/s3_it_test.go +++ b/ers/s3_it_test.go @@ -122,7 +122,7 @@ func TestS3ER(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, } diff --git a/ers/s3_test.go b/ers/s3_test.go index aa7681285..1ce545e78 100644 --- a/ers/s3_test.go +++ b/ers/s3_test.go @@ -88,10 +88,10 @@ func TestS3ERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "testCgrId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } body := []byte(`{"CGRID":"testCgrId"}`) rdr.Config().Fields = []*config.FCTemplate{ @@ -386,7 +386,7 @@ func TestS3ERReadMsg(t *testing.T) { session: nil, poster: nil, } - // rdr.poster = engine.NewS3Poster(rdr.Config().SourcePath, 1, make(map[string]interface{})) + // rdr.poster = engine.NewS3Poster(rdr.Config().SourcePath, 1, make(map[string]any)) rdr.Config().SourcePath = rdr.awsRegion rdr.Config().ConcurrentReqs = -1 rdr.Config().Fields = []*config.FCTemplate{ diff --git a/ers/sql.go b/ers/sql.go index 9bf4870eb..51ac410f5 100644 --- a/ers/sql.go +++ b/ers/sql.go @@ -163,8 +163,8 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { if rdr.Config().ConcurrentReqs != -1 { <-rdr.cap // do not try to read if the limit is reached } - columns := make([]interface{}, len(colNames)) - columnPointers := make([]interface{}, len(colNames)) + columns := make([]any, len(colNames)) + columnPointers := make([]any, len(colNames)) for i := range columns { columnPointers[i] = &columns[i] } @@ -173,7 +173,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { rows.Close() return } - msg := make(map[string]interface{}) + msg := make(map[string]any) fltr := make(map[string]string) for i, colName := range colNames { msg[colName] = columns[i] @@ -202,7 +202,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { return } - go func(msg map[string]interface{}) { + go func(msg map[string]any) { if err := rdr.processMessage(msg); err != nil { utils.Logger.Warning( fmt.Sprintf("<%s> processing message %s error: %s", @@ -237,7 +237,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { } } -func (rdr *SQLEventReader) processMessage(msg map[string]interface{}) (err error) { +func (rdr *SQLEventReader) processMessage(msg map[string]any) (err error) { agReq := agents.NewAgentRequest( utils.MapStorage(msg), nil, nil, nil, nil, rdr.Config().Tenant, @@ -351,7 +351,7 @@ func (rdr *SQLEventReader) setURL(inURL, outURL string, opts *config.EventReader return } -func (rdr *SQLEventReader) postCDR(in []interface{}) (err error) { +func (rdr *SQLEventReader) postCDR(in []any) (err error) { sqlValues := make([]string, len(in)) for i := range in { sqlValues[i] = "?" diff --git a/ers/sql_it_test.go b/ers/sql_it_test.go index 853853c41..5ce92b38e 100644 --- a/ers/sql_it_test.go +++ b/ers/sql_it_test.go @@ -251,10 +251,10 @@ func testSQLReader(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": cdr.CGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) @@ -285,10 +285,10 @@ func testSQLReader2(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": cdr.CGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) @@ -308,15 +308,15 @@ func testSQLPoster(t *testing.T) { t.Fatal(err) } for rows.Next() { - columns := make([]interface{}, len(colNames)) - columnPointers := make([]interface{}, len(colNames)) + columns := make([]any, len(colNames)) + columnPointers := make([]any, len(colNames)) for i := range columns { columnPointers[i] = &columns[i] } if err = rows.Scan(columnPointers...); err != nil { t.Fatal(err) } - msg := make(map[string]interface{}) + msg := make(map[string]any) for i, colName := range colNames { msg[colName] = columns[i] } @@ -498,10 +498,10 @@ func testSQLReader3(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": cdr.CGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) @@ -532,10 +532,10 @@ func testSQLReader4(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": cdr.CGRID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) @@ -555,15 +555,15 @@ func testSQLPoster2(t *testing.T) { t.Fatal(err) } for rows.Next() { - columns := make([]interface{}, len(colNames)) - columnPointers := make([]interface{}, len(colNames)) + columns := make([]any, len(colNames)) + columnPointers := make([]any, len(colNames)) for i := range columns { columnPointers[i] = &columns[i] } if err = rows.Scan(columnPointers...); err != nil { t.Fatal(err) } - msg := make(map[string]interface{}) + msg := make(map[string]any) for i, colName := range colNames { msg[colName] = columns[i] } @@ -611,7 +611,7 @@ func TestSQLProcessMessageError(t *testing.T) { cap: nil, } - msgTest := map[string]interface{}{} + msgTest := map[string]any{} err := testSQLEventReader.processMessage(msgTest) expected := "NOT_FOUND:ToR" if err == nil || err.Error() != expected { @@ -690,7 +690,7 @@ func TestErsSqlPostCDRS(t *testing.T) { t.Errorf("Expecting: , received: <%+v>", err) } sqlEvReader.(*SQLEventReader).expConnType = utils.MySQL - result := sqlEvReader.(*SQLEventReader).postCDR([]interface{}{}) + result := sqlEvReader.(*SQLEventReader).postCDR([]any{}) expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" if result == nil { t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, result) @@ -704,20 +704,20 @@ func TestErsSqlPostCDRS(t *testing.T) { // Migrator(db *gorm.DB) gorm.Migrator // DataTypeOf(*schema.Field) string // DefaultValueOf(*schema.Field) clause.Expression -// BindVarTo(writer clause.Writer, stmt *Statement, v interface{}) +// BindVarTo(writer clause.Writer, stmt *Statement, v any) // QuoteTo(clause.Writer, string) -// Explain(sql string, vars ...interface{}) string +// Explain(sql string, vars ...any) string // } type mockDialect struct{} -func (mockDialect) Name() string { return "" } -func (mockDialect) Initialize(db *gorm.DB) error { return nil } -func (mockDialect) Migrator(db *gorm.DB) gorm.Migrator { return nil } -func (mockDialect) DataTypeOf(*schema.Field) string { return "" } -func (mockDialect) DefaultValueOf(*schema.Field) clause.Expression { return nil } -func (mockDialect) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{}) { return } -func (mockDialect) QuoteTo(clause.Writer, string) { return } -func (mockDialect) Explain(sql string, vars ...interface{}) string { return "" } +func (mockDialect) Name() string { return "" } +func (mockDialect) Initialize(db *gorm.DB) error { return nil } +func (mockDialect) Migrator(db *gorm.DB) gorm.Migrator { return nil } +func (mockDialect) DataTypeOf(*schema.Field) string { return "" } +func (mockDialect) DefaultValueOf(*schema.Field) clause.Expression { return nil } +func (mockDialect) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v any) { return } +func (mockDialect) QuoteTo(clause.Writer, string) { return } +func (mockDialect) Explain(sql string, vars ...any) string { return "" } func TestMockOpenDB(t *testing.T) { cfg := config.NewDefaultCGRConfig() diff --git a/ers/sql_test.go b/ers/sql_test.go index 8bb118a69..124fb26ee 100644 --- a/ers/sql_test.go +++ b/ers/sql_test.go @@ -163,7 +163,7 @@ func TestSQLPostCDR(t *testing.T) { rdrErr: nil, cap: nil, } - in := make([]interface{}, 2) + in := make([]any, 2) err := rdr.postCDR(in) expected := "db type not supported" if err == nil || err.Error() != expected { @@ -220,7 +220,7 @@ func TestSQLPostCDRMySQLError(t *testing.T) { rdrErr: nil, cap: nil, } - err := testSQLEventReader.postCDR([]interface{}{}) + err := testSQLEventReader.postCDR([]any{}) expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" if err == nil { t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, err) @@ -247,7 +247,7 @@ func TestSQLPostCDRPostgresError(t *testing.T) { rdrErr: nil, cap: nil, } - err := testSQLEventReader.postCDR([]interface{}{}) + err := testSQLEventReader.postCDR([]any{}) expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" if err == nil { t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, err) diff --git a/ers/sqs.go b/ers/sqs.go index e34cd4fc9..fae5169f5 100644 --- a/ers/sqs.go +++ b/ers/sqs.go @@ -106,7 +106,7 @@ func (rdr *SQSER) Serve() (err error) { } func (rdr *SQSER) processMessage(body []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(body, &decodedMessage); err != nil { return } diff --git a/ers/sqs_it_test.go b/ers/sqs_it_test.go index 2cc3c8b61..0dc912955 100644 --- a/ers/sqs_it_test.go +++ b/ers/sqs_it_test.go @@ -120,7 +120,7 @@ func TestSQSER(t *testing.T) { Tenant: "cgrates.org", ID: ev.cgrEvent.ID, Time: ev.cgrEvent.Time, - Event: map[string]interface{}{ + Event: map[string]any{ "CGRID": randomCGRID, }, } diff --git a/ers/sqs_test.go b/ers/sqs_test.go index 3eb5115c8..603c7cb68 100644 --- a/ers/sqs_test.go +++ b/ers/sqs_test.go @@ -138,10 +138,10 @@ func TestSQSERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "testCgrId", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } body := []byte(`{"CGRID":"testCgrId"}`) rdr.Config().Fields = []*config.FCTemplate{ diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index 13b73262c..2dccc7ab2 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -162,7 +162,7 @@ func testA1itAddBalance1(t *testing.T) { Account: "rpdata1", BalanceType: utils.MetaData, Value: 10000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "rpdata1_test", }, } @@ -190,7 +190,7 @@ func testA1itDataSession1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestA1itDataSession1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "INITIATE_SESSION", utils.ToR: utils.MetaData, utils.OriginID: "504966119", @@ -204,7 +204,7 @@ func testA1itDataSession1(t *testing.T) { utils.AnswerTime: "2017-03-03 11:39:32 +0100 CET", utils.Usage: "10240", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "28800s", utils.OptsSessionsTTLLastUsed: "0s", utils.OptsSessionsTTLUsage: "0s", @@ -227,7 +227,7 @@ func testA1itDataSession1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "UPDATE_SESSION", utils.AccountField: "rpdata1", utils.Category: "data1", @@ -243,7 +243,7 @@ func testA1itDataSession1(t *testing.T) { utils.AnswerTime: "2017-03-03 11:39:32 +0100 CET", utils.Usage: "2097152", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "28800s", utils.OptsSessionsTTLLastUsed: "2097152s", utils.OptsSessionsTTLUsage: "0s", @@ -266,7 +266,7 @@ func testA1itDataSession1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TERMINATE_SESSION", utils.AccountField: "rpdata1", utils.Category: "data1", diff --git a/general_tests/accounts_it_test.go b/general_tests/accounts_it_test.go index 9e85e7bd5..d37f27efc 100644 --- a/general_tests/accounts_it_test.go +++ b/general_tests/accounts_it_test.go @@ -275,7 +275,7 @@ func testV1AccSendToThreshold(t *testing.T) { Account: "testAccThreshold", BalanceType: "*monetary", Value: 1.5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testAccSetBalance", }, } diff --git a/general_tests/accountswiththresholds_it_test.go b/general_tests/accountswiththresholds_it_test.go index 1202a9cab..af0d84e8d 100644 --- a/general_tests/accountswiththresholds_it_test.go +++ b/general_tests/accountswiththresholds_it_test.go @@ -166,7 +166,7 @@ func testAccWThdSetBalance(t *testing.T) { Account: "1002", BalanceType: utils.MetaVoice, Value: float64(time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testBalanceID", utils.RatingSubject: "*zero1s", }, diff --git a/general_tests/attributes_filters_index_it_test.go b/general_tests/attributes_filters_index_it_test.go index b8aecfde6..68baf5ef3 100644 --- a/general_tests/attributes_filters_index_it_test.go +++ b/general_tests/attributes_filters_index_it_test.go @@ -163,10 +163,10 @@ func testAttributeSetProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "44", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -213,10 +213,10 @@ func testAttributeSetFltr2(t *testing.T) { //same event for process ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "4444", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -225,11 +225,11 @@ func testAttributeSetFltr2(t *testing.T) { AlteredFields: []string{"*req.FL1"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "4444", "FL1": "Al1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, diff --git a/general_tests/attributes_it_test.go b/general_tests/attributes_it_test.go index 4ba3c3b98..96555abd7 100644 --- a/general_tests/attributes_it_test.go +++ b/general_tests/attributes_it_test.go @@ -130,11 +130,11 @@ func testAttributeSProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "VariableTest", utils.ToR: utils.MetaVoice, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -144,12 +144,12 @@ func testAttributeSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "VariableTest", utils.Category: utils.MetaVoice, utils.ToR: utils.MetaVoice, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -214,10 +214,10 @@ func testAttributeSProcessEventWithAccount(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddAccountInfo", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -228,11 +228,11 @@ func testAttributeSProcessEventWithAccount(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddAccountInfo", "Balance": "10", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -297,10 +297,10 @@ func testAttributeSProcessEventWithAccountFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullAccount", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -311,11 +311,11 @@ func testAttributeSProcessEventWithAccountFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullAccount", "FullAccount": "{\"ID\":\"cgrates.org:1001\",\"BalanceMap\":{\"*monetary\":[{\"Uuid\":\"18160631-a4ae-4078-8048-b4c6b87a36c6\",\"ID\":\"\",\"Value\":10,\"ExpirationDate\":\"0001-01-01T00:00:00Z\",\"Weight\":10,\"DestinationIDs\":{},\"RatingSubject\":\"\",\"Categories\":{},\"SharedGroups\":{},\"Timings\":null,\"TimingIDs\":{},\"Disabled\":false,\"Factor\":null,\"Blocker\":false}]},\"UnitCounters\":null,\"ActionTriggers\":null,\"AllowNegative\":false,\"Disabled\":false,\"UpdateTime\":\"2020-10-06T12:43:51.805Z\"}", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } sort.Strings(eRply.AlteredFields) @@ -349,7 +349,7 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -366,7 +366,7 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -425,10 +425,10 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddStatEvent", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -439,11 +439,11 @@ func testAttributeSProcessEventWithStat(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddStatEvent", "AcdMetric": "11000000000", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -508,10 +508,10 @@ func testAttributeSProcessEventWithStatFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullStats", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -522,11 +522,11 @@ func testAttributeSProcessEventWithStatFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullStats", "AllMetrics": "{\"*acd\":11000000000,\"*asr\":100,\"*tcd\":22000000000}", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -576,10 +576,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 3, }, @@ -592,10 +592,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { argsRU2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e22", utils.OptsResourcesUnits: 2, }, @@ -650,10 +650,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddResourceUsages", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -664,11 +664,11 @@ func testAttributeSProcessEventWithResource(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddResourceUsages", "ResourceTotalUsages": "5", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -733,10 +733,10 @@ func testAttributeSProcessEventWithResourceFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullResource", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -747,7 +747,7 @@ func testAttributeSProcessEventWithResourceFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullResource", "FullResource": "{\"Tenant\":\"cgrates.org\",\"ID\":\"ResTest\",\"Usages\":{\"651a8db2-4f67-4cf8-b622-169e8a482e21\":{\"Tenant\":\"cgrates.org\",\"ID\":\"651a8db2-4f67-4cf8-b622-169e8a482e21\",\"ExpiryTime\":\"2020-10-06T16:12:52.450804203+03:00\",\"Units\":3},\"651a8db2-4f67-4cf8-b622-169e8a482e22\":{\"Tenant\":\"cgrates.org\",\"ID\":\"651a8db2-4f67-4cf8-b622-169e8a482e22\",\"ExpiryTime\":\"2020-10-06T16:12:52.451034151+03:00\",\"Units\":2}},\"TTLIdx\":[\"651a8db2-4f67-4cf8-b622-169e8a482e21\",\"651a8db2-4f67-4cf8-b622-169e8a482e22\"]}", }, @@ -824,11 +824,11 @@ func testAttributeSProcessEventWithLibPhoneNumber(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationCarrier", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -839,12 +839,12 @@ func testAttributeSProcessEventWithLibPhoneNumber(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationCarrier", "Destination": "+447779330921", "DestinationCarrier": "Orange", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -927,11 +927,11 @@ func testAttributeSProcessEventWithLibPhoneNumberComposed(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumberComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddComposedInfo", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -942,12 +942,12 @@ func testAttributeSProcessEventWithLibPhoneNumberComposed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumberComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddComposedInfo", "Destination": "+447779330921", "DestinationCarrier": "Orange;44", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -1012,11 +1012,11 @@ func testAttributeSProcessEventWithLibPhoneNumberFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationDetails", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1027,12 +1027,12 @@ func testAttributeSProcessEventWithLibPhoneNumberFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationDetails", "Destination": "+447779330921", "DestinationDetails": "{\"Carrier\":\"Orange\",\"CountryCode\":44,\"CountryCodeSource\":1,\"Extension\":\"\",\"GeoLocation\":\"United Kingdom\",\"ItalianLeadingZero\":false,\"LengthOfNationalDestinationCode\":0,\"NationalNumber\":7779330921,\"NumberOfLeadingZeros\":1,\"NumberType\":1,\"PreferredDomesticCarrierCode\":\"\",\"RawInput\":\"+447779330921\",\"Region\":\"GB\"}", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, diff --git a/general_tests/broadcast_client_it_test.go b/general_tests/broadcast_client_it_test.go index 78a908846..fb11bea1a 100644 --- a/general_tests/broadcast_client_it_test.go +++ b/general_tests/broadcast_client_it_test.go @@ -137,7 +137,7 @@ func testbrodcastItProccessEvent(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: utils.Call, utils.ToR: utils.MetaVoice, diff --git a/general_tests/cacherpl_filter_update_it_test.go b/general_tests/cacherpl_filter_update_it_test.go index 3bcfaa102..9108bda78 100644 --- a/general_tests/cacherpl_filter_update_it_test.go +++ b/general_tests/cacherpl_filter_update_it_test.go @@ -60,20 +60,20 @@ var ( ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaAny, }, } ev2 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaAny, }, } @@ -162,7 +162,7 @@ func testFilterUpdateSetFilterE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaLoad, }, } @@ -199,7 +199,7 @@ func testFilterUpdateSetAttrProfileE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaNone, }, } @@ -351,7 +351,7 @@ func testFilterUpdateSetFilterAfterAttrE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaLoad, }, } diff --git a/general_tests/cacherpl_it_test.go b/general_tests/cacherpl_it_test.go index d29bb2030..9d802b92b 100644 --- a/general_tests/cacherpl_it_test.go +++ b/general_tests/cacherpl_it_test.go @@ -307,10 +307,10 @@ func testCacheRplAAAddData(t *testing.T) { } func testCacheRplPing(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, } @@ -324,7 +324,7 @@ func testCacheRplPing(t *testing.T) { if err := dspEngine1RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { @@ -335,7 +335,7 @@ func testCacheRplPing(t *testing.T) { } func testCacheRplCheckReplication(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", } @@ -365,7 +365,7 @@ func testCacheRplCheckReplication(t *testing.T) { if err := dspEngine2RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { @@ -396,7 +396,7 @@ func testCacheRplAACheckReplication(t *testing.T) { if err := dspEngine2RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher2", }, }, &rpl); err != nil { @@ -407,7 +407,7 @@ func testCacheRplAACheckReplication(t *testing.T) { if err := dspEngine1RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher1", }, }, &rpl); err != nil { @@ -465,13 +465,13 @@ func testCacheRplAACheckLoadReplication(t *testing.T) { if err := dspEngine1RPC.Call(utils.ChargerSv1ProcessEvent, &utils.CGREvent{ Tenant: "cgrates.org", ID: "testCacheRplAACheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher1", }, }, &rpl); err != nil { @@ -487,13 +487,13 @@ func testCacheRplAACheckLoadReplication(t *testing.T) { Tenant: "cgrates.org", ID: "testCacheRplAACheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher2", }, }, &rpl); err != nil { @@ -578,13 +578,13 @@ func testCacheRplCheckLoadReplication(t *testing.T) { Tenant: "cgrates.org", ID: "testCacheRplCheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { diff --git a/general_tests/cdrs_exp_it_test.go b/general_tests/cdrs_exp_it_test.go index e0b77f9e2..147dc6c75 100644 --- a/general_tests/cdrs_exp_it_test.go +++ b/general_tests/cdrs_exp_it_test.go @@ -52,7 +52,7 @@ var ( cdrsExpCfg *config.CGRConfig cdrsExpRPC *rpc.Client - cdrsExpHTTPEv = make(chan map[string]interface{}, 1) + cdrsExpHTTPEv = make(chan map[string]any, 1) cdrsExpHTTPServer *http.Server cdrsExpAMQPCon *amqp.Connection @@ -61,7 +61,7 @@ var ( ID: "Export", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "TestCGRID", utils.ToR: utils.MetaVoice, utils.OriginID: "TestCDRsExp", @@ -77,10 +77,10 @@ var ( utils.Usage: 10 * time.Second, utils.Cost: 1.201, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } - cdrsExpEvExp = map[string]interface{}{ + cdrsExpEvExp = map[string]any{ utils.CGRID: "TestCGRID", utils.ToR: utils.MetaVoice, utils.OriginID: "TestCDRsExp", @@ -171,7 +171,7 @@ func testCDRsExpPrepareHTTP(t *testing.T) { return } - ev := make(map[string]interface{}) + ev := make(map[string]any) for k, v := range vals { ev[k] = v[0] } @@ -293,7 +293,7 @@ func testCDRsExpAMQP(t *testing.T) { } select { case d := <-msgs: - var rcvCDR map[string]interface{} + var rcvCDR map[string]any if err := json.Unmarshal(d.Body, &rcvCDR); err != nil { t.Error(err) } @@ -321,7 +321,7 @@ func testCDRsExpKafka(t *testing.T) { if m, err = reader.ReadMessage(ctx); err != nil { t.Fatal(err) } - var rcvCDR map[string]interface{} + var rcvCDR map[string]any if err := json.Unmarshal(m.Value, &rcvCDR); err != nil { t.Error(err) } @@ -331,7 +331,7 @@ func testCDRsExpKafka(t *testing.T) { cancel() } -func checkContent(ev *ees.ExportEvents, content []interface{}) error { +func checkContent(ev *ees.ExportEvents, content []any) error { match := false for _, bev := range ev.Events { for _, con := range content { @@ -378,7 +378,7 @@ func testCDRsExpFileFailover(t *testing.T) { continue } rcvFormats.Add(ev.Format) - if err := checkContent(ev, []interface{}{[]byte(utils.ToJSON(cdrsExpEvExp))}); err != nil { + if err := checkContent(ev, []any{[]byte(utils.ToJSON(cdrsExpEvExp))}); err != nil { t.Errorf("For file <%s> and event <%s> received %s", filePath, utils.ToJSON(ev), err) } } diff --git a/general_tests/cdrs_internal_it_test.go b/general_tests/cdrs_internal_it_test.go index 35ed37acd..85a3ecf68 100644 --- a/general_tests/cdrs_internal_it_test.go +++ b/general_tests/cdrs_internal_it_test.go @@ -97,7 +97,7 @@ func testCdrsIntTestTTL(t *testing.T) { Flags: []string{"*store:true"}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCdrsIntTestTTL", utils.OriginHost: "192.168.1.1", utils.Source: "testCdrsIntTestTTL", diff --git a/general_tests/cdrs_it_test.go b/general_tests/cdrs_it_test.go index 1b7c31a80..815344653 100644 --- a/general_tests/cdrs_it_test.go +++ b/general_tests/cdrs_it_test.go @@ -164,7 +164,7 @@ func testV2CDRsProcessCDR(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR1", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR", @@ -235,7 +235,7 @@ func testV2CDRsProcessCDR2(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR2", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR2", @@ -307,7 +307,7 @@ func testV2CDRsProcessCDR3(t *testing.T) { Flags: []string{"*attributes:false", "*chargers:false"}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR3", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR3", @@ -368,7 +368,7 @@ func testV2CDRsProcessCDR4(t *testing.T) { Flags: []string{utils.MetaAttributes, utils.MetaRALs}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR4", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR4", @@ -557,7 +557,7 @@ func testV2CDRsProcessCDR5(t *testing.T) { Flags: []string{"*store:false", "*stats:false", "*thresholds:false"}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR5", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR5", @@ -623,7 +623,7 @@ func testV2CDRsProcessCDR6(t *testing.T) { Flags: []string{"*store:false", "*stats:true", "*thresholds:true"}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR5", utils.OriginHost: "192.168.1.2", utils.Source: "testV2CDRsProcessCDR6", @@ -682,7 +682,7 @@ func testV2CDRsProcessCDR7(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR7", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR7", diff --git a/general_tests/cdrs_onlexp_it_test.go b/general_tests/cdrs_onlexp_it_test.go index 826aafb8c..b1f97900c 100644 --- a/general_tests/cdrs_onlexp_it_test.go +++ b/general_tests/cdrs_onlexp_it_test.go @@ -277,7 +277,7 @@ func testCDRsOnExpHttpCdrReplication(t *testing.T) { } var reply string arg := testCdr1.AsCGREvent() - arg.APIOpts = map[string]interface{}{"ExporterID": "http_localhost"} + arg.APIOpts = map[string]any{"ExporterID": "http_localhost"} // we expect that the cdr export to fail and go into the failed post directory if err := cdrsMasterRpc.Call(utils.CDRsV1ProcessEvent, @@ -454,7 +454,7 @@ func testCDRsOnExpFileFailover(t *testing.T) { v2 := url.Values{} v1.Set("OriginID", "httpjsonrpc1") v2.Set("OriginID", "amqpreconnect") - httpContent := []interface{}{&ees.HTTPPosterRequest{Body: v1, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}, + httpContent := []any{&ees.HTTPPosterRequest{Body: v1, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}, &ees.HTTPPosterRequest{Body: v2, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}} filesInDir, _ := os.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir) if len(filesInDir) == 0 { diff --git a/general_tests/cdrs_post_failover_it_test.go b/general_tests/cdrs_post_failover_it_test.go index ac2513bee..75db3c6ac 100644 --- a/general_tests/cdrs_post_failover_it_test.go +++ b/general_tests/cdrs_post_failover_it_test.go @@ -145,7 +145,7 @@ func testCDRsPostFailoverProcessCDR(t *testing.T) { CGREvent: utils.CGREvent{ ID: "1", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsPostFailoverProcessCDR", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsPostFailoverProcessCDR", diff --git a/general_tests/cdrs_processevent_it_test.go b/general_tests/cdrs_processevent_it_test.go index ad8e5cf8b..51ec9abba 100644 --- a/general_tests/cdrs_processevent_it_test.go +++ b/general_tests/cdrs_processevent_it_test.go @@ -138,7 +138,7 @@ func testV1CDRsProcessEventAttrS(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaVoice, Value: 120000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BALANCE1", utils.Weight: 20, }, @@ -160,7 +160,7 @@ func testV1CDRsProcessEventAttrS(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test1_processEvent", utils.OriginHost: "OriginHost1", @@ -244,7 +244,7 @@ func testV1CDRsProcessEventChrgS(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test2_processEvent", utils.OriginHost: "OriginHost2", @@ -287,7 +287,7 @@ func testV1CDRsProcessEventRalS(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test3_processEvent", utils.OriginHost: "OriginHost3", @@ -322,7 +322,7 @@ func testV1CDRsProcessEventSts(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test4", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", @@ -407,7 +407,7 @@ func testV1CDRsProcessEventStore(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test5", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test5_processEvent", utils.OriginHost: "OriginHost5", @@ -485,7 +485,7 @@ func testV1CDRsProcessEventThreshold(t *testing.T) { Account: "1005", BalanceType: utils.MetaMonetary, Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, utils.Weight: 10.0, }, @@ -497,7 +497,7 @@ func testV1CDRsProcessEventThreshold(t *testing.T) { Flags: []string{utils.MetaThresholds, utils.MetaRALs, utils.ConcatenatedKey(utils.MetaChargers, "false"), "*export:false"}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDRWithThreshold", utils.OriginHost: "OriginHost6", utils.Source: "testV2CDRsProcessCDRWithThreshold", @@ -552,7 +552,7 @@ func testV1CDRsProcessEventExport(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test7", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test7_processEvent", utils.OriginHost: "OriginHost7", @@ -605,7 +605,7 @@ func testV1CDRsV2ProcessEventRalS(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "test101", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "testv1", utils.OriginID: "test3_v2processEvent", utils.OriginHost: "OriginHost101", @@ -620,7 +620,7 @@ func testV1CDRsV2ProcessEventRalS(t *testing.T) { expRply := []*utils.EventWithFlags{ { Flags: []string{}, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "AnswerTime": "2019-11-27T12:21:26Z", "CGRID": "d13c705aa38164aaf297fb77d7700565a3cea04b", diff --git a/general_tests/data_it_test.go b/general_tests/data_it_test.go index 4eb6a81e8..e41361c98 100644 --- a/general_tests/data_it_test.go +++ b/general_tests/data_it_test.go @@ -140,7 +140,7 @@ func testV1DataDataDebitUsageWith10Kilo(t *testing.T) { Account: "testV1DataDataCost", BalanceType: utils.MetaData, Value: 356000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Categories: "data", utils.ID: "testV1DataDataCost", utils.RatingSubject: "*zero10000ns", @@ -219,7 +219,7 @@ func testV1DataDebitBalanceWith10Kilo(t *testing.T) { Account: "testV1DataDebitBalance", BalanceType: utils.MetaData, Value: 356000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Categories: "data", utils.ID: "testV1DataDebitBalance", utils.RatingSubject: "*zero10000ns", @@ -278,7 +278,7 @@ func testV1DataDataDebitUsage1G0(t *testing.T) { Account: "testV1DataDataDebitUsage1G0", BalanceType: utils.MetaData, Value: 1100000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Categories: "data", utils.ID: "testV1DataDataDebitUsage1G0", utils.RatingSubject: "*zero10000ns", @@ -357,7 +357,7 @@ func testV1DataDebitBalance1G0(t *testing.T) { Account: "testV1DataDebitBalance1G0", BalanceType: utils.MetaData, Value: 1100000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Categories: "data", utils.ID: "testV1DataDebitBalance1G0", utils.RatingSubject: "*zero10000ns", @@ -416,7 +416,7 @@ func testV1DataInitSession(t *testing.T) { Account: "testV1DataInitSession", BalanceType: utils.MetaData, Value: 1100000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.Categories: "data", utils.ID: "testV1DataInitSession", utils.RatingSubject: "*zero10000ns", @@ -449,7 +449,7 @@ func testV1DataInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1DataInitSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaData, utils.Category: "data", @@ -462,7 +462,7 @@ func testV1DataInitSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "300s", utils.OptsSessionsTTLLastUsed: "0s", utils.OptsSessionsTTLMaxDelay: "1800s", @@ -494,7 +494,7 @@ func testV1DataUpdateWith1Mo(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1DataUpdateWith1Mo", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaData, utils.Category: "data", @@ -509,7 +509,7 @@ func testV1DataUpdateWith1Mo(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "28807s", utils.OptsSessionsTTLLastUsed: "0s", utils.OptsSessionsTTLMaxDelay: "1800s", @@ -538,7 +538,7 @@ func testV1DataUpdateWith1Go(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1DataUpdateWith1Go", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaData, utils.Category: "data", @@ -553,7 +553,7 @@ func testV1DataUpdateWith1Go(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "28807s", utils.OptsSessionsTTLLastUsed: "0s", utils.OptsSessionsTTLMaxDelay: "1800s", diff --git a/general_tests/dispatcher_opts_it_test.go b/general_tests/dispatcher_opts_it_test.go index 53aca2328..da4925673 100644 --- a/general_tests/dispatcher_opts_it_test.go +++ b/general_tests/dispatcher_opts_it_test.go @@ -168,10 +168,10 @@ func testDispatcherCgr2RPCConn(t *testing.T) { func testDispatcherCgr1CoreStatus(t *testing.T) { // HOST1 host matched :2012 - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", utils.MetaDispatchers: false, }, @@ -185,10 +185,10 @@ func testDispatcherCgr1CoreStatus(t *testing.T) { func testDispatcherCgr2CoreStatus(t *testing.T) { // HOST2 host matched because it was called from engine with port :4012 -> host2 - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", utils.MetaDispatchers: false, }, @@ -204,7 +204,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -212,7 +212,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := cgr2RPC.Call(utils.CacheSv1GetItem, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) @@ -225,7 +225,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -245,7 +245,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -303,7 +303,7 @@ func testDispatcherSetterSetDispatcherProfile(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -326,7 +326,7 @@ func testDispatcherSetterSetDispatcherProfile(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -355,7 +355,7 @@ func testDispatcherSetterSetDispatcherProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -367,10 +367,10 @@ func testDispatcherSetterSetDispatcherProfile(t *testing.T) { } func testDispatcherCgr2CoreStatusWithRouteID(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", }, } @@ -383,10 +383,10 @@ func testDispatcherCgr2CoreStatusWithRouteID(t *testing.T) { } func testDispatcherCgr1CoreStatusWithRouteIDSecondAttempt(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", }, } @@ -402,7 +402,7 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -410,12 +410,12 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := cgr2RPC.Call(utils.CacheSv1GetItem, argsCache, &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.Tenant: "cgrates.org", utils.ProfileID: "DSP1", "HostID": "HOST2", @@ -428,7 +428,7 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -440,17 +440,17 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.FilterIDs: nil, - "Hosts": []interface{}{ - map[string]interface{}{ + "Hosts": []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST1", utils.Params: nil, utils.Weight: 10., }, - map[string]interface{}{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -461,7 +461,7 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { utils.ActivationIntervalString: nil, utils.ID: "DSP1", utils.Strategy: "*weight", - utils.Subsystems: []interface{}{"*any"}, + utils.Subsystems: []any{"*any"}, "StrategyParams": nil, utils.Tenant: "cgrates.org", utils.Weight: 10., @@ -474,7 +474,7 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -492,7 +492,7 @@ func testDispatcherCgr2GetItemHOST2(t *testing.T) { func testDisaptcherCacheClear(t *testing.T) { var reply string if err := cgr1RPC.Call(utils.CacheSv1Clear, &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, }, &reply); err != nil { @@ -502,7 +502,7 @@ func testDisaptcherCacheClear(t *testing.T) { } if err := cgr2RPC.Call(utils.CacheSv1Clear, &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, }, &reply); err != nil { @@ -513,10 +513,10 @@ func testDisaptcherCacheClear(t *testing.T) { } func testDispatcherCgr1CoreStatusWithRouteIDButHost1(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", }, } @@ -532,7 +532,7 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -540,12 +540,12 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := cgr1RPC.Call(utils.CacheSv1GetItem, argsCache, &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.Tenant: "cgrates.org", utils.ProfileID: "DSP1", "HostID": "HOST1", @@ -558,7 +558,7 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -570,18 +570,18 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.ActivationIntervalString: nil, utils.FilterIDs: nil, - "Hosts": []interface{}{ - map[string]interface{}{ + "Hosts": []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST1", utils.Params: nil, utils.Weight: 10., }, - map[string]interface{}{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -591,7 +591,7 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { }, utils.ID: "DSP1", utils.Strategy: "*weight", - utils.Subsystems: []interface{}{"*any"}, + utils.Subsystems: []any{"*any"}, "StrategyParams": nil, utils.Tenant: "cgrates.org", utils.Weight: 10., @@ -604,7 +604,7 @@ func testDispatcherCgr1CheckCacheAfterRouting(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -638,7 +638,7 @@ func testDispatcherSetterSetDispatcherProfileOverwrite(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -654,7 +654,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, "adi3": "nu", }, @@ -663,7 +663,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} // Should receive NOT_FOUND, as CallCache that was called in API will remove the DispatcherRoute + var reply any // Should receive NOT_FOUND, as CallCache that was called in API will remove the DispatcherRoute if err := cgr1RPC.Call(utils.CacheSv1GetItem, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Unexpected error returned: %v", err) @@ -672,7 +672,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, "adi2": "nu", }, @@ -686,10 +686,10 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.FilterIDs: nil, - "Hosts": []interface{}{ - map[string]interface{}{ + "Hosts": []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -698,7 +698,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { }, }, "ActivationInterval": nil, - "Subsystems": []interface{}{"*any"}, + "Subsystems": []any{"*any"}, utils.ID: "DSP1", utils.Strategy: "*weight", "StrategyParams": nil, @@ -713,7 +713,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, "adi1": "nu", }, @@ -750,7 +750,7 @@ func testDispatcherSetterSetAnotherProifle(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -766,7 +766,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -774,7 +774,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any // NOT_FOUND if err := cgr1RPC.Call(utils.CacheSv1GetItem, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { @@ -784,7 +784,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -801,7 +801,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ diff --git a/general_tests/filtered_replication_it_test.go b/general_tests/filtered_replication_it_test.go index 638353fed..f8e1d577d 100644 --- a/general_tests/filtered_replication_it_test.go +++ b/general_tests/filtered_replication_it_test.go @@ -495,7 +495,7 @@ func testFltrRplThresholdProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", }, } @@ -682,7 +682,7 @@ func testFltrRplStatQueueProfile(t *testing.T) { sEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", utils.Usage: 45 * time.Second, }, @@ -701,7 +701,7 @@ func testFltrRplStatQueueProfile(t *testing.T) { sq.SQItems = []engine.SQItem{{ EventID: "event1", }} - s.AddEvent("event1", utils.MapStorage{utils.MetaReq: map[string]interface{}{utils.Usage: 45 * time.Second}}) + s.AddEvent("event1", utils.MapStorage{utils.MetaReq: map[string]any{utils.Usage: 45 * time.Second}}) replySq.SQItems[0].ExpiryTime = sq.SQItems[0].ExpiryTime if !reflect.DeepEqual(sq, replySq) { t.Errorf("Expecting : %s, received: %s", utils.ToJSON(sq), utils.ToJSON(replySq)) @@ -860,10 +860,10 @@ func testFltrRplResourceProfile(t *testing.T) { rEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, }, diff --git a/general_tests/filters_it_test.go b/general_tests/filters_it_test.go index f96cd2a03..6f0ebad55 100644 --- a/general_tests/filters_it_test.go +++ b/general_tests/filters_it_test.go @@ -148,7 +148,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -165,7 +165,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -182,7 +182,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 5 * time.Second, @@ -199,7 +199,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 6 * time.Second, @@ -216,7 +216,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -233,7 +233,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 11 * time.Second, @@ -251,7 +251,7 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 15 * time.Second, @@ -336,7 +336,7 @@ func testV1FltrGetThresholdForEvent(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010"}, } var ids []string @@ -397,7 +397,7 @@ func testV1FltrGetThresholdForEvent2(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010"}, } var ids []string @@ -439,11 +439,11 @@ func testV1FltrPopulateResources(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 3, }, @@ -504,7 +504,7 @@ func testV1FltrPopulateResources(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2020"}, } @@ -583,11 +583,11 @@ func testV1FltrPopulateResourcesAvailableUnits(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 9, }, @@ -652,7 +652,7 @@ func testV1FltrPopulateResourcesAvailableUnits(t *testing.T) { statsEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event_nr2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "1", }, @@ -772,7 +772,7 @@ func testV1FltrAccounts(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, } var ids []string @@ -858,7 +858,7 @@ func testV1FltrAccountsExistsDynamicaly(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, } var ids []string @@ -871,7 +871,7 @@ func testV1FltrAccountsExistsDynamicaly(t *testing.T) { tEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "non"}, } ids = nil @@ -931,15 +931,15 @@ func testV1FltrChargerSuffix(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "intraState", utils.RunID: "Intra", utils.Destination: "999", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, - utils.OptsAttributesProfileIDs: []interface{}{"*constant:*req.Subject:intraState"}, + utils.OptsAttributesProfileIDs: []any{"*constant:*req.Subject:intraState"}, }, }, }, @@ -947,7 +947,7 @@ func testV1FltrChargerSuffix(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_intra", utils.Destination: "999", @@ -969,15 +969,15 @@ func testV1FltrChargerSuffix(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "interState", utils.RunID: "Inter", utils.Destination: "999", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, - utils.OptsAttributesProfileIDs: []interface{}{"*constant:*req.Subject:interState"}, + utils.OptsAttributesProfileIDs: []any{"*constant:*req.Subject:interState"}, }, }, }, @@ -986,7 +986,7 @@ func testV1FltrChargerSuffix(t *testing.T) { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_inter", utils.Destination: "999", @@ -1031,12 +1031,12 @@ func testV1FltrAttributesPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.new", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "2007", "CustomField2": "+2007", utils.Destination: "+1207", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "prefix", }, }, @@ -1044,12 +1044,12 @@ func testV1FltrAttributesPrefix(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.new", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "+2007", "CustomField2": "+2007", utils.Destination: "+1207", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "prefix", }, } @@ -1126,10 +1126,10 @@ func testV1FltrPopulateTimings(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1FltrPopulateTimings", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: "2021-04-29T08:35:00Z", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaAny, utils.OptsAttributesProfileIDs: []string{"FltrTest"}, }, @@ -1140,11 +1140,11 @@ func testV1FltrPopulateTimings(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1FltrPopulateTimings", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: "2021-04-29T10:45:00Z", }, - APIOpts: map[string]interface{}{ - utils.OptsAttributesProfileIDs: []interface{}{"FltrTest"}, + APIOpts: map[string]any{ + utils.OptsAttributesProfileIDs: []any{"FltrTest"}, utils.OptsContext: utils.MetaAny, }, }, diff --git a/general_tests/filters_test.go b/general_tests/filters_test.go index 60e992d01..9c6dfd13c 100644 --- a/general_tests/filters_test.go +++ b/general_tests/filters_test.go @@ -99,10 +99,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } internalAPIerSv1Chan <- &v1.APIerSv1{DataManager: dmFilterPass} engine.SetConnManager(connMgr) - failEvent := map[string]interface{}{ + failEvent := map[string]any{ utils.Destination: "+5086517174963", } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ utils.Destination: "+4986517174963", } fEv := utils.MapStorage{utils.MetaReq: failEvent} diff --git a/general_tests/fltr_sep_it_test.go b/general_tests/fltr_sep_it_test.go index 65ccd64db..2d6259215 100644 --- a/general_tests/fltr_sep_it_test.go +++ b/general_tests/fltr_sep_it_test.go @@ -123,10 +123,10 @@ func testFltrSepFilterSeparation(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "filter_separation_test", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaAny, }, } diff --git a/general_tests/fraud_detection_it_test.go b/general_tests/fraud_detection_it_test.go index 454b809ab..c9adb3534 100644 --- a/general_tests/fraud_detection_it_test.go +++ b/general_tests/fraud_detection_it_test.go @@ -262,7 +262,7 @@ func testFraudAuthorizeandProcess1(t *testing.T) { originID := utils.GenUUID() cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -274,7 +274,7 @@ func testFraudAuthorizeandProcess1(t *testing.T) { utils.SetupTime: time.Date(2022, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := sessions.NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, true, @@ -286,7 +286,7 @@ func testFraudAuthorizeandProcess1(t *testing.T) { } cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -299,7 +299,7 @@ func testFraudAuthorizeandProcess1(t *testing.T) { utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 5 * time.Minute, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := fraudRPC.Call(utils.SessionSv1ProcessCDR, @@ -312,7 +312,7 @@ func testFraudAuthorizeandProcess2(t *testing.T) { originID := utils.GenUUID() cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -324,7 +324,7 @@ func testFraudAuthorizeandProcess2(t *testing.T) { utils.SetupTime: time.Date(2022, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := sessions.NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, true, @@ -336,7 +336,7 @@ func testFraudAuthorizeandProcess2(t *testing.T) { } cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -349,7 +349,7 @@ func testFraudAuthorizeandProcess2(t *testing.T) { utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 2 * time.Minute, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := fraudRPC.Call(utils.SessionSv1ProcessCDR, @@ -362,7 +362,7 @@ func testFraudAuthorizeandProcess3(t *testing.T) { originID := utils.GenUUID() cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -374,7 +374,7 @@ func testFraudAuthorizeandProcess3(t *testing.T) { utils.SetupTime: time.Date(2022, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := sessions.NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, true, @@ -386,7 +386,7 @@ func testFraudAuthorizeandProcess3(t *testing.T) { } cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -399,7 +399,7 @@ func testFraudAuthorizeandProcess3(t *testing.T) { utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 3 * time.Minute, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := fraudRPC.Call(utils.SessionSv1ProcessCDR, @@ -413,7 +413,7 @@ func testFraudAuthorizeandProcess3(t *testing.T) { func testFraudFinalAuthorize(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -425,7 +425,7 @@ func testFraudFinalAuthorize(t *testing.T) { utils.SetupTime: time.Date(2022, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2022, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := sessions.NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, true, diff --git a/general_tests/gocs_it_test.go b/general_tests/gocs_it_test.go index eb8fe3856..bfe6d6cb0 100644 --- a/general_tests/gocs_it_test.go +++ b/general_tests/gocs_it_test.go @@ -198,7 +198,7 @@ func testGOCSLoadData(t *testing.T) { Account: acntAttrs.Account, BalanceType: utils.MetaVoice, Value: 3540000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BALANCE1", utils.Weight: 20, }, @@ -226,7 +226,7 @@ func testGOCSAuthSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -256,7 +256,7 @@ func testGOCSInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -332,7 +332,7 @@ func testGOCSUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -409,7 +409,7 @@ func testGOCSUpdateSession2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -480,7 +480,7 @@ func testGOCSTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testGOCSTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -539,7 +539,7 @@ func testGOCSProcessCDR(t *testing.T) { Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", diff --git a/general_tests/libengine_it_test.go b/general_tests/libengine_it_test.go index 1ac0563cf..8b8689af0 100644 --- a/general_tests/libengine_it_test.go +++ b/general_tests/libengine_it_test.go @@ -105,7 +105,7 @@ func testLibengITRPCConnection(t *testing.T) { } args := &utils.DurationArgs{ Duration: 50 * time.Millisecond, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), Tenant: "cgrates.org", } var reply string diff --git a/general_tests/poster_it_test.go b/general_tests/poster_it_test.go index 557215b08..0b3584989 100644 --- a/general_tests/poster_it_test.go +++ b/general_tests/poster_it_test.go @@ -173,7 +173,7 @@ func testPosterITAMQP(t *testing.T) { t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) } body := ev.Events[0].([]byte) - var acc map[string]interface{} + var acc map[string]any if err := json.Unmarshal(body, &acc); err != nil { t.Fatal(err) } @@ -211,7 +211,7 @@ func testPosterITAMQPv1(t *testing.T) { t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) } body := ev.Events[0].([]byte) - var acc map[string]interface{} + var acc map[string]any if err := json.Unmarshal(body, &acc); err != nil { t.Fatal(err) } @@ -249,7 +249,7 @@ func testPosterITSQS(t *testing.T) { t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) } body := ev.Events[0].([]byte) - var acc map[string]interface{} + var acc map[string]any if err := json.Unmarshal(body, &acc); err != nil { t.Fatal(err) } @@ -287,7 +287,7 @@ func testPosterITS3(t *testing.T) { t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) } body := ev.Events[0].([]byte) - var acc map[string]interface{} + var acc map[string]any if err := json.Unmarshal(body, &acc); err != nil { t.Fatal(err) } @@ -325,7 +325,7 @@ func testPosterITKafka(t *testing.T) { t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) } body := ev.Events[0].([]byte) - var acc map[string]interface{} + var acc map[string]any if err := json.Unmarshal(body, &acc); err != nil { t.Fatal(err) } diff --git a/general_tests/redis_tls_it_test.go b/general_tests/redis_tls_it_test.go index f37f0a13c..39795178b 100644 --- a/general_tests/redis_tls_it_test.go +++ b/general_tests/redis_tls_it_test.go @@ -106,7 +106,7 @@ func testRedisTLSRPCCon(t *testing.T) { func testRedisTLSSetGetAttribute(t *testing.T) { // status command to check if the engine starts - var rply map[string]interface{} + var rply map[string]any if err := redisTLSRPC.Call(utils.CoreSv1Status, &utils.TenantWithAPIOpts{}, &rply); err != nil { t.Error(err) } diff --git a/general_tests/rerate_cdrs_it_test.go b/general_tests/rerate_cdrs_it_test.go index 3710d602d..56f1e949e 100644 --- a/general_tests/rerate_cdrs_it_test.go +++ b/general_tests/rerate_cdrs_it_test.go @@ -141,7 +141,7 @@ func testRerateCDRsSetBalance(t *testing.T) { Account: "1001", Value: float64(time.Minute), BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "1001", }, } @@ -184,7 +184,7 @@ func testRerateCDRsProcessEventCDR1(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "run_1", utils.CGRID: rrCdrsUUID, utils.Tenant: "cgrates.org", @@ -263,7 +263,7 @@ func testRerateCDRsProcessEventCDR2(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "run_2", utils.CGRID: rrCdrsUUID, utils.Tenant: "cgrates.org", diff --git a/general_tests/rerate_exp_it_test.go b/general_tests/rerate_exp_it_test.go index fcec75043..3d2fe38ee 100644 --- a/general_tests/rerate_exp_it_test.go +++ b/general_tests/rerate_exp_it_test.go @@ -168,7 +168,7 @@ func testRerateExpSetBalance(t *testing.T) { Account: "1001", Value: float64(time.Minute), BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "1001", }, } @@ -211,7 +211,7 @@ func testRerateExpProcessEventCDR1(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "run_1", utils.CGRID: ng1UUID, utils.Tenant: "cgrates.org", @@ -288,7 +288,7 @@ func testRerateExpProcessEventCDR2(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "run_2", utils.CGRID: ng1UUID, utils.Tenant: "cgrates.org", @@ -364,7 +364,7 @@ func testRerateExpProcessEventCDR3(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.RunID: "run_3", utils.CGRID: ng2UUID, utils.Tenant: "cgrates.org", diff --git a/general_tests/resourcesv1_it_test.go b/general_tests/resourcesv1_it_test.go index 5697e36b8..c365cedb0 100644 --- a/general_tests/resourcesv1_it_test.go +++ b/general_tests/resourcesv1_it_test.go @@ -133,11 +133,11 @@ func testV1RsAllocate(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_1", utils.OptsResourcesUnits: 1, }, @@ -153,11 +153,11 @@ func testV1RsAllocate(t *testing.T) { cgrEv2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_2", utils.OptsResourcesUnits: 1, }, @@ -175,11 +175,11 @@ func testV1RsAuthorize(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomUsageID", }, } @@ -208,11 +208,11 @@ func testV1RsAuthorize(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_1", utils.OptsResourcesUnits: 1, }, diff --git a/general_tests/route_it_test.go b/general_tests/route_it_test.go index 8873f84f2..501288147 100644 --- a/general_tests/route_it_test.go +++ b/general_tests/route_it_test.go @@ -165,7 +165,7 @@ func testV1SplSSetRouteProfilesWithoutRatingPlanIDs(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetLeastCostSuppliers", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "accc", utils.Subject: "1003", utils.Destination: "1002", @@ -342,12 +342,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route1", "ResID": "ResourceSupplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID", utils.OptsResourcesUnits: 4, }, @@ -364,12 +364,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route1", "ResID": "Resource2Supplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID2", utils.OptsResourcesUnits: 7, }, @@ -386,12 +386,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route2", "ResID": "ResourceSupplier2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID3", utils.OptsResourcesUnits: 7, }, @@ -408,12 +408,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event4", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route3", "ResID": "ResourceSupplier3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID4", utils.OptsResourcesUnits: 7, }, @@ -433,7 +433,7 @@ func testV1SplSGetSortedRoutes(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSortedRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "ResourceTest", }, } @@ -515,7 +515,7 @@ func testV1SplSGetSortedRoutes2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSortedSuppliers2", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "ResourceDescendent", }, } @@ -548,7 +548,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier1", }, @@ -563,7 +563,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier1", }, @@ -590,7 +590,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier2", }, @@ -605,7 +605,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event4", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier2", }, @@ -628,7 +628,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event5", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -643,7 +643,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event6", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -658,7 +658,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event7", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -686,7 +686,7 @@ func testV1SplSGetSoredRoutesWithLoad(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSoredSuppliersWithLoad", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "LoadDistStrategy", }, } @@ -695,7 +695,7 @@ func testV1SplSGetSoredRoutesWithLoad(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 2.0, "Ratio": 7.0, "Weight": 20.0}, @@ -703,7 +703,7 @@ func testV1SplSGetSoredRoutesWithLoad(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 3.0, "Ratio": 5.0, "Weight": 35.0}, @@ -711,7 +711,7 @@ func testV1SplSGetSoredRoutesWithLoad(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 2.0, "Ratio": 2.0, "Weight": 10.0}, diff --git a/general_tests/routes_cases_it_test.go b/general_tests/routes_cases_it_test.go index a18c8f463..0d3bb5bf0 100644 --- a/general_tests/routes_cases_it_test.go +++ b/general_tests/routes_cases_it_test.go @@ -397,7 +397,7 @@ func testV1RtsCasesSortingRoutesWeightAccountValue(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -408,13 +408,13 @@ func testV1RtsCasesSortingRoutesWeightAccountValue(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20., }, }, @@ -434,7 +434,7 @@ func testV1RtsCasesSortingRoutesWeightAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1003", }, @@ -446,25 +446,25 @@ func testV1RtsCasesSortingRoutesWeightAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 40., }, }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, }, @@ -487,7 +487,7 @@ func testV1RtsCasesSortingRoutesWeightNotMatchingValue(t *testing.T) { Account: "1001", BalanceType: utils.MetaMonetary, Value: 5, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, }, } @@ -502,7 +502,7 @@ func testV1RtsCasesSortingRoutesWeightNotMatchingValue(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1003", }, @@ -514,19 +514,19 @@ func testV1RtsCasesSortingRoutesWeightNotMatchingValue(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 40., }, }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, }, @@ -546,7 +546,7 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -560,7 +560,7 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 10., @@ -568,7 +568,7 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2505, utils.RatingPlanID: "RP_VENDOR1", utils.Weight: 0., @@ -592,7 +592,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -606,7 +606,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.0498, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 10., @@ -614,7 +614,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1002, utils.RatingPlanID: "RP_VENDOR1", utils.Weight: 0., @@ -622,7 +622,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6, utils.RatingPlanID: "RP_STANDARD", utils.Weight: 30., @@ -646,10 +646,10 @@ func testV1RtsCasesSortingRoutesLCSetStatsAndResForMatching(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 6, }, @@ -668,7 +668,7 @@ func testV1RtsCasesSortingRoutesLCSetStatsAndResForMatching(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor2", utils.Usage: "2m30s", @@ -692,7 +692,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -707,7 +707,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 10., @@ -715,7 +715,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 0., @@ -723,7 +723,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.5, utils.RatingPlanID: "RP_STANDARD", utils.Weight: 30., @@ -747,10 +747,10 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { evRes := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 4, }, @@ -766,7 +766,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -781,7 +781,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 10., @@ -789,7 +789,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 0., @@ -797,7 +797,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2505, utils.RatingPlanID: "RP_VENDOR1", utils.Weight: 0., @@ -805,7 +805,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.5, utils.RatingPlanID: "RP_STANDARD", utils.Weight: 30., @@ -827,14 +827,14 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", utils.AnswerTime: "2013-06-01T05:00:00Z", utils.Usage: "2m30s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: 0.35, }, } @@ -845,7 +845,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 10., @@ -853,7 +853,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1245, utils.RatingPlanID: "RP_VENDOR2", utils.Weight: 0., @@ -861,7 +861,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2505, utils.RatingPlanID: "RP_VENDOR1", utils.Weight: 0., @@ -883,14 +883,14 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCostNotMatch(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", utils.SetupTime: "2013-06-01T00:00:00Z", utils.AnswerTime: "2013-06-01T05:00:00Z", utils.Usage: "2m30s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: 0.05, }, } @@ -908,7 +908,7 @@ func testV1RtsCasesSortingRoutesProcessMetrics(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor2", utils.Usage: "2m30s", @@ -941,7 +941,7 @@ func testV1RtsCasesSortingRoutesProcessMetrics(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor1", utils.Usage: "2m30s", @@ -974,7 +974,7 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -989,7 +989,7 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1001,7 +1001,7 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 2., @@ -1027,7 +1027,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor1", utils.Usage: "2m30s", @@ -1044,7 +1044,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -1059,7 +1059,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 4., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1070,7 +1070,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 4., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1081,7 +1081,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1107,7 +1107,7 @@ func testV1RtsCasesSortingRoutesQOSNotFound(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -1126,10 +1126,10 @@ func testV1RtsCasesSortingRoutesAllocateResources(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 6, }, @@ -1145,10 +1145,10 @@ func testV1RtsCasesSortingRoutesAllocateResources(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 7, }, @@ -1165,7 +1165,7 @@ func testV1RtsCasesSortingRoutesReasNotAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Destination: "1007", }, @@ -1177,14 +1177,14 @@ func testV1RtsCasesSortingRoutesReasNotAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 6.0, utils.Weight: 0., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 0., }, @@ -1205,10 +1205,10 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 9, }, @@ -1224,7 +1224,7 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Destination: "1007", }, @@ -1236,21 +1236,21 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 10., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 0., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 9.0, utils.Weight: 0., }, @@ -1274,7 +1274,7 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ //utils.AccountField: "1004", utils.Category: "vendor1", utils.Usage: "1m20s", @@ -1297,7 +1297,7 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ //utils.AccountField: "1004", utils.Category: "vendor1", utils.Usage: "20s", @@ -1322,7 +1322,7 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ //utils.AccountField: "1004", utils.Category: "vendor2", utils.Usage: "30s", @@ -1345,7 +1345,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1005", //utils.Destination: "1007", }, @@ -1357,7 +1357,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 2., utils.Ratio: 2., utils.Weight: 0., @@ -1365,7 +1365,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 4., utils.Ratio: 2., utils.Weight: 10., @@ -1373,7 +1373,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 7., utils.Ratio: 3., utils.Weight: 0., @@ -1395,7 +1395,7 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -1409,7 +1409,7 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.34235, utils.RatingPlanID: "RP_VENDOR1", utils.ResourceUsage: 9., @@ -1418,7 +1418,7 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.34235, utils.RatingPlanID: "RP_VENDOR1", utils.ResourceUsage: 7., @@ -1444,10 +1444,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 7, }, @@ -1462,10 +1462,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 7, }, @@ -1480,10 +1480,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 1, }, @@ -1499,10 +1499,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 4, }, @@ -1519,7 +1519,7 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -1533,7 +1533,7 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.34235, utils.RatingPlanID: "RP_VENDOR1", utils.ResourceUsage: 1., @@ -1542,7 +1542,7 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.17015, utils.RatingPlanID: "RP_VENDOR2", utils.ResourceUsage: 1., @@ -1566,9 +1566,9 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 9, }, @@ -1583,7 +1583,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", utils.SetupTime: "2013-06-01T00:00:00Z", @@ -1597,7 +1597,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.34235, utils.RatingPlanID: "RP_VENDOR1", utils.ResourceUsage: 9., @@ -1606,7 +1606,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.34235, utils.RatingPlanID: "RP_VENDOR1", utils.ResourceUsage: 1., @@ -1615,7 +1615,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.17015, utils.RatingPlanID: "RP_VENDOR2", utils.ResourceUsage: 1., diff --git a/general_tests/rpccaching_it_test.go b/general_tests/rpccaching_it_test.go index a8a6b626f..583fc9bd5 100644 --- a/general_tests/rpccaching_it_test.go +++ b/general_tests/rpccaching_it_test.go @@ -206,7 +206,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsAuthorizeSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsAuthorizeSession", @@ -233,7 +233,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -278,7 +278,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -298,7 +298,7 @@ func testRPCMethodsInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsInitSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsInitSession", @@ -326,7 +326,7 @@ func testRPCMethodsInitSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -372,7 +372,7 @@ func testRPCMethodsInitSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -392,7 +392,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsUpdateSession", @@ -420,7 +420,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -465,7 +465,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -484,7 +484,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsTerminateSession", @@ -507,7 +507,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { } //replace event with empty - args.CGREvent.Event = map[string]interface{}{} + args.CGREvent.Event = map[string]any{} if err := rpcRpc.Call(utils.SessionSv1TerminateSession, args, &rply); err != nil { @@ -530,7 +530,7 @@ func testRPCMethodsProcessCDR(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsProcessCDR", @@ -603,7 +603,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsProcessEvent", @@ -630,7 +630,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -676,7 +676,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -694,7 +694,7 @@ func testRPCMethodsCdrsProcessCDR(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsCdrsProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginHost: "host", diff --git a/general_tests/rpcclient_it_test.go b/general_tests/rpcclient_it_test.go index f117061a3..504c8d97c 100644 --- a/general_tests/rpcclient_it_test.go +++ b/general_tests/rpcclient_it_test.go @@ -135,7 +135,7 @@ func testRPCITLclRpcConnPoolFirst(t *testing.T) { // Connect rpc client to rater func testRPCITLclStatusSecondEngine(t *testing.T) { - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -157,7 +157,7 @@ func testRPCITLclStartFirstEngine(t *testing.T) { // Connect rpc client to rater func testRPCITLclStatusFirstInitial(t *testing.T) { - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -178,7 +178,7 @@ func testRPCITLclStatusFirstFailover(t *testing.T) { t.Error(err) } time.Sleep(time.Duration(*waitRater) * time.Millisecond) - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -197,7 +197,7 @@ func testRPCITLclStatusFirstFailback(t *testing.T) { if ral1, err = engine.StartEngine(rpcITCfgPath1, *waitRater); err != nil { t.Fatal(err) } - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == node2 { @@ -219,7 +219,7 @@ func testRPCITLclTDirectedRPC(t *testing.T) { } // func testRPCITLclTimeout(t *testing.T) { -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, "10s", &status); err == nil { // t.Error("Expecting timeout") // } else if err.Error() != rpcclient.ErrReplyTimeout.Error() { @@ -235,7 +235,7 @@ func testRPCITLclRpcConnPoolBcast(t *testing.T) { } func testRPCITLclBcastStatusInitial(t *testing.T) { - var status map[string]interface{} + var status map[string]any if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -253,7 +253,7 @@ func testRPCITLclBcastStatusNoRals1(t *testing.T) { t.Error(err) } time.Sleep(time.Duration(*waitRater) * time.Millisecond) - var status map[string]interface{} + var status map[string]any if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -271,7 +271,7 @@ func testRPCITLclBcastStatusBcastNoRals(t *testing.T) { t.Error(err) } time.Sleep(time.Duration(*waitRater) * time.Millisecond) - var status map[string]interface{} + var status map[string]any if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err == nil { t.Error("Should get error") } @@ -281,7 +281,7 @@ func testRPCITLclBcastStatusRALs2Up(t *testing.T) { if ral2, err = engine.StartEngine(rpcITCfgPath2, *waitRater); err != nil { t.Fatal(err) } - var status map[string]interface{} + var status map[string]any if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -298,7 +298,7 @@ func testRPCITLclStatusBcastRALs1Up(t *testing.T) { if ral1, err = engine.StartEngine(rpcITCfgPath1, *waitRater); err != nil { t.Fatal(err) } - var status map[string]interface{} + var status map[string]any if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -371,7 +371,7 @@ func TestRPCITRmtStatusFirstInitial(t *testing.T) { if !*testRemoteRALs { return } - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -395,7 +395,7 @@ func TestRPCITRmtStatusFirstFailover(t *testing.T) { time.Sleep(time.Second) } fmt.Println("\n\nExecuting query ...") - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { @@ -423,7 +423,7 @@ func TestRPCITRmtStatusFirstFailback(t *testing.T) { time.Sleep(time.Second) } fmt.Println("\n\nExecuting query ...") - var status map[string]interface{} + var status map[string]any if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { t.Error(err) } else if status[utils.NodeID].(string) == "" { diff --git a/general_tests/session2_it_test.go b/general_tests/session2_it_test.go index 8245dbee6..918ec0310 100644 --- a/general_tests/session2_it_test.go +++ b/general_tests/session2_it_test.go @@ -123,7 +123,7 @@ func testSes2ItInitSession(t *testing.T) { Account: "1001", BalanceType: utils.MetaVoice, Value: float64(time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", }, } @@ -139,7 +139,7 @@ func testSes2ItInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.OriginID: utils.UUIDSha1Prefix(), utils.ToR: utils.MetaVoice, @@ -192,7 +192,7 @@ func testSes2StirAuthenticate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSes2StirAuthorize", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "testSes2StirAuthorize", utils.RequestType: utils.MetaPrepaid, @@ -201,7 +201,7 @@ func testSes2StirAuthenticate(t *testing.T) { utils.Destination: "1002", utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStirIdentity: "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiL3Vzci9zaGFyZS9jZ3JhdGVzL3N0aXIvc3Rpcl9wdWJrZXkucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxMDAyIl19LCJpYXQiOjE1ODcwMzg4MDIsIm9yaWciOnsidG4iOiIxMDAxIn0sIm9yaWdpZCI6IjEyMzQ1NiJ9.cMEMlFnfyTu8uxfeU4RoZTamA7ifFT9Ibwrvi1_LKwL2xAU6fZ_CSIxKbtyOpNhM_sV03x7CfA_v0T4sHkifzg;info=;ppt=shaken", }, }, @@ -233,7 +233,7 @@ func testSes2StirInit(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSes2StirInit", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "testSes2StirInit", utils.RequestType: utils.MetaPrepaid, @@ -242,7 +242,7 @@ func testSes2StirInit(t *testing.T) { utils.Destination: "1002", utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStirPublicKeyPath: "/usr/share/cgrates/stir/stir_pubkey.pem", utils.OptsStirPrivateKeyPath: "/usr/share/cgrates/stir/stir_privatekey.pem", }, diff --git a/general_tests/session3_it_test.go b/general_tests/session3_it_test.go index 15e9226a2..8329e41e1 100644 --- a/general_tests/session3_it_test.go +++ b/general_tests/session3_it_test.go @@ -134,7 +134,7 @@ func testSes3ItProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -147,7 +147,7 @@ func testSes3ItProcessEvent(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -170,7 +170,7 @@ func testSes3ItProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -184,7 +184,7 @@ func testSes3ItProcessEvent(t *testing.T) { utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaSessionS, utils.OptsAPIKey: "ses12345", utils.MetaEventType: utils.StatUpdate, @@ -275,7 +275,7 @@ func testSes3ItAddVoiceBalance(t *testing.T) { Account: "1002", BalanceType: utils.MetaVoice, Value: 5 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -307,7 +307,7 @@ func testSes3ItTerminatWithoutInit(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSesItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -338,7 +338,7 @@ func testSes3ItTerminatWithoutInit(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSesItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -388,7 +388,7 @@ func testSes3ItCDRs(t *testing.T) { if err := ses3RPC.Call(utils.SessionSv1ProcessCDR, &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSesItProccesCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, diff --git a/general_tests/session4_it_test.go b/general_tests/session4_it_test.go index 2f3afc232..dbdae599b 100644 --- a/general_tests/session4_it_test.go +++ b/general_tests/session4_it_test.go @@ -132,7 +132,7 @@ func testSes4CDRsProcessCDR(t *testing.T) { Flags: []string{utils.MetaRALs, utils.MetaStore, "*routes:false", utils.MetaRerate}, CGREvent: utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testV2CDRsProcessCDR1", utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR", diff --git a/general_tests/session_graceful_shutdown_it_test.go b/general_tests/session_graceful_shutdown_it_test.go index e4d9d4d05..5339042d7 100644 --- a/general_tests/session_graceful_shutdown_it_test.go +++ b/general_tests/session_graceful_shutdown_it_test.go @@ -178,7 +178,7 @@ func testSessionSRplcApierGetInitateSessions(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaNone, utils.CGRID: "testSessionRplCGRID", diff --git a/general_tests/session_it_test.go b/general_tests/session_it_test.go index 954e87a2d..c3aadbe90 100644 --- a/general_tests/session_it_test.go +++ b/general_tests/session_it_test.go @@ -135,7 +135,7 @@ func testSesItAddVoiceBalance(t *testing.T) { Account: sesAccount, BalanceType: utils.MetaMonetary, Value: 0, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero1s", }, @@ -155,7 +155,7 @@ func testSesItInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: sesTenant, ID: "TestSesItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: sesTenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -187,7 +187,7 @@ func testSesItTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: sesTenant, ID: "TestSesItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: sesTenant, utils.Category: "call", utils.ToR: utils.MetaVoice, diff --git a/general_tests/session_money_rating_subject_it_test.go b/general_tests/session_money_rating_subject_it_test.go index b0e7806c4..90268c1a2 100644 --- a/general_tests/session_money_rating_subject_it_test.go +++ b/general_tests/session_money_rating_subject_it_test.go @@ -42,7 +42,7 @@ var ( sesMRSCgrEv = &utils.CGREvent{ Tenant: sesMRSTenant, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: sesMRSTenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -53,7 +53,7 @@ var ( utils.SetupTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: 0, utils.OptsDebitInterval: time.Second, }, @@ -147,7 +147,7 @@ func testSesMRSItAddVoiceBalance(t *testing.T) { Account: sesMRSAccount, BalanceType: utils.MetaMonetary, Value: float64(time.Hour - 5*time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBal1", utils.RatingSubject: "*zero1s", }, @@ -164,7 +164,7 @@ func testSesMRSItAddVoiceBalance(t *testing.T) { Account: sesMRSAccount, BalanceType: utils.MetaVoice, Value: float64(5 * time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBal2", utils.RatingSubject: "*zero1s", utils.Weight: 10, diff --git a/general_tests/session_nonereq_it_test.go b/general_tests/session_nonereq_it_test.go index 322646fde..e0a6b6dda 100644 --- a/general_tests/session_nonereq_it_test.go +++ b/general_tests/session_nonereq_it_test.go @@ -129,7 +129,7 @@ func testSesNoneReqTypeItInit(t *testing.T) { InitSession: true, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "cgrID", utils.Category: utils.Call, utils.ToR: utils.MetaVoice, @@ -142,7 +142,7 @@ func testSesNoneReqTypeItInit(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "0s", }, }, diff --git a/general_tests/session_refund_expired_it_test.go b/general_tests/session_refund_expired_it_test.go index f95438ee6..5912e27ed 100644 --- a/general_tests/session_refund_expired_it_test.go +++ b/general_tests/session_refund_expired_it_test.go @@ -42,7 +42,7 @@ var ( sesExpCgrEv = &utils.CGREvent{ Tenant: sesExpTenant, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: sesExpTenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -54,7 +54,7 @@ var ( utils.SetupTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: 0, utils.OptsDebitInterval: time.Second, }, @@ -150,7 +150,7 @@ func testSesExpItAddVoiceBalance(t *testing.T) { Account: sesExpAccount, BalanceType: utils.MetaVoice, Value: float64(time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBal1", utils.RatingSubject: "*zero1s", }, @@ -166,7 +166,7 @@ func testSesExpItAddVoiceBalance(t *testing.T) { Account: sesExpAccount, BalanceType: utils.MetaVoice, Value: float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBalExpire", utils.RatingSubject: "*zero1s", utils.ExpiryTime: time.Now().Add(50 * time.Millisecond), diff --git a/general_tests/session_replications_automaticdebit_it_test.go b/general_tests/session_replications_automaticdebit_it_test.go index 6cb51cf37..2e5136439 100644 --- a/general_tests/session_replications_automaticdebit_it_test.go +++ b/general_tests/session_replications_automaticdebit_it_test.go @@ -83,7 +83,7 @@ func testSessionSRplAddVoiceBalance(t *testing.T) { Account: "1005", BalanceType: utils.MetaVoice, Value: 5 * float64(time.Second), //value -> 20ms for future - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -178,7 +178,7 @@ func testSessionSRplInitiate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplInitiate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -357,7 +357,7 @@ func testSessionSRplTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", diff --git a/general_tests/session_rounding_it_test.go b/general_tests/session_rounding_it_test.go index 763c39ef0..8f3489730 100644 --- a/general_tests/session_rounding_it_test.go +++ b/general_tests/session_rounding_it_test.go @@ -47,7 +47,7 @@ var ( sesRndCgrEv = &utils.CGREvent{ Tenant: sesRndTenant, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: sesRndTenant, utils.Category: utils.Call, utils.ToR: utils.MetaVoice, @@ -57,7 +57,7 @@ var ( utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: 0, utils.OptsDebitInterval: time.Second, }, @@ -300,7 +300,7 @@ func testSesRndItAddVoiceBalance(t *testing.T) { Account: sesRndAccount, BalanceType: utils.MetaMonetary, Value: float64(time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBal1", }, }, &reply); err != nil { diff --git a/general_tests/session_rpl_prepaid_it_test.go b/general_tests/session_rpl_prepaid_it_test.go index bf67eff79..86331338d 100644 --- a/general_tests/session_rpl_prepaid_it_test.go +++ b/general_tests/session_rpl_prepaid_it_test.go @@ -115,7 +115,7 @@ func testSeSRplPrepaidTPFromFolder(t *testing.T) { Account: "1005", BalanceType: utils.MetaVoice, Value: 5 * float64(time.Hour), //value -> 20ms for future - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestRplDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -146,7 +146,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { Tenant: "cgrates.org", ResourceID: "testSeSRplPrepaidActivateSessions", DebitInterval: time.Second, - EventStart: engine.NewMapEvent(map[string]interface{}{ + EventStart: engine.NewMapEvent(map[string]any{ utils.CGRID: "ede927f8e42318a8db02c0f74adc2d9e16770339", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -158,7 +158,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), }), SRuns: []*sessions.SRun{{ - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ utils.RunID: utils.MetaRaw, utils.CGRID: "ede927f8e42318a8db02c0f74adc2d9e16770339", utils.Category: "call", @@ -233,7 +233,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { LastUsage: time.Second, TotalUsage: time.Second, }}, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.DebitInterval: "5ms", }, Chargeable: true, diff --git a/general_tests/sessionpause_it_test.go b/general_tests/sessionpause_it_test.go index 90ba22845..3f2021e20 100644 --- a/general_tests/sessionpause_it_test.go +++ b/general_tests/sessionpause_it_test.go @@ -123,7 +123,7 @@ func testSesPauseItInitSession(t *testing.T, cgrID string, chargeable bool, usag InitSession: true, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: cgrID, utils.Category: utils.Call, utils.ToR: utils.MetaVoice, @@ -136,7 +136,7 @@ func testSesPauseItInitSession(t *testing.T, cgrID string, chargeable bool, usag utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "0s", utils.OptsChargeable: chargeable, }, @@ -157,7 +157,7 @@ func testSesPauseItUpdateSession(t *testing.T, cgrID string, chargeable bool, us UpdateSession: true, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: cgrID, utils.Category: utils.Call, utils.ToR: utils.MetaVoice, @@ -170,7 +170,7 @@ func testSesPauseItUpdateSession(t *testing.T, cgrID string, chargeable bool, us utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsChargeable: chargeable, }, }, @@ -190,7 +190,7 @@ func testSesPauseItTerminateSession(t *testing.T, cgrID string, chargeable bool, TerminateSession: true, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: cgrID, utils.Category: utils.Call, utils.ToR: utils.MetaVoice, @@ -203,7 +203,7 @@ func testSesPauseItTerminateSession(t *testing.T, cgrID string, chargeable bool, utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsChargeable: chargeable, }, }, @@ -219,7 +219,7 @@ func testSesPauseItTerminateSession(t *testing.T, cgrID string, chargeable bool, if err := sesPauseRPC.Call(utils.SessionSv1ProcessCDR, &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSesPauseItProccesCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: cgrID, utils.Category: utils.Call, utils.ToR: utils.MetaVoice, diff --git a/general_tests/sessionrefund_it_test.go b/general_tests/sessionrefund_it_test.go index a17f6a6e8..be06059fc 100644 --- a/general_tests/sessionrefund_it_test.go +++ b/general_tests/sessionrefund_it_test.go @@ -137,7 +137,7 @@ func testSrItAddVoiceBalance(t *testing.T) { Account: sraccount, BalanceType: utils.MetaVoice, Value: 5 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -160,7 +160,7 @@ func testSrItInitSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: srtenant, ID: "TestSrItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: srtenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -194,7 +194,7 @@ func testSrItTerminateSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: srtenant, ID: "TestSrItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: srtenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -234,7 +234,7 @@ func testSrItAddMonetaryBalance(t *testing.T) { Account: sraccount, BalanceType: utils.MetaMonetary, Value: 10.65, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, }, } @@ -254,7 +254,7 @@ func testSrItInitSession2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: srtenant, ID: "TestSrItInitiateSession1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: srtenant, utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -287,7 +287,7 @@ func testSrItTerminateSession2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: srtenant, ID: "TestSrItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: srtenant, utils.Category: "call", utils.ToR: utils.MetaVoice, diff --git a/general_tests/sessionroutes_it_test.go b/general_tests/sessionroutes_it_test.go index 7580432ed..57ba3059d 100644 --- a/general_tests/sessionroutes_it_test.go +++ b/general_tests/sessionroutes_it_test.go @@ -119,7 +119,7 @@ func testSesRoutesItLoadFromFolder(t *testing.T) { func testSesRoutesAuthorizeEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Source: "testV4CDRsProcessCDR", utils.OriginID: "testV4CDRsProcessCDR", utils.OriginHost: "192.168.1.1", @@ -132,7 +132,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), utils.Usage: time.Minute, }, - APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, + APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, } args := sessions.NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, false, @@ -150,7 +150,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -158,7 +158,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., @@ -166,7 +166,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { }, { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 1.2, "RatingPlanID": "RP_RETAIL1", "Weight": 20., @@ -200,7 +200,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -208,7 +208,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., @@ -250,7 +250,7 @@ func testSesRoutesAuthorizeEvent(t *testing.T) { func testSesRoutesProcessMessage(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Source: "testV4CDRsProcessCDR", utils.OriginID: "testV4CDRsProcessCDR", utils.OriginHost: "192.168.1.1", @@ -263,7 +263,7 @@ func testSesRoutesProcessMessage(t *testing.T) { utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), utils.Usage: time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 1, }, } @@ -284,7 +284,7 @@ func testSesRoutesProcessMessage(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -292,7 +292,7 @@ func testSesRoutesProcessMessage(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., @@ -300,7 +300,7 @@ func testSesRoutesProcessMessage(t *testing.T) { }, { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 1.2, "RatingPlanID": "RP_RETAIL1", "Weight": 20., @@ -335,7 +335,7 @@ func testSesRoutesProcessMessage(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -343,7 +343,7 @@ func testSesRoutesProcessMessage(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., @@ -385,7 +385,7 @@ func testSesRoutesProcessMessage(t *testing.T) { func testSesRoutesProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Source: "testV4CDRsProcessCDR", utils.OriginID: "testV4CDRsProcessCDR", utils.OriginHost: "192.168.1.1", @@ -398,7 +398,7 @@ func testSesRoutesProcessEvent(t *testing.T) { utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), utils.Usage: time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfileCount: 1, }, } @@ -421,7 +421,7 @@ func testSesRoutesProcessEvent(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -429,7 +429,7 @@ func testSesRoutesProcessEvent(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., @@ -437,7 +437,7 @@ func testSesRoutesProcessEvent(t *testing.T) { }, { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 1.2, "RatingPlanID": "RP_RETAIL1", "Weight": 20., @@ -476,7 +476,7 @@ func testSesRoutesProcessEvent(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 15., @@ -484,7 +484,7 @@ func testSesRoutesProcessEvent(t *testing.T) { }, { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": 0.0102, "RatingPlanID": "RP_SPECIAL_1002", "Weight": 10., diff --git a/general_tests/sessions_benchmark_it_test.go b/general_tests/sessions_benchmark_it_test.go index 1d929c2cf..1eb0ccb4b 100644 --- a/general_tests/sessions_benchmark_it_test.go +++ b/general_tests/sessions_benchmark_it_test.go @@ -123,8 +123,8 @@ func setAccounts(t *testing.T, n int) (err error) { return nil } -func getAccounts(ids []string) (accounts *[]interface{}, err error) { - var reply *[]interface{} +func getAccounts(ids []string) (accounts *[]any, err error) { + var reply *[]any attr := &utils.AttrGetAccounts{ Tenant: "cgrates.org", @@ -144,7 +144,7 @@ func setAccBalance(acc string) (err error) { Account: acc, BalanceType: utils.MetaVoice, Value: float64(24 * time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestBalance", utils.RatingSubject: "*zero1ms", }, @@ -170,7 +170,7 @@ func initSes(n int) (err error) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.OriginID: utils.UUIDSha1Prefix(), utils.ToR: utils.MetaVoice, @@ -182,7 +182,7 @@ func initSes(n int) (err error) { utils.RequestType: utils.MetaPrepaid, utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: 2 * time.Second, }, }, @@ -212,7 +212,7 @@ func testSesPItBenchmark(t *testing.T) { RunID: "runID1", AttributeIDs: []string{"*none"}, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := sesPRPC.Call(utils.APIerSv1SetChargerProfile, args, &reply); err != nil { t.Error(err) @@ -227,7 +227,7 @@ func testSesPItBenchmark(t *testing.T) { RunID: "runID2", AttributeIDs: []string{"*none"}, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := sesPRPC.Call(utils.APIerSv1SetChargerProfile, args2, &reply); err != nil { @@ -245,7 +245,7 @@ func testSesPItBenchmark(t *testing.T) { if err := initSes(n); err != nil { t.Error(err) } - var statusRpl map[string]interface{} + var statusRpl map[string]any if err := sesPRPC.Call(utils.CoreSv1Status, nil, &statusRpl); err != nil { t.Error(err) diff --git a/general_tests/sessions_concur_test.go b/general_tests/sessions_concur_test.go index b7be80d41..0db15741d 100644 --- a/general_tests/sessions_concur_test.go +++ b/general_tests/sessions_concur_test.go @@ -160,7 +160,7 @@ func testSCncrRunSessions(t *testing.T) { Account: acntID, BalanceType: utils.MetaVoice, Value: float64(bufferTopup.Nanoseconds()), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BUFFER", }, } @@ -211,7 +211,7 @@ func testRunSession(t *testing.T) { Account: acntID, BalanceType: utils.MetaVoice, Value: float64(mainTopup.Nanoseconds()), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "MAIN", utils.Weight: 10, }, @@ -231,7 +231,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrAuth%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.OriginID: originID, utils.RequestType: utils.MetaPrepaid, @@ -257,7 +257,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrInit%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.RequestType: utils.MetaPrepaid, utils.AccountField: acntID, @@ -287,7 +287,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrUpdate%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.InitialOriginID: initOriginID, utils.Usage: updtUsage, @@ -310,7 +310,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrTerminate%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.Usage: 90 * time.Second, }, @@ -331,7 +331,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrCDR%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, }, }, diff --git a/general_tests/sessions_message_it_test.go b/general_tests/sessions_message_it_test.go index 9018436be..52d02de15 100644 --- a/general_tests/sessions_message_it_test.go +++ b/general_tests/sessions_message_it_test.go @@ -138,7 +138,7 @@ func testSesMFDItAddVoiceBalance(t *testing.T) { Account: "1001", BalanceType: utils.MetaSMS, Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSesBal1", utils.RatingSubject: "*zero1", }, @@ -170,7 +170,7 @@ func testSesMFDItProcessMessage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: utils.UUIDSha1Prefix(), utils.ToR: utils.MetaSMS, utils.Category: utils.MetaSMS, diff --git a/general_tests/sessions_race_test.go b/general_tests/sessions_race_test.go index f426b475b..04904f14e 100644 --- a/general_tests/sessions_race_test.go +++ b/general_tests/sessions_race_test.go @@ -48,7 +48,7 @@ var ( // and will read forever the Event map type raceConn struct{} -func (_ raceConn) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (_ raceConn) Call(serviceMethod string, args any, reply any) (err error) { cgrev := args.(*utils.CGREvent) for { for k := range cgrev.Event { @@ -137,7 +137,7 @@ func TestSessionSRace(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -162,7 +162,7 @@ func TestSessionSRace(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", diff --git a/general_tests/sessions_tnt_change_cdr_it_test.go b/general_tests/sessions_tnt_change_cdr_it_test.go index a76342a86..f731d2919 100644 --- a/general_tests/sessions_tnt_change_cdr_it_test.go +++ b/general_tests/sessions_tnt_change_cdr_it_test.go @@ -173,7 +173,7 @@ func testChargerSCdrsAuthProcessEventAuth(t *testing.T) { Account: "1001", BalanceType: utils.MetaVoice, Value: float64(2 * time.Minute), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSes", utils.RatingSubject: "*zero1ms", }, @@ -190,7 +190,7 @@ func testChargerSCdrsAuthProcessEventAuth(t *testing.T) { Account: "1234", BalanceType: utils.MetaVoice, Value: float64(2 * time.Minute), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSes", utils.RatingSubject: "*zero1ms", }, @@ -206,7 +206,7 @@ func testChargerSCdrsAuthProcessEventAuth(t *testing.T) { CGREvent: utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "TestEv1", utils.RequestType: utils.MetaPrepaid, diff --git a/general_tests/sessions_tnt_change_it_test.go b/general_tests/sessions_tnt_change_it_test.go index a00bd0e2a..e0295a656 100644 --- a/general_tests/sessions_tnt_change_it_test.go +++ b/general_tests/sessions_tnt_change_it_test.go @@ -173,7 +173,7 @@ func testChargerSAuthProcessEventAuth(t *testing.T) { Account: "1001", BalanceType: utils.MetaVoice, Value: float64(2 * time.Minute), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSes", utils.RatingSubject: "*zero1ms", }, @@ -190,7 +190,7 @@ func testChargerSAuthProcessEventAuth(t *testing.T) { Account: "1234", BalanceType: utils.MetaVoice, Value: float64(2 * time.Minute), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSes", utils.RatingSubject: "*zero1ms", }, @@ -207,7 +207,7 @@ func testChargerSAuthProcessEventAuth(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "TestEv1", utils.RequestType: utils.MetaPrepaid, diff --git a/general_tests/tls_it_test.go b/general_tests/tls_it_test.go index 87d6a523f..0c84da9c2 100644 --- a/general_tests/tls_it_test.go +++ b/general_tests/tls_it_test.go @@ -144,7 +144,7 @@ func testTLSPing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, diff --git a/general_tests/tp_it_test.go b/general_tests/tp_it_test.go index c556f39cf..47370713e 100644 --- a/general_tests/tp_it_test.go +++ b/general_tests/tp_it_test.go @@ -168,7 +168,7 @@ func testTpActionTriggers(t *testing.T) { if err := tpRPC.Call(utils.APIerSv1SetActionTrigger, v1.AttrSetActionTrigger{ GroupID: "TestATR", UniqueID: "Unique atr id", - ActionTrigger: map[string]interface{}{ + ActionTrigger: map[string]any{ utils.BalanceID: utils.StringPointer("BID1"), }, }, &reply); err != nil { diff --git a/general_tests/tutorial2_calls_test.go b/general_tests/tutorial2_calls_test.go index c01feafff..fffd40a19 100644 --- a/general_tests/tutorial2_calls_test.go +++ b/general_tests/tutorial2_calls_test.go @@ -217,7 +217,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "ResourceEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // utils.Subject: "1001", // utils.Destination: "1002", @@ -327,7 +327,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "ResourceAllocation", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // utils.Subject: "1001", // utils.Destination: "1002", @@ -432,7 +432,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "ResourceRelease", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // utils.Subject: "1001", // utils.Destination: "1002", @@ -509,7 +509,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "AllocateResource", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // utils.Subject: "1001", // utils.Destination: "1002", diff --git a/general_tests/tutorial2_it_test.go b/general_tests/tutorial2_it_test.go index 68e7066c4..0a113e3ed 100644 --- a/general_tests/tutorial2_it_test.go +++ b/general_tests/tutorial2_it_test.go @@ -322,7 +322,7 @@ func testTutAccounts(t *testing.T) { Account: "1001", BalanceType: utils.MetaMonetary, Value: 1, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, }, } @@ -343,7 +343,7 @@ func testTutAccounts(t *testing.T) { Account: "1001", BalanceType: utils.MetaMonetary, Value: 101, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, }, } diff --git a/general_tests/tutorial_calls_test.go b/general_tests/tutorial_calls_test.go index c4f381599..7baf4d526 100644 --- a/general_tests/tutorial_calls_test.go +++ b/general_tests/tutorial_calls_test.go @@ -309,12 +309,12 @@ func testCallCheckResourceBeforeAllocation(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "OriginID", }, } @@ -460,12 +460,12 @@ func testCallCheckResourceAllocation(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceAllocation", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "OriginID1", }, } @@ -650,12 +650,12 @@ func testCallCheckResourceRelease(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceRelease", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "OriginID2", }, } @@ -727,12 +727,12 @@ func testCallSyncSessions(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "OriginID3", }, } diff --git a/general_tests/twoengines_it_test.go b/general_tests/twoengines_it_test.go index 5e3eb3905..5aeaadfd3 100644 --- a/general_tests/twoengines_it_test.go +++ b/general_tests/twoengines_it_test.go @@ -243,7 +243,7 @@ func testTwoEnginesUpdateThreshold(t *testing.T) { ActionIDs: []string{"ACT_1.1"}, Async: true, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } diff --git a/loaders/lib_test.go b/loaders/lib_test.go index 7e84c15d1..571182537 100644 --- a/loaders/lib_test.go +++ b/loaders/lib_test.go @@ -58,10 +58,10 @@ func newRPCClient(cfg *config.ListenCfg) (c *rpc.Client, err error) { } type testMockCacheConn struct { - calls map[string]func(arg interface{}, rply interface{}) error + calls map[string]func(arg any, rply any) error } -func (s *testMockCacheConn) Call(method string, arg interface{}, rply interface{}) error { +func (s *testMockCacheConn) Call(method string, arg any, rply any) error { if call, has := s.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -74,8 +74,8 @@ func TestProcessContentCallsRemoveItems(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1RemoveItems: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1RemoveItems: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -84,7 +84,7 @@ func TestProcessContentCallsRemoveItems(t *testing.T) { *prply = utils.OK return nil }, - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -187,8 +187,8 @@ func TestProcessContentCallsClear(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -289,8 +289,8 @@ func TestRemoveContentCallsReload(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1ReloadCache: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1ReloadCache: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -299,7 +299,7 @@ func TestRemoveContentCallsReload(t *testing.T) { *prply = utils.OK return nil }, - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -395,8 +395,8 @@ func TestRemoveContentCallsLoad(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1LoadCache: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1LoadCache: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -405,7 +405,7 @@ func TestRemoveContentCallsLoad(t *testing.T) { *prply = utils.OK return nil }, - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -501,8 +501,8 @@ func TestRemoveContentCallsRemove(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1RemoveItems: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1RemoveItems: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -511,7 +511,7 @@ func TestRemoveContentCallsRemove(t *testing.T) { *prply = utils.OK return nil }, - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) @@ -627,8 +627,8 @@ func TestRemoveContentCallsClear(t *testing.T) { engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock := &testMockCacheConn{ - calls: map[string]func(arg interface{}, rply interface{}) error{ - utils.CacheSv1Clear: func(arg interface{}, rply interface{}) error { + calls: map[string]func(arg any, rply any) error{ + utils.CacheSv1Clear: func(arg any, rply any) error { prply, can := rply.(*string) if !can { t.Errorf("Wrong argument type : %T", rply) diff --git a/loaders/libloader.go b/loaders/libloader.go index 01e21505c..09b6a18ec 100644 --- a/loaders/libloader.go +++ b/loaders/libloader.go @@ -28,7 +28,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -type LoaderData map[string]interface{} +type LoaderData map[string]any func (ld LoaderData) TenantID() string { return utils.ConcatenatedKey(utils.IfaceAsString(ld[utils.Tenant]), @@ -109,7 +109,7 @@ func (cP *csvProvider) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (cP *csvProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (cP *csvProvider) FieldAsInterface(fldPath []string) (data any, err error) { if data, err = cP.cache.FieldAsInterface(fldPath); err == nil || err != utils.ErrNotFound { // item found in cache return @@ -157,7 +157,7 @@ func (cP *csvProvider) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of utils.DataProvider interface func (cP *csvProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = cP.FieldAsInterface(fldPath) if err != nil { return diff --git a/loaders/loader_test.go b/loaders/loader_test.go index 5c889dd5e..821bd9d4c 100644 --- a/loaders/loader_test.go +++ b/loaders/loader_test.go @@ -1096,7 +1096,7 @@ func TestLoaderProcessDispatches(t *testing.T) { ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 29, 15, 00, 0, 0, time.UTC), }, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Strategy: "*first", Weight: 20, Hosts: engine.DispatcherHostProfiles{ @@ -1104,14 +1104,14 @@ func TestLoaderProcessDispatches(t *testing.T) { ID: "C1", FilterIDs: []string{"*gt:~*req.Usage:10"}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.56.203"}, + Params: map[string]any{"0": "192.168.56.203"}, Blocker: false, }, &engine.DispatcherHostProfile{ ID: "C2", FilterIDs: []string{"*lt:~*req.Usage:10"}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.56.204"}, + Params: map[string]any{"0": "192.168.56.204"}, Blocker: false, }, }, @@ -3039,10 +3039,10 @@ func TestLoaderServiceEnabled(t *testing.T) { } type ccMock struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (ccM *ccMock) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (ccM *ccMock) Call(serviceMethod string, args any, reply any) (err error) { if call, has := ccM.calls[serviceMethod]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -3060,14 +3060,14 @@ func TestStoreLoadedDataAttributes(t *testing.T) { AttributeProfileIDs: []string{"cgrates.org:attributesID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3109,14 +3109,14 @@ func TestStoreLoadedDataResources(t *testing.T) { ResourceProfileIDs: []string{"cgrates.org:resourcesID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3157,14 +3157,14 @@ func TestStoreLoadedDataFilters(t *testing.T) { FilterIDs: []string{"cgrates.org:filtersID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3206,14 +3206,14 @@ func TestStoreLoadedDataStats(t *testing.T) { StatsQueueProfileIDs: []string{"cgrates.org:statsID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3255,14 +3255,14 @@ func TestStoreLoadedDataThresholds(t *testing.T) { ThresholdProfileIDs: []string{"cgrates.org:thresholdsID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3303,14 +3303,14 @@ func TestStoreLoadedDataRoutes(t *testing.T) { RouteProfileIDs: []string{"cgrates.org:routesID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3351,14 +3351,14 @@ func TestStoreLoadedDataChargers(t *testing.T) { ChargerProfileIDs: []string{"cgrates.org:chargersID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3399,14 +3399,14 @@ func TestStoreLoadedDataDispatchers(t *testing.T) { DispatcherProfileIDs: []string{"cgrates.org:dispatchersID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, @@ -3447,14 +3447,14 @@ func TestStoreLoadedDataDispatcherHosts(t *testing.T) { DispatcherHostIDs: []string{"cgrates.org:dispatcherHostsID"}, } cM := &ccMock{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReloadCache: func(args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(args any, reply any) error { return nil }, }, diff --git a/migrator/attributes.go b/migrator/attributes.go index e2c9a2ed1..1eeccf960 100644 --- a/migrator/attributes.go +++ b/migrator/attributes.go @@ -400,7 +400,7 @@ func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *engine.Attrib type v2Attribute struct { FieldName string - Initial interface{} + Initial any Substitute config.RSRParsers Append bool } diff --git a/registrarc/libregistrarc.go b/registrarc/libregistrarc.go index a5efcd000..c64b6e828 100644 --- a/registrarc/libregistrarc.go +++ b/registrarc/libregistrarc.go @@ -35,7 +35,7 @@ import ( func NewRegisterArgs(cfg *config.CGRConfig, tnt string, hostCfgs []*config.RemoteHost) (rargs *RegisterArgs, err error) { rargs = &RegisterArgs{ Tenant: tnt, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Hosts: make([]*RegisterHostCfg, len(hostCfgs)), } for i, hostCfg := range hostCfgs { @@ -60,7 +60,7 @@ func NewRegisterArgs(cfg *config.CGRConfig, tnt string, hostCfgs []*config.Remot // RegisterArgs the arguments to register the dispacher host type RegisterArgs struct { Tenant string - Opts map[string]interface{} + Opts map[string]any Hosts []*RegisterHostCfg } @@ -99,7 +99,7 @@ func (rhc *RegisterHostCfg) AsDispatcherHost(tnt, ip string) *engine.DispatcherH func NewUnregisterArgs(tnt string, hostCfgs []*config.RemoteHost) (uargs *UnregisterArgs) { uargs = &UnregisterArgs{ Tenant: tnt, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), IDs: make([]string, len(hostCfgs)), } for i, hostCfg := range hostCfgs { @@ -111,7 +111,7 @@ func NewUnregisterArgs(tnt string, hostCfgs []*config.RemoteHost) (uargs *Unregi // UnregisterArgs the arguments to unregister the dispacher host type UnregisterArgs struct { Tenant string - Opts map[string]interface{} + Opts map[string]any IDs []string } @@ -119,8 +119,8 @@ type UnregisterArgs struct { func Registrar(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() w.Header().Set("Content-Type", "application/json") - var result interface{} = utils.OK - var errMessage interface{} + var result any = utils.OK + var errMessage any var err error var id *json.RawMessage if id, err = register(r); err != nil { @@ -149,7 +149,7 @@ func register(req *http.Request) (*json.RawMessage, error) { return sReq.Id, err case utils.RegistrarSv1UnregisterDispatcherHosts: var args UnregisterArgs - params := []interface{}{&args} + params := []any{&args} if err = json.Unmarshal(*sReq.Params, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) @@ -182,7 +182,7 @@ func register(req *http.Request) (*json.RawMessage, error) { case utils.RegistrarSv1UnregisterRPCHosts: var args UnregisterArgs - params := []interface{}{&args} + params := []any{&args} if err = json.Unmarshal(*sReq.Params, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) @@ -263,7 +263,7 @@ func getConnPort(cfg *config.CGRConfig, transport string, tls bool) (port string func unmarshallRegisterArgs(req *http.Request, reqParams json.RawMessage) (dH []*engine.DispatcherHost, err error) { var dHs RegisterArgs - params := []interface{}{&dHs} + params := []any{&dHs} if err = json.Unmarshal(reqParams, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) diff --git a/registrarc/libregistrarc_test.go b/registrarc/libregistrarc_test.go index 4d1b75545..819e6e1c0 100644 --- a/registrarc/libregistrarc_test.go +++ b/registrarc/libregistrarc_test.go @@ -50,7 +50,7 @@ func TestRegisterArgsAsDispatcherHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } exp := []*engine.DispatcherHost{ { @@ -141,9 +141,9 @@ func TestRegister(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -202,9 +202,9 @@ func TestRegister(t *testing.T) { ua := &UnregisterArgs{ Tenant: "cgrates.org", IDs: []string{"Host1", "Host2"}, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - uaJSON, err := json.Marshal([]interface{}{ua}) + uaJSON, err := json.Marshal([]any{ua}) id = json.RawMessage("2") if err != nil { t.Fatal(err) @@ -347,9 +347,9 @@ func TestRegistrar(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -456,9 +456,9 @@ func TestRegisterRegistrarSv1UnregisterRPCHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -485,9 +485,9 @@ func TestRegisterRegistrarSv1UnregisterRPCHostsError(t *testing.T) { ra := &UnregisterArgs{ IDs: []string{"Host1"}, Tenant: "cgrates.org", - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -544,9 +544,9 @@ func TestRegisterRegistrarSv1RegisterRPCHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -586,9 +586,9 @@ func TestRegisterRegistrarSv1RegisterRPCHostsError(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) diff --git a/registrarc/registrarc_it_test.go b/registrarc/registrarc_it_test.go index cf4d9610d..4249ba3ef 100644 --- a/registrarc/registrarc_it_test.go +++ b/registrarc/registrarc_it_test.go @@ -127,10 +127,10 @@ func testDsphLoadData(t *testing.T) { } func testDsphGetNodeID() (id string, err error) { - var status map[string]interface{} + var status map[string]any if err = dspRPC.Call(utils.DispatcherSv1RemoteStatus, utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &status); err != nil { return } diff --git a/registrarc/registrarcrpc_it_test.go b/registrarc/registrarcrpc_it_test.go index ea1e99b94..ea0a88c48 100644 --- a/registrarc/registrarcrpc_it_test.go +++ b/registrarc/registrarcrpc_it_test.go @@ -120,10 +120,10 @@ func testRPCLoadData(t *testing.T) { func testRPCChargerSNoAttr(t *testing.T) { cgrEv := &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", }, - APIOpts: map[string]interface{}{utils.OptsAttributesProcessRuns: 1.}, + APIOpts: map[string]any{utils.OptsAttributesProcessRuns: 1.}, } expErr := utils.NewErrServerError(rpcclient.ErrDisconnected).Error() var rply []*engine.ChrgSProcessEventReply @@ -143,10 +143,10 @@ func testRPCStartRegc(t *testing.T) { func testRPCChargerSWithAttr(t *testing.T) { cgrEv := &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", }, - APIOpts: map[string]interface{}{utils.OptsAttributesProcessRuns: 1.}, + APIOpts: map[string]any{utils.OptsAttributesProcessRuns: 1.}, } processedEv := []*engine.ChrgSProcessEventReply{ @@ -155,11 +155,11 @@ func testRPCChargerSWithAttr(t *testing.T) { AlteredFields: []string{"*req.RunID"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "RunID": "CustomerCharges", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., "*subsys": "*chargers", }, @@ -170,14 +170,14 @@ func testRPCChargerSWithAttr(t *testing.T) { AlteredFields: []string{"*req.RunID", "*req.RequestType"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "RequestType": "*none", "RunID": "raw", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., - utils.OptsAttributesProfileIDs: []interface{}{"*constant:*req.RequestType:*none"}, + utils.OptsAttributesProfileIDs: []any{"*constant:*req.RequestType:*none"}, "*subsys": "*chargers", }, }, @@ -187,14 +187,14 @@ func testRPCChargerSWithAttr(t *testing.T) { AlteredFields: []string{"*req.RunID", "*req.Subject"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "RunID": "SupplierCharges", "Subject": "SUPPLIER1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 1., - "*attrProfileIDs": []interface{}{"ATTR_SUPPLIER1"}, + "*attrProfileIDs": []any{"ATTR_SUPPLIER1"}, "*subsys": "*chargers", }, }, diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go index b44c00b38..8094f1f07 100644 --- a/services/sessions_it_test.go +++ b/services/sessions_it_test.go @@ -41,10 +41,10 @@ func init() { } type testMockClients struct { - calls func(args interface{}, reply interface{}) error + calls func(args any, reply any) error } -func (sT *testMockClients) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClients) Call(method string, arg any, rply any) error { return sT.calls(arg, rply) } @@ -80,7 +80,7 @@ func TestSessionSReload1(t *testing.T) { clientConect := make(chan rpcclient.ClientConnector, 1) clientConect <- &testMockClients{ - calls: func(args interface{}, reply interface{}) error { + calls: func(args any, reply any) error { rply, cancast := reply.(*[]*engine.ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -114,7 +114,7 @@ func TestSessionSReload1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", diff --git a/servmanager/servmanager.go b/servmanager/servmanager.go index 4f1565003..45a622dfc 100644 --- a/servmanager/servmanager.go +++ b/servmanager/servmanager.go @@ -55,7 +55,7 @@ type ServiceManager struct { } // Call . -func (srvMngr *ServiceManager) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (srvMngr *ServiceManager) Call(serviceMethod string, args any, reply any) error { parts := strings.Split(serviceMethod, ".") if len(parts) != 2 { return rpcclient.ErrUnsupporteServiceMethod diff --git a/sessions/libsessions.go b/sessions/libsessions.go index 8b31082c2..fcdf2fc4e 100644 --- a/sessions/libsessions.go +++ b/sessions/libsessions.go @@ -49,13 +49,13 @@ type BiRPClient interface { V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*SessionID) (err error) V1ReAuthorize(originID string, reply *string) (err error) V1DisconnectPeer(args *utils.DPRArgs, reply *string) (err error) - V1WarnDisconnect(args map[string]interface{}, reply *string) (err error) + V1WarnDisconnect(args map[string]any, reply *string) (err error) BiRPCv1DisconnectSession(clnt rpcclient.ClientConnector, args utils.AttrDisconnectSession, reply *string) (err error) BiRPCv1GetActiveSessionIDs(clnt rpcclient.ClientConnector, ignParam string, sessionIDs *[]*SessionID) (err error) BiRPCv1ReAuthorize(clnt rpcclient.ClientConnector, originID string, reply *string) (err error) BiRPCv1DisconnectPeer(clnt rpcclient.ClientConnector, args *utils.DPRArgs, reply *string) (err error) - BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]interface{}, reply *string) (err error) + BiRPCv1WarnDisconnect(clnt rpcclient.ClientConnector, args map[string]any, reply *string) (err error) } // GetSetCGRID will populate the CGRID key if not present and return it @@ -151,7 +151,7 @@ func (pi *ProcessedStirIdentity) VerifyHeader() (isValid bool) { // VerifySignature returns if the signature is valid func (pi *ProcessedStirIdentity) VerifySignature(timeoutVal time.Duration) (err error) { - var pubkey interface{} + var pubkey any var ok bool if pubkey, ok = engine.Cache.Get(utils.CacheSTIR, pi.Header.X5u); !ok { if pubkey, err = utils.NewECDSAPubKey(pi.Header.X5u, timeoutVal); err != nil { @@ -200,7 +200,7 @@ func (pi *ProcessedStirIdentity) VerifyPayload(originatorTn, originatorURI, dest // NewSTIRIdentity returns the identiy for stir header func NewSTIRIdentity(header *utils.PASSporTHeader, payload *utils.PASSporTPayload, prvkeyPath string, timeout time.Duration) (identity string, err error) { - var prvKey interface{} + var prvKey any var ok bool if prvKey, ok = engine.Cache.Get(utils.CacheSTIR, prvkeyPath); !ok { if prvKey, err = utils.NewECDSAPrvKey(prvkeyPath, timeout); err != nil { @@ -259,7 +259,7 @@ type V1STIRAuthenticateArgs struct { OriginatorTn string // the expected originator telephone number OriginatorURI string // the expected originator URI; if this is populated the OriginatorTn is ignored PayloadMaxDuration string // the duration the payload is valid after it's creation - APIOpts map[string]interface{} + APIOpts map[string]any } // V1STIRIdentityArgs are the arguments for STIRIdentity API @@ -268,7 +268,7 @@ type V1STIRIdentityArgs struct { PublicKeyPath string // the path to the public key used in the header PrivateKeyPath string // the private key path OverwriteIAT bool // if true the IAT from payload is overwrited with the present unix timestamp - APIOpts map[string]interface{} + APIOpts map[string]any } // getDerivedEvents returns only the *raw event if derivedReply flag is not specified diff --git a/sessions/libsessions_test.go b/sessions/libsessions_test.go index 6e3a817b7..c11f16a9c 100644 --- a/sessions/libsessions_test.go +++ b/sessions/libsessions_test.go @@ -31,7 +31,7 @@ import ( ) func TestLibSessionSGetSetCGRID(t *testing.T) { - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", diff --git a/sessions/session_test.go b/sessions/session_test.go index 640d68239..cc44306e0 100644 --- a/sessions/session_test.go +++ b/sessions/session_test.go @@ -299,7 +299,7 @@ func TestSRunDebitReserve6(t *testing.T) { } func TestSessionAsCGREventsRawEvent(t *testing.T) { - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -326,7 +326,7 @@ func TestSessionAsCGREventsRawEvent(t *testing.T) { } func TestSessionAsCGREvents(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -341,7 +341,7 @@ func TestSessionAsCGREvents(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -379,7 +379,7 @@ func TestSessionAsCGREvents(t *testing.T) { } func TestSessionAsExternalSessions(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -394,7 +394,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -459,7 +459,7 @@ func TestSessionAsExternalSessions(t *testing.T) { } func TestSessionAsExternalSessions2(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -474,7 +474,7 @@ func TestSessionAsExternalSessions2(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -543,7 +543,7 @@ func TestSessionAsExternalSessions2(t *testing.T) { } func TestSessionAsExternalSessions3(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -558,7 +558,7 @@ func TestSessionAsExternalSessions3(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -705,7 +705,7 @@ func TestSessionstopDebitLoops(t *testing.T) { } func TestUpdateSRuns(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -720,7 +720,7 @@ func TestUpdateSRuns(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -753,7 +753,7 @@ func TestUpdateSRuns(t *testing.T) { }, }}, } - updEv := map[string]interface{}{ + updEv := map[string]any{ utils.EventName: "TEST_EVENT2", utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaPostpaid, diff --git a/sessions/sessions.go b/sessions/sessions.go index 51d2db300..ede03729d 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -392,7 +392,7 @@ func (sS *SessionS) forceSTerminate(s *Session, extraUsage time.Duration, tUsage APIOpts: s.OptsStart, } if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.OptsResourcesUsageID] = s.ResourceID cgrEv.APIOpts[utils.OptsResourcesUnits] = 1 @@ -790,7 +790,7 @@ func (sS *SessionS) disconnectSession(s *Session, rsn string) (err error) { // warnSession will send warning from SessionS to clients // regarding low balance -func (sS *SessionS) warnSession(connID string, ev map[string]interface{}) (err error) { +func (sS *SessionS) warnSession(connID string, ev map[string]any) (err error) { clnt := sS.biJClnt(connID) if clnt == nil { return fmt.Errorf("calling %s requires bidirectional JSON connection, connID: <%s>", @@ -1631,7 +1631,7 @@ func (sS *SessionS) endSession(s *Session, tUsage, lastUsage *time.Duration, // set cost fields sr.Event[utils.Cost] = sr.EventCost.GetCost() - sr.Event[utils.CostDetails] = utils.ToJSON(sr.EventCost) // avoid map[string]interface{} when decoding + sr.Event[utils.CostDetails] = utils.ToJSON(sr.EventCost) // avoid map[string]any when decoding sr.Event[utils.CostSource] = utils.MetaSessionS } // Set Usage field @@ -1692,13 +1692,13 @@ func (sS *SessionS) chargeEvent(cgrEv *utils.CGREvent, forceDuration bool) (maxU // APIs start here // Call is part of RpcClientConnection interface -func (sS *SessionS) Call(serviceMethod string, args interface{}, reply interface{}) error { +func (sS *SessionS) Call(serviceMethod string, args any, reply any) error { return sS.CallBiRPC(nil, serviceMethod, args, reply) } // CallBiRPC is part of utils.BiRPCServer interface to help internal connections do calls over rpcclient.ClientConnector interface func (sS *SessionS) CallBiRPC(clnt rpcclient.ClientConnector, - serviceMethod string, args interface{}, reply interface{}) error { + serviceMethod string, args any, reply any) error { return utils.BiRPCCall(sS, clnt, serviceMethod, args, reply) } @@ -2020,7 +2020,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(clnt rpcclient.ClientConnector, } var allocMsg string if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.CGREvent.APIOpts[utils.OptsResourcesUsageID] = originID args.CGREvent.APIOpts[utils.OptsResourcesUnits] = 1 @@ -2289,7 +2289,7 @@ func (sS *SessionS) BiRPCv1InitiateSession(clnt rpcclient.ClientConnector, return utils.NewErrMandatoryIeMissing(utils.OriginID) } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.CGREvent.APIOpts[utils.OptsResourcesUsageID] = originID args.CGREvent.APIOpts[utils.OptsResourcesUnits] = 1 @@ -2709,7 +2709,7 @@ func (sS *SessionS) BiRPCv1TerminateSession(clnt rpcclient.ClientConnector, } var reply string if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.CGREvent.APIOpts[utils.OptsResourcesUsageID] = originID // same ID should be accepted by first group since the previous resource should be expired args.CGREvent.APIOpts[utils.OptsResourcesUnits] = 1 @@ -2990,7 +2990,7 @@ func (sS *SessionS) BiRPCv1ProcessMessage(clnt rpcclient.ClientConnector, return utils.NewErrMandatoryIeMissing(utils.OriginID) } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.CGREvent.APIOpts[utils.OptsResourcesUsageID] = originID args.CGREvent.APIOpts[utils.OptsResourcesUnits] = 1 @@ -3348,7 +3348,7 @@ func (sS *SessionS) BiRPCv1ProcessEvent(clnt rpcclient.ClientConnector, return utils.NewErrMandatoryIeMissing(utils.OriginID) } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.CGREvent.APIOpts[utils.OptsResourcesUsageID] = originID args.CGREvent.APIOpts[utils.OptsResourcesUnits] = 1 @@ -3824,7 +3824,7 @@ func (sS *SessionS) processThreshold(cgrEv *utils.CGREvent, thIDs []string, clnb return tIDs, utils.NewErrNotConnected(utils.ThresholdS) } if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } // check if we have thresholdIDs if len(thIDs) != 0 { @@ -3842,7 +3842,7 @@ func (sS *SessionS) processStats(cgrEv *utils.CGREvent, stsIDs []string, clnb bo return sIDs, utils.NewErrNotConnected(utils.StatS) } if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } // check in case we have StatIDs inside flags if len(stsIDs) != 0 { @@ -4135,13 +4135,13 @@ func (sS *SessionS) BiRPCv1STIRIdentity(clnt rpcclient.ClientConnector, // BiRPCv1STIRIdentity the API for STIR header creation func (sS *SessionS) BiRPCv1CapsError(clnt rpcclient.ClientConnector, - args interface{}, identity *string) (err error) { + args any, identity *string) (err error) { return utils.ErrMaxConcurrentRPCExceeded } // Handlers bidirectional methods following -func (sS *SessionS) Handlers() map[string]interface{} { - return map[string]interface{}{ +func (sS *SessionS) Handlers() map[string]any { + return map[string]any{ utils.SessionSv1AuthorizeEvent: func(clnt *rpc2.Client, args *V1AuthorizeArgs, rply *V1AuthorizeReply) (err error) { return sS.BiRPCv1AuthorizeEvent(clnt, args, rply) }, @@ -4217,7 +4217,7 @@ func (sS *SessionS) Handlers() map[string]interface{} { utils.SessionSv1STIRIdentity: func(clnt *rpc2.Client, args *V1STIRIdentityArgs, rply *string) (err error) { return sS.BiRPCv1STIRIdentity(clnt, args, rply) }, - utils.SessionSv1CapsError: func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { + utils.SessionSv1CapsError: func(clnt *rpc2.Client, args any, rply *string) (err error) { return sS.BiRPCv1CapsError(clnt, args, rply) }, } diff --git a/sessions/sessions_bench_test.go b/sessions/sessions_bench_test.go index 36eed1194..4bc60d4c8 100644 --- a/sessions/sessions_bench_test.go +++ b/sessions/sessions_bench_test.go @@ -78,7 +78,7 @@ func addBalance(sBenchRPC *rpc.Client, sraccount string) { Account: sraccount, BalanceType: utils.MetaVoice, Value: 5 * float64(time.Hour), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestDynamicDebitBalance", }, } @@ -111,7 +111,7 @@ func initSession(i int) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.Category: "call", diff --git a/sessions/sessions_birpc_it_test.go b/sessions/sessions_birpc_it_test.go index d3e6c4ef0..46a7a4e6e 100644 --- a/sessions/sessions_birpc_it_test.go +++ b/sessions/sessions_birpc_it_test.go @@ -110,7 +110,7 @@ func testSessionsBiRPCStartEngine(t *testing.T) { // Connect rpc client to rater func testSessionsBiRPCApierRpcConn(t *testing.T) { - clntHandlers := map[string]interface{}{utils.SessionSv1DisconnectSession: handleDisconnectSession} + clntHandlers := map[string]any{utils.SessionSv1DisconnectSession: handleDisconnectSession} dummyClnt, err := utils.NewBiJSONrpcClient(sessionsBiRPCCfg.SessionSCfg().ListenBijson, clntHandlers) if err != nil { // First attempt is to make sure multiple clients are supported @@ -142,7 +142,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { Account: "TestSessionsBiRPCSessionAutomaticDisconnects", BalanceType: utils.MetaVoice, Value: 0.01 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsBiRPCSessionAutomaticDisconnects", utils.RatingSubject: "*zero1ms", }, @@ -171,7 +171,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionAutomaticDisconnects", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -213,7 +213,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -268,7 +268,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { Account: "TestSessionsBiRPCSessionOriginatorTerminate", BalanceType: utils.MetaVoice, Value: float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsBiRPCSessionOriginatorTerminate", utils.RatingSubject: "*zero1ms", }, @@ -293,7 +293,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionOriginatorTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -328,7 +328,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionOriginatorTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", diff --git a/sessions/sessions_data_it_test.go b/sessions/sessions_data_it_test.go index 9aeba88fb..40ee991ce 100644 --- a/sessions/sessions_data_it_test.go +++ b/sessions/sessions_data_it_test.go @@ -158,7 +158,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -197,7 +197,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -235,7 +235,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -274,7 +274,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataLastUsedMultipleData", }, } @@ -296,7 +296,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -342,7 +342,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -390,7 +390,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -440,7 +440,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -482,7 +482,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -549,7 +549,7 @@ func testSessionsDataTTLExpired(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpired", }, } @@ -571,7 +571,7 @@ func testSessionsDataTTLExpired(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpired", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "TestSessionsDataTTLExpired", @@ -585,7 +585,7 @@ func testSessionsDataTTLExpired(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL }, }, @@ -641,7 +641,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpMultiUpdates", }, } @@ -663,7 +663,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpMultiUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -711,7 +711,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpMultiUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -726,7 +726,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { utils.LastUsed: "1024", utils.Usage: "4096", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL utils.OptsSessionsTTLLastUsed: "1024", }, @@ -783,7 +783,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpMultiUpdates", }, } @@ -805,7 +805,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -851,7 +851,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -866,7 +866,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.Usage: "1024", utils.LastUsed: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "0", // cancel timeout since usage 0 will not update it }, }, @@ -900,7 +900,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -915,7 +915,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.Usage: "0", utils.LastUsed: "0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "1h", // cancel timeout since usage 0 will not update it }, }, @@ -954,7 +954,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -1001,7 +1001,7 @@ func testSessionsDataTTLUsageProtection(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLUsageProtection", }, } @@ -1023,7 +1023,7 @@ func testSessionsDataTTLUsageProtection(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLUsageProtection", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -1078,7 +1078,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSessionsDataTTLLastUsage", }, } @@ -1100,7 +1100,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLLastUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "testSessionsDataTTLLastUsage", utils.ToR: utils.MetaData, utils.OriginID: "testSessionsDataTTLLastUsage", @@ -1114,7 +1114,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLLastUsage: "2048", }, }, diff --git a/sessions/sessions_it_test.go b/sessions/sessions_it_test.go index be48fa672..f76bb431b 100644 --- a/sessions/sessions_it_test.go +++ b/sessions/sessions_it_test.go @@ -137,7 +137,7 @@ func testSessionsItTerminatNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -151,7 +151,7 @@ func testSessionsItTerminatNonexist(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -212,7 +212,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItUpdateNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "UpdateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -226,7 +226,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "0s", }, }, @@ -254,7 +254,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -278,7 +278,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { func testSessionsItTerminatePassive(t *testing.T) { //create the event for session - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "UpdateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -334,7 +334,7 @@ func testSessionsItTerminatePassive(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -376,7 +376,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { Account: "TestSessionsItEventCostCompressing", Value: float64(5) * float64(time.Second), BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsItEventCostCompressing", utils.RatingSubject: "*zero50ms", }, @@ -393,7 +393,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsItEventCostCompressing", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.AccountField: "TestSessionsItEventCostCompressing", utils.Destination: "1002", @@ -416,7 +416,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsItEventCostCompressing", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.Usage: "1s", }, @@ -440,7 +440,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.AccountField: "TestSessionsItEventCostCompressing", utils.Destination: "1002", diff --git a/sessions/sessions_rpl_it_test.go b/sessions/sessions_rpl_it_test.go index 5faac4b2e..4d4200877 100644 --- a/sessions/sessions_rpl_it_test.go +++ b/sessions/sessions_rpl_it_test.go @@ -146,7 +146,7 @@ func testSessionSRplInitiate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplInitiate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -212,7 +212,7 @@ func testSessionSRplUpdate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplUpdate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -290,7 +290,7 @@ func testSessionSRplTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -353,7 +353,7 @@ func testSessionSRplManualReplicate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -375,7 +375,7 @@ func testSessionSRplManualReplicate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123481", @@ -449,7 +449,7 @@ func testSessionSRplManualReplicate(t *testing.T) { if err := masterProc.Process.Kill(); err != nil { t.Errorf("Failed to kill process, error: %v", err.Error()) } - var status map[string]interface{} + var status map[string]any if err := smgRplcMstrRPC.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err == nil { // master should not longer be reachable t.Error(err, status) } diff --git a/sessions/sessions_test.go b/sessions/sessions_test.go index 76c582e74..aa2f9841a 100644 --- a/sessions/sessions_test.go +++ b/sessions/sessions_test.go @@ -41,7 +41,7 @@ var attrs = &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -142,7 +142,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { "Extra4": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -224,7 +224,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } // Index second session - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT2", utils.OriginID: "12346", utils.AccountField: "account2", @@ -247,7 +247,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { }, } sS.indexSession(session2, false) - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT3", utils.Tenant: "cgrates.org", utils.OriginID: "12347", @@ -462,7 +462,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -522,7 +522,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "222", @@ -588,7 +588,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -680,7 +680,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -743,7 +743,7 @@ func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.pSessionsRIdx) } - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "222", @@ -809,7 +809,7 @@ func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.pSessionsRIdx) } - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -895,7 +895,7 @@ func TestSessionSNewV1AuthorizeArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1063,7 +1063,7 @@ func TestSessionSNewV1UpdateSessionArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1101,7 +1101,7 @@ func TestSessionSNewV1TerminateSessionArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1144,7 +1144,7 @@ func TestSessionSNewV1ProcessMessageArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1219,7 +1219,7 @@ func TestSessionSNewV1InitSessionArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1248,7 +1248,7 @@ func TestSessionSNewV1InitSessionArgs(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1289,13 +1289,13 @@ func TestSessionSV1AuthorizeReplyAsNavigableMap(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "supplier1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, @@ -1587,7 +1587,7 @@ func TestV1ProcessEventReplyAsNavigableMap(t *testing.T) { func TestSessionStransitSState(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -1633,7 +1633,7 @@ func TestSessionStransitSState(t *testing.T) { func TestSessionSrelocateSessionS(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -1670,7 +1670,7 @@ func TestSessionSrelocateSessionS(t *testing.T) { if len(rcvS) != 0 { t.Errorf("Expecting 0, received: %+v", len(rcvS)) } - ev := engine.NewMapEvent(map[string]interface{}{ + ev := engine.NewMapEvent(map[string]any{ utils.OriginID: "222", utils.OriginHost: "127.0.0.1"}) cgrID := GetSetCGRID(ev) @@ -1686,11 +1686,11 @@ func TestSessionSNewV1AuthorizeArgsWithOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "testkey", utils.OptsRouteID: "testrouteid", }, @@ -1731,11 +1731,11 @@ func TestSessionSNewV1AuthorizeArgsWithOpts2(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testrouteid", }, } @@ -1829,7 +1829,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -1902,7 +1902,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { }, }, { - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice"}), CD: &engine.CallDescriptor{ @@ -1934,7 +1934,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { type testRPCClientConnection struct{} -func (*testRPCClientConnection) Call(string, interface{}, interface{}) error { return nil } +func (*testRPCClientConnection) Call(string, any, any) error { return nil } func TestNewSessionS(t *testing.T) { cgrCGF := config.NewDefaultCGRConfig() @@ -2136,7 +2136,7 @@ func TestV1ProcessMessageArgsParseFlags(t *testing.T) { func TestSessionSgetSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -2183,7 +2183,7 @@ func TestSessionSfilterSessions(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -2359,7 +2359,7 @@ func TestSessionSfilterSessionsCount(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -2559,7 +2559,7 @@ type mockConnWarnDisconnect1 struct { *testRPCClientConnection } -func (mk *mockConnWarnDisconnect1) Call(method string, args interface{}, rply interface{}) error { +func (mk *mockConnWarnDisconnect1) Call(method string, args any, rply any) error { return utils.ErrNotImplemented } @@ -2567,7 +2567,7 @@ type mockConnWarnDisconnect2 struct { *testRPCClientConnection } -func (mk *mockConnWarnDisconnect2) Call(method string, args interface{}, rply interface{}) error { +func (mk *mockConnWarnDisconnect2) Call(method string, args any, rply any) error { return utils.ErrNoActiveSession } @@ -2595,16 +2595,16 @@ func TestWarnSession(t *testing.T) { } } -type clMock func(_ string, _ interface{}, _ interface{}) error +type clMock func(_ string, _ any, _ any) error -func (c clMock) Call(m string, a interface{}, r interface{}) error { +func (c clMock) Call(m string, a any, r any) error { return c(m, a, r) } func TestInitSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} clientConect := make(chan rpcclient.ClientConnector, 1) - clientConect <- clMock(func(_ string, args interface{}, reply interface{}) error { + clientConect <- clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*[]*engine.ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2625,7 +2625,7 @@ func TestInitSession(t *testing.T) { sS := NewSessionS(cfg, nil, conMng) s, err := sS.initSession(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "call", utils.ToR: utils.MetaVoice, utils.OriginID: "TestTerminate", @@ -2689,7 +2689,7 @@ func TestBiRPCv1AuthorizeEventNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2706,7 +2706,7 @@ func TestBiRPCv1AuthorizeEventNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2734,7 +2734,7 @@ func TestBiRPCv1AuthorizeEventNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2759,7 +2759,7 @@ func TestBiRPCv1AuthorizeEventWithDigestNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2776,7 +2776,7 @@ func TestBiRPCv1AuthorizeEventWithDigestNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2804,7 +2804,7 @@ func TestBiRPCv1AuthorizeEventWithDigestNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2827,7 +2827,7 @@ func TestBiRPCv1InitiateSessionNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2844,7 +2844,7 @@ func TestBiRPCv1InitiateSessionNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2872,7 +2872,7 @@ func TestBiRPCv1InitiateSessionNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2895,7 +2895,7 @@ func TestBiRPCv1InitiateSessionWithDigestNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2912,7 +2912,7 @@ func TestBiRPCv1InitiateSessionWithDigestNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2939,7 +2939,7 @@ func TestBiRPCv1InitiateSessionWithDigestNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -2960,7 +2960,7 @@ func TestBiRPCv1UpdateSessionNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2977,7 +2977,7 @@ func TestBiRPCv1UpdateSessionNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3004,7 +3004,7 @@ func TestBiRPCv1UpdateSessionNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3025,7 +3025,7 @@ func TestBiRPCv1TerminateSessionNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ChargerSCfg().Enabled = true cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*[]*engine.ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -3054,7 +3054,7 @@ func TestBiRPCv1TerminateSessionNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3076,7 +3076,7 @@ func TestBiRPCv1ProcessMessageNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -3093,7 +3093,7 @@ func TestBiRPCv1ProcessMessageNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3120,7 +3120,7 @@ func TestBiRPCv1ProcessMessageNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3144,7 +3144,7 @@ func TestBiRPCv1ProcessEventNoTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes)} - clMock := clMock(func(_ string, args interface{}, reply interface{}) error { + clMock := clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*engine.AttrSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -3161,7 +3161,7 @@ func TestBiRPCv1ProcessEventNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -3188,7 +3188,7 @@ func TestBiRPCv1ProcessEventNoTenant(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestBiRPCv1AuthorizeEventNoTenant", Time: utils.TimePointer(time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", diff --git a/sessions/sessions_voice_it_test.go b/sessions/sessions_voice_it_test.go index 5888f4a93..d51ddb349 100644 --- a/sessions/sessions_voice_it_test.go +++ b/sessions/sessions_voice_it_test.go @@ -133,7 +133,7 @@ func testSessionsVoiceMonetaryRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMonetaryRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -173,7 +173,7 @@ func testSessionsVoiceMonetaryRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMonetaryRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -210,7 +210,7 @@ func testSessionsVoiceVoiceRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceVoiceRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -252,7 +252,7 @@ func testSessionsVoiceVoiceRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceVoiceRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -295,7 +295,7 @@ func testSessionsVoiceMixedRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMixedRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123453", @@ -340,7 +340,7 @@ func testSessionsVoiceMixedRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMixedRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123453", @@ -392,7 +392,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -431,7 +431,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Update1", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -468,7 +468,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Update2", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -506,7 +506,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -553,7 +553,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -592,7 +592,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -630,7 +630,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -675,7 +675,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -715,7 +715,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -752,7 +752,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -798,7 +798,7 @@ func testSessionsVoiceSessionTTL(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTL", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL", utils.ToR: utils.MetaVoice, utils.OriginID: "12360", @@ -866,7 +866,7 @@ func testSessionsVoiceSessionTTL(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTL", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL", utils.ToR: utils.MetaVoice, utils.OriginID: "12360", @@ -941,7 +941,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { Account: "TestTTLWithRelocate", BalanceType: utils.MetaVoice, Value: 300 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestTTLWithRelocate", utils.RatingSubject: "*zero50ms", }, @@ -971,7 +971,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL_RELOCATE", utils.ToR: utils.MetaVoice, utils.OriginID: "12361", @@ -1027,7 +1027,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL_RELOCATE", utils.ToR: utils.MetaVoice, utils.InitialOriginID: "12361", //take the initial originID from init @@ -1114,7 +1114,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { Account: "TestRelocateWithOriginIDPrefix", BalanceType: utils.MetaVoice, Value: 300 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestRelocateWithOriginIDPrefix", utils.RatingSubject: "*zero1s", }, @@ -1144,7 +1144,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceRelocateWithOriginIDPrefix", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.OriginID: "12371", @@ -1200,7 +1200,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.InitialOriginID: "12371", @@ -1255,7 +1255,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.OriginID: "12372-1", @@ -1329,7 +1329,7 @@ func TestSMGDataDerivedChargingNoCredit(t *testing.T) { } else if acnt.BalanceMap[utils.MetaVoice].GetTotalValue() != eAcntVal { t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaVoice].GetTotalValue()) } - smgEv := map[string]interface{}{ + smgEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234967", diff --git a/sessions/sessionscover_test.go b/sessions/sessionscover_test.go index 9f24d6040..a1e634712 100644 --- a/sessions/sessionscover_test.go +++ b/sessions/sessionscover_test.go @@ -291,7 +291,7 @@ func TestForceSTerminatorPostCDRs(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -329,7 +329,7 @@ func TestForceSTerminatorReleaseSession(t *testing.T) { ResourceID: "resourceID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -354,7 +354,7 @@ type testMockClientConn struct { *testRPCClientConnection } -func (sT *testMockClientConn) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientConn) Call(method string, arg any, rply any) error { return utils.ErrNoActiveSession } @@ -380,7 +380,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { ClientConnID: "ClientConnID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -414,7 +414,7 @@ func TestDebitSession(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -452,10 +452,10 @@ func TestDebitSession(t *testing.T) { // mocking for type testMockClients struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (sT *testMockClients) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClients) Call(method string, arg any, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -467,8 +467,8 @@ func TestDebitSessionResponderMaxDebit(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { callCost := new(engine.CallCost) callCost.Timespans = []*engine.TimeSpan{ { @@ -500,7 +500,7 @@ func TestDebitSessionResponderMaxDebit(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{ @@ -540,11 +540,11 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) sMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return utils.ErrAccountNotFound }, - utils.SchedulerSv1ExecuteActionPlans: func(args interface{}, reply interface{}) error { + utils.SchedulerSv1ExecuteActionPlans: func(args any, reply any) error { return nil }, }, @@ -568,7 +568,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -590,7 +590,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { } engine.Cache.Clear(nil) - sMock.calls[utils.SchedulerSv1ExecuteActionPlans] = func(args interface{}, reply interface{}) error { + sMock.calls[utils.SchedulerSv1ExecuteActionPlans] = func(args any, reply any) error { return utils.ErrNotImplemented } newInternalRpcChan := make(chan rpcclient.ClientConnector, 1) @@ -624,7 +624,7 @@ func TestInitSessionDebitLoops(t *testing.T) { debitStop: make(chan struct{}, 1), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPrepaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -648,7 +648,7 @@ type testMockClientConnDiscSess struct { *testRPCClientConnection } -func (sT *testMockClientConnDiscSess) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientConnDiscSess) Call(method string, arg any, rply any) error { return nil } @@ -671,7 +671,7 @@ func TestDebitLoopSessionErrorDebiting(t *testing.T) { DebitInterval: time.Minute, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -694,11 +694,11 @@ func TestDebitLoopSessionErrorDebiting(t *testing.T) { ss.debitStop = make(chan struct{}) engine.Cache.Clear(nil) sMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return utils.ErrAccountNotFound }, - utils.SchedulerSv1ExecuteActionPlans: func(args interface{}, reply interface{}) error { + utils.SchedulerSv1ExecuteActionPlans: func(args any, reply any) error { return utils.ErrUnauthorizedDestination }, }, @@ -723,8 +723,8 @@ func TestDebitLoopSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { callCost := new(engine.CallCost) callCost.Timespans = []*engine.TimeSpan{ { @@ -757,7 +757,7 @@ func TestDebitLoopSession(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPrepaid, }, CD: &engine.CallDescriptor{ @@ -786,8 +786,8 @@ func TestDebitLoopSessionFrcDiscLowerDbtInterval(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { callCost := new(engine.CallCost) callCost.Timespans = []*engine.TimeSpan{ { @@ -820,7 +820,7 @@ func TestDebitLoopSessionFrcDiscLowerDbtInterval(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{ @@ -847,8 +847,8 @@ func TestDebitLoopSessionLowBalance(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -874,7 +874,7 @@ func TestDebitLoopSessionLowBalance(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{ @@ -906,11 +906,11 @@ func TestDebitLoopSessionWarningSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -963,11 +963,11 @@ func TestDebitLoopSessionDisconnectSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1033,8 +1033,8 @@ func TestStoreSCost(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CDRsV1StoreSessionCost: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CDRsV1StoreSessionCost: func(args any, reply any) error { return utils.ErrExists }, }, @@ -1081,8 +1081,8 @@ func TestRefundSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundIncrements: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundIncrements: func(args any, reply any) error { if args.(*engine.CallDescriptorWithAPIOpts).APIOpts != nil { return utils.ErrNotImplemented } @@ -1193,8 +1193,8 @@ func TestRoundCost(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1272,7 +1272,7 @@ func TestDisconnectSession(t *testing.T) { ss := &Session{ ClientConnID: "test", - EventStart: make(map[string]interface{}), + EventStart: make(map[string]any), SRuns: []*SRun{ { TotalUsage: time.Minute, @@ -1305,8 +1305,8 @@ func TestReplicateSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SessionSv1SetPassiveSession: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SessionSv1SetPassiveSession: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1331,8 +1331,8 @@ func TestNewSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { if args.(*utils.CGREvent).ID == utils.EmptyString { return utils.ErrNotImplemented } @@ -1341,7 +1341,7 @@ func TestNewSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -1364,7 +1364,7 @@ func TestNewSession(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, } @@ -1382,14 +1382,14 @@ func TestNewSession(t *testing.T) { Tenant: "cgrates.org", ResourceID: "resourceID", ClientConnID: "clientConnID", - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.CGRID: "da39a3ee5e6b4b0d3255bfef95601890afd80709", utils.Destination: "10", }, DebitInterval: time.Second, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, CD: &engine.CallDescriptor{ @@ -1440,11 +1440,11 @@ func TestProcessChargerS(t *testing.T) { engine.Cache = engine.NewCacheS(cfg, dm, nil) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { return utils.ErrExists }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1456,7 +1456,7 @@ func TestProcessChargerS(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, } @@ -1532,23 +1532,23 @@ func TestRelocateSession(t *testing.T) { sessions.aSessions = map[string]*Session{ "0d0fe8779b54c88f121e26c5d83abee5935127e5": { CGRID: "TEST_CGRID", - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { - Event: map[string]interface{}{}, + Event: map[string]any{}, }, }, }, } expected := &Session{ CGRID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.CGRID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, @@ -1606,8 +1606,8 @@ func TestLibsessionsSetMockErrors(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1655,7 +1655,7 @@ type testMockClientSyncSessions struct { *testRPCClientConnection } -func (sT *testMockClientSyncSessions) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientSyncSessions) Call(method string, arg any, rply any) error { queriedSessionIDs := []*SessionID{ { OriginID: "ORIGIN_ID", @@ -1673,11 +1673,11 @@ func TestSyncSessions(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1736,17 +1736,17 @@ func TestAuthEvent(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTime: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTime: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -1771,7 +1771,7 @@ func TestAuthEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.Usage: "invalid_time", }, @@ -1804,8 +1804,8 @@ func TestAuthEventMockCall(t *testing.T) { //mocking the GetMaxSession for checking the error engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTime: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTime: func(args any, reply any) error { usage := args.(*engine.CallDescriptorWithAPIOpts).APIOpts[utils.Usage] if usage != 10 { return utils.ErrNoMoreData @@ -1813,13 +1813,13 @@ func TestAuthEventMockCall(t *testing.T) { *reply.(*time.Duration) = 4 * time.Hour return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -1844,10 +1844,10 @@ func TestAuthEventMockCall(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.Usage: 10, }, } @@ -1862,7 +1862,7 @@ func TestAuthEventMockCall(t *testing.T) { t.Errorf("Expected %+v, received %+v", expectedTime, usage) } - cgrEv.APIOpts = map[string]interface{}{ + cgrEv.APIOpts = map[string]any{ utils.Usage: 20, } expected := "RALS_ERROR:NO_MORE_DATA" @@ -1877,17 +1877,17 @@ func TestChargeEvent(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPostpaid, }, @@ -1899,7 +1899,7 @@ func TestChargeEvent(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -1922,7 +1922,7 @@ func TestChargeEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 10, utils.RequestType: utils.MetaPostpaid, }, @@ -1972,15 +1972,15 @@ func TestUpdateSession(t *testing.T) { dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) - updatedEv := map[string]interface{}{ + updatedEv := map[string]any{ utils.Usage: time.Second, utils.Destination: 10, } ss := &Session{ - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { - Event: map[string]interface{}{}, + Event: map[string]any{}, CD: &engine.CallDescriptor{ RunID: "RUNID_TEST", }, @@ -2009,14 +2009,14 @@ func TestEndSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderDebit: func(args any, reply any) error { return nil }, - utils.ResponderRefundRounding: func(args interface{}, reply interface{}) error { + utils.ResponderRefundRounding: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.CDRsV1StoreSessionCost: func(args interface{}, reply interface{}) error { + utils.CDRsV1StoreSessionCost: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2035,11 +2035,11 @@ func TestEndSession(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) ss := &Session{ - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { TotalUsage: 50 * time.Minute, - Event: map[string]interface{}{}, + Event: map[string]any{}, EventCost: &engine.EventCost{ Usage: utils.DurationPointer(30 * time.Minute), AccountSummary: &engine.AccountSummary{}, @@ -2156,7 +2156,7 @@ func TestBiRPCv1GetActivePassiveSessions(t *testing.T) { t.Errorf("Expected %+v, received %+v", utils.ErrNotFound, err) } - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -2351,8 +2351,8 @@ func TestBiRPCv1ReplicateSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SessionSv1SetPassiveSession: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SessionSv1SetPassiveSession: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2390,13 +2390,13 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv @@ -2416,7 +2416,7 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -2483,14 +2483,14 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2499,13 +2499,13 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.CGREvent).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -2515,7 +2515,7 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2536,10 +2536,10 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1AuthorizeArgs(false, []string{}, false, []string{}, false, []string{}, false, true, @@ -2619,42 +2619,42 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, }, } *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.CGREvent).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -2664,10 +2664,10 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return nil }, }, @@ -2696,10 +2696,10 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1AuthorizeArgs(true, []string{}, true, []string{}, true, []string{}, true, true, @@ -2733,37 +2733,37 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, }, } *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.CGREvent).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AllocateResources: func(args any, reply any) error { usageID := utils.IfaceAsString(args.(*utils.CGREvent).APIOpts[utils.OptsResourcesUsageID]) if usageID == "ORIGIN_ID" { return utils.ErrNotImplemented } return nil }, - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if attrIDs, err := utils.IfaceAsSliceString(args.(*utils.CGREvent).APIOpts[utils.OptsAttributesProfileIDs]); err == nil && len(attrIDs) != 0 { return utils.ErrNotImplemented @@ -2772,10 +2772,10 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = attrRply @@ -2800,11 +2800,11 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1InitSessionArgs(true, []string{}, false, []string{}, false, []string{}, true, false, @@ -2869,7 +2869,7 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { cgrEvent = &utils.CGREvent{ ID: "Test_id", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "ORIGIN_ID", }, @@ -2896,14 +2896,14 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2915,13 +2915,13 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.CGREvent).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2944,10 +2944,10 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "Test_id", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "invalid_usage", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "invalid_DUR_FORMAT", }, } @@ -2992,10 +2992,10 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { //is prepaid cgrEvent = &utils.CGREvent{ ID: "PREPAID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, } @@ -3013,39 +3013,39 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{}, + Event: map[string]any{}, + APIOpts: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, }, } *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AllocateResources: func(args any, reply any) error { return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -3055,10 +3055,10 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return nil }, }, @@ -3087,11 +3087,11 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "ORIGIND_ID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1InitSessionArgs(true, []string{}, @@ -3125,8 +3125,8 @@ func TestBiRPCv1UpdateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if attrIDs, err := utils.IfaceAsSliceString(args.(*utils.CGREvent).APIOpts[utils.OptsAttributesProfileIDs]); err == nil && len(attrIDs) == 1 { return utils.ErrNotImplemented @@ -3148,7 +3148,7 @@ func TestBiRPCv1UpdateSession1(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3206,14 +3206,14 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -3236,11 +3236,11 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "invalid_dur_format", utils.OriginID: "TEST_ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "invalid_dur_format", }, } @@ -3280,14 +3280,14 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.CGRID: "TEST_ID", }, @@ -3297,7 +3297,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3316,7 +3316,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3358,7 +3358,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { } cgrEvent.Event[utils.OriginID] = "ORIGIN_ID" - cgrEvent.APIOpts = make(map[string]interface{}) + cgrEvent.APIOpts = make(map[string]any) cgrEvent.APIOpts[utils.OptsDebitInterval] = "invalid_time_format" args = NewV1TerminateSessionArgs(true, false, false, nil, false, nil, cgrEvent, true) expected = "RALS_ERROR:time: invalid duration \"invalid_time_format\"" @@ -3397,7 +3397,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { cgrEvent = &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3428,8 +3428,8 @@ func TestBiRPCv1TerminateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { if args.(*utils.CGREvent).Tenant == "CHANGED_ID" { return nil } @@ -3450,11 +3450,11 @@ func TestBiRPCv1TerminateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1TerminateSessionArgs(false, true, false, nil, false, nil, cgrEvent, true) var reply string @@ -3497,7 +3497,7 @@ func TestBiRPCv1ProcessCDR(t *testing.T) { sessions := NewSessionS(cfg, dm, nil) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3531,8 +3531,8 @@ func TestBiRPCv1ProcessMessage1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if args.(*utils.CGREvent).ID == "test_id" { return nil } @@ -3554,7 +3554,7 @@ func TestBiRPCv1ProcessMessage1(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3610,15 +3610,15 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1AllocateResources: func(args any, reply any) error { usageID := utils.IfaceAsString(args.(*utils.CGREvent).APIOpts[utils.OptsResourcesUsageID]) if usageID == "ORIGIN_ID" { return nil } return utils.ErrNotImplemented }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -3628,13 +3628,13 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { }} return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3660,10 +3660,10 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } args := NewV1ProcessMessageArgs(false, []string{}, @@ -3716,14 +3716,14 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3731,12 +3731,12 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { attrs := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }, @@ -3747,7 +3747,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { } return utils.ErrNotImplemented }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { if args.(*utils.CGREvent).ID == "SECOND_ID" { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ ProfileID: "ROUTE_PRFID", @@ -3761,7 +3761,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { } return utils.ErrNotImplemented }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3782,7 +3782,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3858,14 +3858,14 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3873,7 +3873,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3893,7 +3893,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3916,7 +3916,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { } args.Flags = []string{utils.MetaSTIRAuthenticate} - args.CGREvent.APIOpts = make(map[string]interface{}) + args.CGREvent.APIOpts = make(map[string]any) args.CGREvent.APIOpts[utils.OptsStirATest] = "stir;test;opts" expected = "*stir_authenticate: missing parts of the message header" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -3924,7 +3924,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { } args.Flags = []string{utils.MetaSTIRInitiate} - args.CGREvent.APIOpts = make(map[string]interface{}) + args.CGREvent.APIOpts = make(map[string]any) args.CGREvent.APIOpts[utils.OptsStirATest] = "stir;test;opts" expected = "*stir_authenticate: open : no such file or directory" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -3940,11 +3940,11 @@ func TestBiRPCv1ProcessEventResources(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3969,14 +3969,14 @@ func TestBiRPCv1ProcessEventResources(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.AccountField: "1001", utils.Subject: "ANY2CNT", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } @@ -4041,8 +4041,8 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { if args.(*utils.CGREvent).ID != "RALS_ID" { return nil } @@ -4051,7 +4051,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -4059,7 +4059,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.ResponderGetCost: func(args interface{}, reply interface{}) error { + utils.ResponderGetCost: func(args any, reply any) error { if args.(*engine.CallDescriptorWithAPIOpts).Tenant == "CHANGED_ID" { return nil } @@ -4090,7 +4090,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.AccountField: "1001", @@ -4124,7 +4124,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { args.Flags = []string{utils.MetaRALs, utils.ConcatenatedKey(utils.MetaRALs, utils.MetaInitiate), utils.MetaChargers} - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) args.APIOpts[utils.OptsDebitInterval] = "invalid_dbtitrvl_format" expected = "RALS_ERROR:time: invalid duration \"invalid_dbtitrvl_format\"" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -4154,14 +4154,14 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -4170,10 +4170,10 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -4202,12 +4202,12 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -4293,14 +4293,14 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -4309,7 +4309,7 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.CDRsV1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.CDRsV1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -4334,13 +4334,13 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.CGRID: "TEST_CGRID", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -4351,7 +4351,7 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { CGRID: "TEST_CGRID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -4406,13 +4406,13 @@ func TestBiRPCv1GetCost(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { attr := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ATTRIBUTES", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "20m", }, }, @@ -4420,7 +4420,7 @@ func TestBiRPCv1GetCost(t *testing.T) { *reply.(*engine.AttrSProcessEventReply) = *attr return nil }, - utils.ResponderGetCost: func(args interface{}, reply interface{}) error { + utils.ResponderGetCost: func(args any, reply any) error { return nil }, }, @@ -4444,12 +4444,12 @@ func TestBiRPCv1GetCost(t *testing.T) { } cgrEvent := &utils.CGREvent{ ID: "TestBiRPCv1GetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, } @@ -4495,7 +4495,7 @@ func TestBiRPCv1GetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ATTRIBUTES", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "20m", }, }, diff --git a/utils/apitpdata.go b/utils/apitpdata.go index e99078201..8f9de78c2 100644 --- a/utils/apitpdata.go +++ b/utils/apitpdata.go @@ -194,7 +194,7 @@ type TPTiming struct { type TPTimingWithAPIOpts struct { *TPTiming Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // ArgsGetTimingID is used by GetTiming API @@ -276,7 +276,7 @@ type AttrSetRatingProfile struct { Subject string // Rating subject, usually the same as account Overwrite bool // Overwrite if exists RatingPlanActivations []*TPRatingActivation // Activate rating plans at specific time - APIOpts map[string]interface{} + APIOpts map[string]any } type AttrGetRatingProfile struct { @@ -530,7 +530,7 @@ type AttrLoadTpFromFolder struct { FolderPath string // Take files from folder absolute path DryRun bool // Do not write to database but parse only Validate bool // Run structural checks on data - APIOpts map[string]interface{} + APIOpts map[string]any Caching *string } @@ -539,7 +539,7 @@ type AttrImportTPFromFolder struct { FolderPath string RunId string CsvSeparator string - APIOpts map[string]interface{} + APIOpts map[string]any } func NewTAFromAccountKey(accountKey string) (*TenantAccount, error) { @@ -653,47 +653,47 @@ func (fltr *CDRsFilter) Prepare() { // RPCCDRsFilter is a filter used in Rpc calls // RPCCDRsFilter is slightly different than CDRsFilter by using string instead of Time filters type RPCCDRsFilter struct { - CGRIDs []string // If provided, it will filter based on the cgrids present in list - NotCGRIDs []string // Filter specific CgrIds out - RunIDs []string // If provided, it will filter on mediation runid - NotRunIDs []string // Filter specific runIds out - OriginIDs []string // If provided, it will filter on OriginIDs - NotOriginIDs []string // Filter specific OriginIDs out - OriginHosts []string // If provided, it will filter cdrhost - NotOriginHosts []string // Filter out specific cdr hosts - Sources []string // If provided, it will filter cdrsource - NotSources []string // Filter out specific CDR sources - ToRs []string // If provided, filter on TypeOfRecord - NotToRs []string // Filter specific TORs out - RequestTypes []string // If provided, it will fiter reqtype - NotRequestTypes []string // Filter out specific request types - Tenants []string // If provided, it will filter tenant - NotTenants []string // If provided, it will filter tenant - Categories []string // If provided, it will filter çategory - NotCategories []string // Filter out specific categories - Accounts []string // If provided, it will filter account - NotAccounts []string // Filter out specific Accounts - Subjects []string // If provided, it will filter the rating subject - NotSubjects []string // Filter out specific subjects - DestinationPrefixes []string // If provided, it will filter on destination prefix - NotDestinationPrefixes []string // Filter out specific destination prefixes - Costs []float64 // Query based on costs specified - NotCosts []float64 // Filter out specific costs out from result - ExtraFields map[string]string // Query based on extra fields content - NotExtraFields map[string]string // Filter out based on extra fields content - SetupTimeStart string // Start of interval, bigger or equal than configured - SetupTimeEnd string // End interval, smaller than setupTime - AnswerTimeStart string // Start of interval, bigger or equal than configured - AnswerTimeEnd string // End interval, smaller than answerTime - CreatedAtStart string // Start of interval, bigger or equal than configured - CreatedAtEnd string // End interval, smaller than - UpdatedAtStart string // Start of interval, bigger or equal than configured - UpdatedAtEnd string // End interval, smaller than - MinUsage string // Start of the usage interval (>=) - MaxUsage string // End of the usage interval (<) - OrderBy string // Ascendent/Descendent - ExtraArgs map[string]interface{} // it will contain optional arguments like: OrderIDStart,OrderIDEnd,MinCost and MaxCost - Paginator // Add pagination + CGRIDs []string // If provided, it will filter based on the cgrids present in list + NotCGRIDs []string // Filter specific CgrIds out + RunIDs []string // If provided, it will filter on mediation runid + NotRunIDs []string // Filter specific runIds out + OriginIDs []string // If provided, it will filter on OriginIDs + NotOriginIDs []string // Filter specific OriginIDs out + OriginHosts []string // If provided, it will filter cdrhost + NotOriginHosts []string // Filter out specific cdr hosts + Sources []string // If provided, it will filter cdrsource + NotSources []string // Filter out specific CDR sources + ToRs []string // If provided, filter on TypeOfRecord + NotToRs []string // Filter specific TORs out + RequestTypes []string // If provided, it will fiter reqtype + NotRequestTypes []string // Filter out specific request types + Tenants []string // If provided, it will filter tenant + NotTenants []string // If provided, it will filter tenant + Categories []string // If provided, it will filter çategory + NotCategories []string // Filter out specific categories + Accounts []string // If provided, it will filter account + NotAccounts []string // Filter out specific Accounts + Subjects []string // If provided, it will filter the rating subject + NotSubjects []string // Filter out specific subjects + DestinationPrefixes []string // If provided, it will filter on destination prefix + NotDestinationPrefixes []string // Filter out specific destination prefixes + Costs []float64 // Query based on costs specified + NotCosts []float64 // Filter out specific costs out from result + ExtraFields map[string]string // Query based on extra fields content + NotExtraFields map[string]string // Filter out based on extra fields content + SetupTimeStart string // Start of interval, bigger or equal than configured + SetupTimeEnd string // End interval, smaller than setupTime + AnswerTimeStart string // Start of interval, bigger or equal than configured + AnswerTimeEnd string // End interval, smaller than answerTime + CreatedAtStart string // Start of interval, bigger or equal than configured + CreatedAtEnd string // End interval, smaller than + UpdatedAtStart string // Start of interval, bigger or equal than configured + UpdatedAtEnd string // End interval, smaller than + MinUsage string // Start of the usage interval (>=) + MaxUsage string // End of the usage interval (<) + OrderBy string // Ascendent/Descendent + ExtraArgs map[string]any // it will contain optional arguments like: OrderIDStart,OrderIDEnd,MinCost and MaxCost + Paginator // Add pagination } func (fltr *RPCCDRsFilter) AsCDRsFilter(timezone string) (cdrFltr *CDRsFilter, err error) { @@ -859,8 +859,8 @@ type AttrSetBalance struct { Account string BalanceType string Value float64 - Balance map[string]interface{} - ActionExtraData *map[string]interface{} + Balance map[string]any + ActionExtraData *map[string]any Cdrlog bool } @@ -873,8 +873,8 @@ type AttrSetBalances struct { type AttrBalance struct { BalanceType string Value float64 - Balance map[string]interface{} - ActionExtraData *map[string]interface{} + Balance map[string]any + ActionExtraData *map[string]any Cdrlog bool } @@ -903,7 +903,7 @@ type TPActivationInterval struct { type ArgsComputeFilterIndexIDs struct { Tenant string Context string - APIOpts map[string]interface{} + APIOpts map[string]any AttributeIDs []string ResourceIDs []string StatIDs []string @@ -919,7 +919,7 @@ type ArgsComputeFilterIndexIDs struct { type ArgsComputeFilterIndexes struct { Tenant string Context string - APIOpts map[string]interface{} + APIOpts map[string]any AttributeS bool ResourceS bool StatS bool @@ -953,7 +953,7 @@ func (ai *ActivationInterval) IsActiveAtTime(atTime time.Time) bool { // Attributes to send on SessionDisconnect by SMG type AttrDisconnectSession struct { - EventStart map[string]interface{} + EventStart map[string]any Reason string } @@ -1086,7 +1086,7 @@ type TPDispatcherProfile struct { FilterIDs []string ActivationInterval *TPActivationInterval // Time when this limit becomes active and expires Strategy string - StrategyParams []interface{} // ie for distribution, set here the pool weights + StrategyParams []any // ie for distribution, set here the pool weights Weight float64 Hosts []*TPDispatcherHostProfile } @@ -1095,9 +1095,9 @@ type TPDispatcherProfile struct { type TPDispatcherHostProfile struct { ID string FilterIDs []string - Weight float64 // applied in case of multiple connections need to be ordered - Params []interface{} // additional parameters stored for a session - Blocker bool // no connection after this one + Weight float64 // applied in case of multiple connections need to be ordered + Params []any // additional parameters stored for a session + Blocker bool // no connection after this one } // TPDispatcherHost is used in APIs to manage remotely offline DispatcherHost @@ -1256,18 +1256,18 @@ func AppendToSMCostFilter(smcFilter *SMCostFilter, fieldType, fieldName string, type RPCCDRsFilterWithAPIOpts struct { *RPCCDRsFilter - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } type ArgsGetCacheItemIDsWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetCacheItemIDs } type ArgsGetCacheItemWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetCacheItem } @@ -1309,7 +1309,7 @@ func NewAttrReloadCacheWithOpts() *AttrReloadCacheWithAPIOpts { } } -func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts map[string]interface{}) *AttrReloadCacheWithAPIOpts { +func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts map[string]any) *AttrReloadCacheWithAPIOpts { return &AttrReloadCacheWithAPIOpts{ Tenant: tnt, APIOpts: opts, @@ -1350,39 +1350,39 @@ func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts } type AttrReloadCacheWithAPIOpts struct { - APIOpts map[string]interface{} `json:",omitempty"` - Tenant string `json:",omitempty"` - DestinationIDs []string `json:",omitempty"` - ReverseDestinationIDs []string `json:",omitempty"` - RatingPlanIDs []string `json:",omitempty"` - RatingProfileIDs []string `json:",omitempty"` - ActionIDs []string `json:",omitempty"` - ActionPlanIDs []string `json:",omitempty"` - AccountActionPlanIDs []string `json:",omitempty"` - ActionTriggerIDs []string `json:",omitempty"` - SharedGroupIDs []string `json:",omitempty"` - ResourceProfileIDs []string `json:",omitempty"` - ResourceIDs []string `json:",omitempty"` - StatsQueueIDs []string `json:",omitempty"` - StatsQueueProfileIDs []string `json:",omitempty"` - ThresholdIDs []string `json:",omitempty"` - ThresholdProfileIDs []string `json:",omitempty"` - FilterIDs []string `json:",omitempty"` - RouteProfileIDs []string `json:",omitempty"` - AttributeProfileIDs []string `json:",omitempty"` - ChargerProfileIDs []string `json:",omitempty"` - DispatcherProfileIDs []string `json:",omitempty"` - DispatcherHostIDs []string `json:",omitempty"` - Dispatchers []string `json:",omitempty"` - TimingIDs []string `json:",omitempty"` - AttributeFilterIndexIDs []string `json:",omitempty"` - ResourceFilterIndexIDs []string `json:",omitempty"` - StatFilterIndexIDs []string `json:",omitempty"` - ThresholdFilterIndexIDs []string `json:",omitempty"` - RouteFilterIndexIDs []string `json:",omitempty"` - ChargerFilterIndexIDs []string `json:",omitempty"` - DispatcherFilterIndexIDs []string `json:",omitempty"` - FilterIndexIDs []string `json:",omitempty"` + APIOpts map[string]any `json:",omitempty"` + Tenant string `json:",omitempty"` + DestinationIDs []string `json:",omitempty"` + ReverseDestinationIDs []string `json:",omitempty"` + RatingPlanIDs []string `json:",omitempty"` + RatingProfileIDs []string `json:",omitempty"` + ActionIDs []string `json:",omitempty"` + ActionPlanIDs []string `json:",omitempty"` + AccountActionPlanIDs []string `json:",omitempty"` + ActionTriggerIDs []string `json:",omitempty"` + SharedGroupIDs []string `json:",omitempty"` + ResourceProfileIDs []string `json:",omitempty"` + ResourceIDs []string `json:",omitempty"` + StatsQueueIDs []string `json:",omitempty"` + StatsQueueProfileIDs []string `json:",omitempty"` + ThresholdIDs []string `json:",omitempty"` + ThresholdProfileIDs []string `json:",omitempty"` + FilterIDs []string `json:",omitempty"` + RouteProfileIDs []string `json:",omitempty"` + AttributeProfileIDs []string `json:",omitempty"` + ChargerProfileIDs []string `json:",omitempty"` + DispatcherProfileIDs []string `json:",omitempty"` + DispatcherHostIDs []string `json:",omitempty"` + Dispatchers []string `json:",omitempty"` + TimingIDs []string `json:",omitempty"` + AttributeFilterIndexIDs []string `json:",omitempty"` + ResourceFilterIndexIDs []string `json:",omitempty"` + StatFilterIndexIDs []string `json:",omitempty"` + ThresholdFilterIndexIDs []string `json:",omitempty"` + RouteFilterIndexIDs []string `json:",omitempty"` + ChargerFilterIndexIDs []string `json:",omitempty"` + DispatcherFilterIndexIDs []string `json:",omitempty"` + FilterIndexIDs []string `json:",omitempty"` } func (a *AttrReloadCacheWithAPIOpts) Map() map[string][]string { @@ -1423,13 +1423,13 @@ func (a *AttrReloadCacheWithAPIOpts) Map() map[string][]string { } type AttrCacheIDsWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string CacheIDs []string } type ArgsGetGroupWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetGroup } @@ -1453,7 +1453,7 @@ type SessionFilter struct { Limit *int Filters []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type RatingPlanCostArg struct { @@ -1461,12 +1461,12 @@ type RatingPlanCostArg struct { Destination string SetupTime string Usage string - APIOpts map[string]interface{} + APIOpts map[string]any } type SessionIDsWithArgsDispatcher struct { IDs []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type GetCostOnRatingPlansArgs struct { @@ -1477,7 +1477,7 @@ type GetCostOnRatingPlansArgs struct { SetupTime time.Time Usage time.Duration RatingPlanIDs []string - APIOpts map[string]interface{} + APIOpts map[string]any } type GetMaxSessionTimeOnAccountsArgs struct { @@ -1487,7 +1487,7 @@ type GetMaxSessionTimeOnAccountsArgs struct { SetupTime time.Time Usage time.Duration AccountIDs []string - APIOpts map[string]interface{} + APIOpts map[string]any } type ArgExportToFolder struct { @@ -1505,9 +1505,9 @@ type DPRArgs struct { type ArgCacheReplicateSet struct { CacheID string ItemID string - Value interface{} + Value any Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any GroupIDs []string } @@ -1519,7 +1519,7 @@ type Compiler interface { type ArgCacheReplicateRemove struct { CacheID string ItemID string - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } @@ -1527,7 +1527,7 @@ type AttrsExecuteActions struct { ActionPlanID string TimeStart time.Time TimeEnd time.Time // replay the action timings between the two dates - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } @@ -1535,7 +1535,7 @@ type AttrsExecuteActionPlans struct { ActionPlanIDs []string Tenant string AccountID string - APIOpts map[string]interface{} + APIOpts map[string]any } type ArgExportCDRs struct { diff --git a/utils/apitpdata_test.go b/utils/apitpdata_test.go index a33abdc1f..44995b8f5 100644 --- a/utils/apitpdata_test.go +++ b/utils/apitpdata_test.go @@ -535,7 +535,7 @@ func TestRPCCDRsFilterAsCDRsFilter(t *testing.T) { MinUsage: "MinUsage", MaxUsage: "MaxUsage", OrderBy: "OrderBy", - ExtraArgs: map[string]interface{}{ + ExtraArgs: map[string]any{ OrderIDStart: 0, OrderIDEnd: 0, MinCost: 0., diff --git a/utils/birpcint_client.go b/utils/birpcint_client.go index 2762cf608..56dbfa933 100644 --- a/utils/birpcint_client.go +++ b/utils/birpcint_client.go @@ -26,7 +26,7 @@ import ( ) // NewBiJSONrpcClient will create a bidirectional JSON client connection -func NewBiJSONrpcClient(addr string, handlers map[string]interface{}) (*rpc2.Client, error) { +func NewBiJSONrpcClient(addr string, handlers map[string]any) (*rpc2.Client, error) { conn, err := net.Dial(TCP, addr) if err != nil { return nil, err diff --git a/utils/birpcint_client_test.go b/utils/birpcint_client_test.go index aff464761..31b3394b2 100644 --- a/utils/birpcint_client_test.go +++ b/utils/birpcint_client_test.go @@ -28,7 +28,7 @@ import ( func TestNewBiJSONrpcClient(t *testing.T) { //empty check addr := "127.0.0.1:4024" - handlers := map[string]interface{}{} + handlers := map[string]any{} rcv, err := NewBiJSONrpcClient(addr, handlers) if err == nil || rcv != nil { t.Error("Expencting: \"connection refused\", received : nil") @@ -38,7 +38,7 @@ func TestNewBiJSONrpcClient(t *testing.T) { if err != nil { t.Error(err) } - handlers = map[string]interface{}{ + handlers = map[string]any{ "": func(*rpc2.Client, *struct{}, *string) error { return nil }, } diff --git a/utils/cgrevent.go b/utils/cgrevent.go index d6a5914b2..7f26783b4 100644 --- a/utils/cgrevent.go +++ b/utils/cgrevent.go @@ -28,8 +28,8 @@ type CGREvent struct { Tenant string ID string Time *time.Time // event time - Event map[string]interface{} - APIOpts map[string]interface{} + Event map[string]any + APIOpts map[string]any clnb bool //rpcclonable } @@ -130,8 +130,8 @@ func (ev *CGREvent) Clone() (clned *CGREvent) { clned = &CGREvent{ Tenant: ev.Tenant, ID: ev.ID, - Event: make(map[string]interface{}), // a bit forced but safe - APIOpts: make(map[string]interface{}), + Event: make(map[string]any), + APIOpts: make(map[string]any), } if ev.Time != nil { clned.Time = new(time.Time) @@ -157,11 +157,11 @@ func (cgrEv *CGREvent) AsDataProvider() (ev DataProvider) { // EventWithFlags is used where flags are needed to mark processing type EventWithFlags struct { Flags []string - Event map[string]interface{} + Event map[string]any } // GetRoutePaginatorFromOpts will consume supplierPaginator if present -func GetRoutePaginatorFromOpts(ev map[string]interface{}) (args Paginator, err error) { +func GetRoutePaginatorFromOpts(ev map[string]any) (args Paginator, err error) { if ev == nil { return } @@ -198,7 +198,7 @@ func GetRoutePaginatorFromOpts(ev map[string]interface{}) (args Paginator, err e } // NMAsCGREvent builds a CGREvent considering Time as time.Now() -// and Event as linear map[string]interface{} with joined paths +// and Event as linear map[string]any with joined paths // treats particular case when the value of map is []*NMItem - used in agents/AgentRequest func NMAsCGREvent(nM *OrderedNavigableMap, tnt string, pathSep string, opts MapStorage) (cgrEv *CGREvent) { if nM == nil { @@ -212,7 +212,7 @@ func NMAsCGREvent(nM *OrderedNavigableMap, tnt string, pathSep string, opts MapS Tenant: tnt, ID: UUIDSha1Prefix(), Time: TimePointer(time.Now()), - Event: make(map[string]interface{}), + Event: make(map[string]any), APIOpts: opts, } for ; el != nil; el = el.Next() { @@ -236,7 +236,7 @@ func (attr *CGREvent) SetCloneable(rpcCloneable bool) { } // RPCClone implements rpcclient.RPCCloner interface -func (attr *CGREvent) RPCClone() (interface{}, error) { +func (attr *CGREvent) RPCClone() (any, error) { if !attr.clnb { return attr, nil } diff --git a/utils/cgrevent_test.go b/utils/cgrevent_test.go index 55e2eb1da..e265932b8 100644 --- a/utils/cgrevent_test.go +++ b/utils/cgrevent_test.go @@ -33,7 +33,7 @@ func TestCGREventHasField(t *testing.T) { } //normal check cgrEvent = &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, }, } @@ -52,7 +52,7 @@ func TestCGREventCheckMandatoryFields(t *testing.T) { t.Error(err) } cgrEvent = &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, "test1": 1, "test2": 2, @@ -83,7 +83,7 @@ func TestCGREventFielAsString(t *testing.T) { } //normal check cgrEvent = &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, "test1": 1, "test2": 2, @@ -105,14 +105,14 @@ func TestLibRoutesUsage(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, }, } seErr := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: make(map[string]interface{}), + Event: make(map[string]any), } answ, err := se.FieldAsDuration(Usage) if err != nil { @@ -131,14 +131,14 @@ func TestCGREventFieldAsTime(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), }, } seErr := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: make(map[string]interface{}), + Event: make(map[string]any), } answ, err := se.FieldAsTime(AnswerTime, "UTC") if err != nil { @@ -157,7 +157,7 @@ func TestCGREventFieldAsString(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "supplierprofile1": "Supplier", "UsageInterval": time.Second, "PddInterval": "1s", @@ -198,7 +198,7 @@ func TestCGREventFieldAsFloat64(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), "supplierprofile1": "Supplier", "UsageInterval": "54.2", @@ -265,14 +265,14 @@ func TestCGREventClone(t *testing.T) { Tenant: "cgrates.org", ID: "supplierEvent1", Time: &now, - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), "supplierprofile1": "Supplier", "UsageInterval": "54.2", "PddInterval": "1s", "Weight": 20.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 12, }, } @@ -287,7 +287,7 @@ func TestCGREventClone(t *testing.T) { func TestCGREventconsumeRoutePaginator(t *testing.T) { //empty check - var opts map[string]interface{} + var opts map[string]any rcv, err := GetRoutePaginatorFromOpts(opts) if err != nil { t.Error(err) @@ -305,7 +305,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) } //normal check - opts = map[string]interface{}{ + opts = map[string]any{ OptsRoutesLimit: 18, OptsRoutesOffset: 20, } @@ -328,7 +328,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) } //check without *rouLimit, but with *rouOffset - opts = map[string]interface{}{ + opts = map[string]any{ OptsRoutesOffset: 20, } @@ -349,7 +349,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) } //check with notAnInt at *rouLimit - opts = map[string]interface{}{ + opts = map[string]any{ OptsRoutesLimit: "Not an int", } eOut = Paginator{} @@ -361,7 +361,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) } //check with notAnInt at and *rouOffset - opts = map[string]interface{}{ + opts = map[string]any{ OptsRoutesOffset: "Not an int", } eOut = Paginator{} @@ -375,7 +375,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) { } func TestCGREventconsumeRoutePaginatorCase1(t *testing.T) { - opts := map[string]interface{}{} + opts := map[string]any{} if _, err := GetRoutePaginatorFromOpts(opts); err != nil { t.Error(err) } @@ -383,7 +383,7 @@ func TestCGREventconsumeRoutePaginatorCase1(t *testing.T) { func TestCGREventOptAsInt64(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": "13", }, } @@ -407,7 +407,7 @@ func TestCGREventFieldAsInt64(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), "supplierprofile1": "Supplier", "UsageInterval": "54", @@ -463,7 +463,7 @@ func TestCGREventOptAsStringEmpty(t *testing.T) { func TestCGREventOptAsString(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 13, }, } @@ -496,7 +496,7 @@ func TestCGREventOptAsDurationEmpty(t *testing.T) { func TestCGREventOptAsDuration(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 30, }, } @@ -514,11 +514,11 @@ func TestCGREventOptAsDuration(t *testing.T) { func TestCGREventAsDataProvider(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey1": 13, "testKey2": "testString1", }, - Event: map[string]interface{}{ + Event: map[string]any{ "testKey1": 30, "testKey2": "testString2", }, @@ -612,7 +612,7 @@ func TestNMAsCGREvent(t *testing.T) { }}}); err != nil { t.Error(err) } - eEv := map[string]interface{}{ + eEv := map[string]any{ "FirstLevel2.SecondLevel2.Field2": "Value2", "FirstLevel.SecondLevel.ThirdLevel.Fld1": "Val1", "FirstLevel2.Field3": "Value3", @@ -634,10 +634,10 @@ func TestCGREventRPCClone(t *testing.T) { ID: "234", clnb: false, Time: TimePointer(time.Date(2013, 12, 30, 15, 0, 1, 0, time.UTC)), - Event: map[string]interface{}{ + Event: map[string]any{ "key": "value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "rand": "we", }, } diff --git a/utils/coreutils.go b/utils/coreutils.go index 47e7e13f8..a9321f8e6 100644 --- a/utils/coreutils.go +++ b/utils/coreutils.go @@ -554,18 +554,18 @@ func SliceStringPointer(d []string) *[]string { return &d } -func ToIJSON(v interface{}) string { +func ToIJSON(v any) string { b, _ := json.MarshalIndent(v, "", " ") return string(b) } -func ToJSON(v interface{}) string { +func ToJSON(v any) string { b, _ := json.Marshal(v) return string(b) } // Simple object cloner, b should be a pointer towards a value into which we want to decode -func Clone(a, b interface{}) error { +func Clone(a, b any) error { buff := new(bytes.Buffer) enc := gob.NewEncoder(buff) dec := gob.NewDecoder(buff) @@ -786,7 +786,7 @@ type PaginatorWithTenant struct { type TenantWithAPIOpts struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type MemoryPrf struct { @@ -794,7 +794,7 @@ type MemoryPrf struct { DirPath string Interval time.Duration NrFiles int - APIOpts map[string]interface{} + APIOpts map[string]any } type TenantID struct { @@ -804,7 +804,7 @@ type TenantID struct { type TenantIDWithAPIOpts struct { *TenantID - APIOpts map[string]interface{} + APIOpts map[string]any } func (tID *TenantID) TenantID() string { @@ -818,7 +818,7 @@ func (tID *TenantIDWithAPIOpts) TenantIDConcatenated() string { // RPCCall is a generic method calling RPC on a struct instance // serviceMethod is assumed to be in the form InstanceV1.Method // where V1Method will become RPC method called on instance -func RPCCall(inst interface{}, serviceMethod string, args interface{}, reply interface{}) error { +func RPCCall(inst any, serviceMethod string, args any, reply any) error { methodSplit := strings.Split(serviceMethod, ".") if len(methodSplit) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -844,7 +844,7 @@ func RPCCall(inst interface{}, serviceMethod string, args interface{}, reply int } // ApierRPCCall implements generic RPCCall for APIer instances -func APIerRPCCall(inst interface{}, serviceMethod string, args interface{}, reply interface{}) error { +func APIerRPCCall(inst any, serviceMethod string, args any, reply any) error { methodSplit := strings.Split(serviceMethod, ".") if len(methodSplit) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -872,7 +872,7 @@ func APIerRPCCall(inst interface{}, serviceMethod string, args interface{}, repl // serviceMethod is assumed to be in the form InstanceV1.Method // where BiRPCV1Method will become RPC method called on instance // the subsystem is not checked -func BiRPCCall(inst interface{}, clnt rpcclient.ClientConnector, serviceMethod string, args interface{}, reply interface{}) error { +func BiRPCCall(inst any, clnt rpcclient.ClientConnector, serviceMethod string, args any, reply any) error { parts := strings.Split(serviceMethod, ".") if len(parts) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -909,7 +909,7 @@ func BiRPCCall(inst interface{}, clnt rpcclient.ClientConnector, serviceMethod s // CachedRPCResponse is used to cache a RPC response type CachedRPCResponse struct { - Result interface{} + Result any Error error } @@ -967,7 +967,7 @@ func LongExecTimeDetector(logID string, maxDur time.Duration) (endchan chan stru } type StringWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Arg string } @@ -989,7 +989,7 @@ func RandomInteger(min, max int) int { type LoadIDsWithAPIOpts struct { LoadIDs map[string]int64 Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // IsURL returns if the path is an URL @@ -1004,7 +1004,7 @@ type GetIndexesArg struct { TntCtx string IdxKey string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // SetIndexesArg the API arguments needed for seting an index @@ -1013,18 +1013,18 @@ type SetIndexesArg struct { TntCtx string Indexes map[string]StringSet Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type DurationArgs struct { Duration time.Duration - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } type DirectoryArgs struct { DirPath string - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } @@ -1103,8 +1103,8 @@ func (b *boolGen) RandomBool() bool { // GenerateDBItemOpts will create the options for DB replication // if they are empty they should be omitted -func GenerateDBItemOpts(apiKey, routeID, cache, rmtHost string) (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func GenerateDBItemOpts(apiKey, routeID, cache, rmtHost string) (mp map[string]any) { + mp = make(map[string]any) if apiKey != EmptyString { mp[OptsAPIKey] = apiKey } @@ -1153,6 +1153,6 @@ func SplitPath(rule string, sep byte, n int) (splt []string) { type PanicMessageArgs struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any Message string } diff --git a/utils/coreutils_test.go b/utils/coreutils_test.go index 17e1ddf68..0ace1e3f1 100644 --- a/utils/coreutils_test.go +++ b/utils/coreutils_test.go @@ -1073,7 +1073,7 @@ func TestClone(t *testing.T) { } // Clone from an interface c := "mystr" - ifaceC := interface{}(c) + ifaceC := any(c) clndIface := reflect.Indirect(reflect.New(reflect.TypeOf(ifaceC))).Interface().(string) if err := Clone(ifaceC, &clndIface); err != nil { t.Error(err) @@ -1384,15 +1384,15 @@ func (tRPC *TestRPC) V1Error(args *string, reply *string) error { return errors.New("V1_err_test") } -func (tRPC *TestRPC) Call(args interface{}, reply interface{}) error { +func (tRPC *TestRPC) Call(args any, reply any) error { return nil } -func (tRPC *TestRPC) V1Error2(args interface{}, reply interface{}) (int, error) { +func (tRPC *TestRPC) V1Error2(args any, reply any) (int, error) { return 0, nil } -func (tRPC *TestRPC) V1Error3(args interface{}, reply interface{}) int { +func (tRPC *TestRPC) V1Error3(args any, reply any) int { return 0 } @@ -1432,15 +1432,15 @@ func (tRPC *TestRPC2) Error(args *string, reply *string) error { return errors.New("V1_err_test") } -func (tRPC *TestRPC2) Call(args interface{}, reply interface{}) error { +func (tRPC *TestRPC2) Call(args any, reply any) error { return nil } -func (tRPC *TestRPC2) Error2(args interface{}, reply interface{}) (int, error) { +func (tRPC *TestRPC2) Error2(args any, reply any) (int, error) { return 0, nil } -func (tRPC *TestRPC2) Error3(args interface{}, reply interface{}) int { +func (tRPC *TestRPC2) Error3(args any, reply any) int { return 0 } @@ -1717,24 +1717,24 @@ type server struct{} type client struct{} -func (c client) Call(serviceMethod string, args interface{}, reply interface{}) (err error) { +func (c client) Call(serviceMethod string, args any, reply any) (err error) { err = ErrExists return } -func (srv *server) BiRPCv1ValidMethod(cl rpcclient.ClientConnector, args interface{}, req interface{}) error { +func (srv *server) BiRPCv1ValidMethod(cl rpcclient.ClientConnector, args any, req any) error { return nil } -func (srv *server) BiRPCv1MultipleParams(cl rpcclient.ClientConnector, args interface{}, req interface{}) (int, error) { +func (srv *server) BiRPCv1MultipleParams(cl rpcclient.ClientConnector, args any, req any) (int, error) { return 1, nil } -func (srv *server) BiRPCv1NoErrorReturn(cl rpcclient.ClientConnector, args interface{}, req interface{}) int { +func (srv *server) BiRPCv1NoErrorReturn(cl rpcclient.ClientConnector, args any, req any) int { return 1 } -func (srv *server) BiRPCv1FinalError(cl rpcclient.ClientConnector, args interface{}, req interface{}) (err error) { +func (srv *server) BiRPCv1FinalError(cl rpcclient.ClientConnector, args any, req any) (err error) { err = ErrExists return } @@ -1809,7 +1809,7 @@ func TestCoreUtilsGenerateDBItemOpts(t *testing.T) { cache := "testKey3" rmtHost := "testKey4" - expected := map[string]interface{}{ + expected := map[string]any{ OptsAPIKey: apiKey, OptsRouteID: routeID, CacheOpt: cache, diff --git a/utils/dataconverter.go b/utils/dataconverter.go index 8233b27b4..c60db5814 100644 --- a/utils/dataconverter.go +++ b/utils/dataconverter.go @@ -39,7 +39,7 @@ type DataConverters []DataConverter // ConvertString converts from and to string func (dcs DataConverters) ConvertString(in string) (out string, err error) { - outIface := interface{}(in) + outIface := any(in) for _, cnv := range dcs { if outIface, err = cnv.Convert(outIface); err != nil { return @@ -50,7 +50,7 @@ func (dcs DataConverters) ConvertString(in string) (out string, err error) { // DataConverter represents functions which should convert input into output type DataConverter interface { - Convert(interface{}) (interface{}, error) + Convert(any) (any, error) } // NewDataConverter is a factory of converters @@ -137,8 +137,8 @@ func NewDurationSecondsConverter(params string) (hdlr DataConverter, err error) // DurationSecondsConverter converts duration into seconds encapsulated in float64 type DurationSecondsConverter struct{} -func (mS *DurationSecondsConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationSecondsConverter) Convert(in any) ( + out any, err error) { var inDur time.Duration if inDur, err = IfaceAsDuration(in); err != nil { return nil, err @@ -155,8 +155,8 @@ func NewDurationNanosecondsConverter(params string) ( // DurationNanosecondsConverter converts duration into nanoseconds encapsulated in int64 type DurationNanosecondsConverter struct{} -func (mS *DurationNanosecondsConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationNanosecondsConverter) Convert(in any) ( + out any, err error) { var inDur time.Duration if inDur, err = IfaceAsDuration(in); err != nil { return nil, err @@ -199,7 +199,7 @@ type RoundConverter struct { Method string } -func (rnd *RoundConverter) Convert(in interface{}) (out interface{}, err error) { +func (rnd *RoundConverter) Convert(in any) (out any, err error) { var inFloat float64 if inFloat, err = IfaceAsFloat64(in); err != nil { return @@ -225,7 +225,7 @@ type MultiplyConverter struct { Value float64 } -func (m *MultiplyConverter) Convert(in interface{}) (out interface{}, err error) { +func (m *MultiplyConverter) Convert(in any) (out any, err error) { var inFloat64 float64 if inFloat64, err = IfaceAsFloat64(in); err != nil { return nil, err @@ -251,7 +251,7 @@ type DivideConverter struct { Value float64 } -func (m *DivideConverter) Convert(in interface{}) (out interface{}, err error) { +func (m *DivideConverter) Convert(in any) (out any, err error) { var inFloat64 float64 if inFloat64, err = IfaceAsFloat64(in); err != nil { return nil, err @@ -267,8 +267,8 @@ func NewDurationConverter(params string) (hdlr DataConverter, err error) { // DurationConverter converts duration into seconds encapsulated in float64 type DurationConverter struct{} -func (mS *DurationConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationConverter) Convert(in any) ( + out any, err error) { return IfaceAsDuration(in) } @@ -307,7 +307,7 @@ type PhoneNumberConverter struct { Format phonenumbers.PhoneNumberFormat } -func (lc *PhoneNumberConverter) Convert(in interface{}) (out interface{}, err error) { +func (lc *PhoneNumberConverter) Convert(in any) (out any, err error) { num, err := phonenumbers.Parse(IfaceAsString(in), lc.CountryCode) if err != nil { return nil, err @@ -319,7 +319,7 @@ func (lc *PhoneNumberConverter) Convert(in interface{}) (out interface{}, err er type IP2HexConverter struct{} // Convert implements DataConverter interface -func (*IP2HexConverter) Convert(in interface{}) (out interface{}, err error) { +func (*IP2HexConverter) Convert(in any) (out any, err error) { var ip net.IP switch val := in.(type) { case string: @@ -342,7 +342,7 @@ func (*IP2HexConverter) Convert(in interface{}) (out interface{}, err error) { type SIPURIHostConverter struct{} // Convert implements DataConverter interface -func (*SIPURIHostConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIHostConverter) Convert(in any) (out any, err error) { return sipingo.HostFrom(IfaceAsString(in)), nil } @@ -350,7 +350,7 @@ func (*SIPURIHostConverter) Convert(in interface{}) (out interface{}, err error) type SIPURIUserConverter struct{} // Convert implements DataConverter interface -func (*SIPURIUserConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIUserConverter) Convert(in any) (out any, err error) { return sipingo.UserFrom(IfaceAsString(in)), nil } @@ -358,7 +358,7 @@ func (*SIPURIUserConverter) Convert(in interface{}) (out interface{}, err error) type SIPURIMethodConverter struct{} // Convert implements DataConverter interface -func (*SIPURIMethodConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIMethodConverter) Convert(in any) (out any, err error) { return sipingo.MethodFrom(IfaceAsString(in)), nil } @@ -371,8 +371,8 @@ type TimeStringConverter struct { } // Convert implements DataConverter interface -func (tS *TimeStringConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (tS *TimeStringConverter) Convert(in any) ( + out any, err error) { tm, err := ParseTimeDetectLayout(in.(string), EmptyString) if err != nil { return nil, err @@ -384,7 +384,7 @@ func (tS *TimeStringConverter) Convert(in interface{}) ( type String2HexConverter struct{} // Convert implements DataConverter interface -func (*String2HexConverter) Convert(in interface{}) (o interface{}, err error) { +func (*String2HexConverter) Convert(in any) (o any, err error) { var out string if out = hex.EncodeToString([]byte(IfaceAsString(in))); len(out) == 0 { o = out @@ -398,8 +398,8 @@ func (*String2HexConverter) Convert(in interface{}) (o interface{}, err error) { type UnixTimeConverter struct{} // Convert implements DataConverter interface -func (tS *UnixTimeConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (tS *UnixTimeConverter) Convert(in any) ( + out any, err error) { var tm time.Time if tm, err = ParseTimeDetectLayout(in.(string), EmptyString); err != nil { return @@ -441,8 +441,8 @@ type RandomConverter struct { } // Convert implements DataConverter interface -func (rC *RandomConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (rC *RandomConverter) Convert(in any) ( + out any, err error) { if rC.begin == 0 { if rC.end == 0 { return rand.Int(), nil @@ -462,13 +462,13 @@ func (rC *RandomConverter) Convert(in interface{}) ( type LengthConverter struct{} // Convert implements DataConverter interface -func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { +func (LengthConverter) Convert(in any) (out any, err error) { switch val := in.(type) { case string: return len(val), nil case []string: return len(val), nil - case []interface{}: + case []any: return len(val), nil case []bool: return len(val), nil @@ -511,10 +511,10 @@ func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { type SliceConverter struct{} // Convert implements DataConverter interface -func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { +func (SliceConverter) Convert(in any) (out any, err error) { switch val := in.(type) { case []string, - []interface{}, + []any, []bool, []int, []int8, @@ -536,7 +536,7 @@ func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { src := IfaceAsString(in) if strings.HasPrefix(src, IdxStart) && strings.HasSuffix(src, IdxEnd) { // it has a similar structure to a json marshaled slice - var slice []interface{} + var slice []any if err := json.Unmarshal([]byte(src), &slice); err == nil { // no error when unmarshal safe to asume that this is a slice return slice, nil } @@ -548,14 +548,14 @@ func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { type Float64Converter struct{} // Convert implements DataConverter interface -func (Float64Converter) Convert(in interface{}) (interface{}, error) { +func (Float64Converter) Convert(in any) (any, error) { return IfaceAsFloat64(in) } // e164DomainConverter extracts the domain part out of a NAPTR name record type e164DomainConverter struct{} -func (e164DomainConverter) Convert(in interface{}) (interface{}, error) { +func (e164DomainConverter) Convert(in any) (any, error) { name := IfaceAsString(in) if i := strings.Index(name, ".e164."); i != -1 { name = name[i:] @@ -566,7 +566,7 @@ func (e164DomainConverter) Convert(in interface{}) (interface{}, error) { // e164Converter extracts the E164 address out of a NAPTR name record type e164Converter struct{} -func (e164Converter) Convert(in interface{}) (interface{}, error) { +func (e164Converter) Convert(in any) (any, error) { name := IfaceAsString(in) i := strings.Index(name, ".e164.") if i == -1 { @@ -579,7 +579,7 @@ func (e164Converter) Convert(in interface{}) (interface{}, error) { // JSONConverter converts an object to json string type JSONConverter struct{} -func (jsnC JSONConverter) Convert(in interface{}) (interface{}, error) { +func (jsnC JSONConverter) Convert(in any) (any, error) { b, err := json.Marshal(in) if err != nil { return EmptyString, err diff --git a/utils/dataconverter_test.go b/utils/dataconverter_test.go index be71e45b8..540385d02 100644 --- a/utils/dataconverter_test.go +++ b/utils/dataconverter_test.go @@ -682,7 +682,7 @@ func TestHexConvertor(t *testing.T) { type testMockConverter struct{} // Convert function to implement DataConverter -func (*testMockConverter) Convert(interface{}) (interface{}, error) { return nil, ErrNotFound } +func (*testMockConverter) Convert(any) (any, error) { return nil, ErrNotFound } func TestDataConvertersConvertString2(t *testing.T) { hex, err := NewDataConverter(MetaIP2Hex) if err != nil { @@ -1047,7 +1047,7 @@ func TestLenTimeConverter3(t *testing.T) { } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) } - if rcv, err := cnv.Convert([]interface{}{}); err != nil { + if rcv, err := cnv.Convert([]any{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) @@ -1177,7 +1177,7 @@ func TestSliceConverter(t *testing.T) { } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) } - expected2 := []interface{}{"A", "B"} + expected2 := []any{"A", "B"} if rcv, err := cnv.Convert(`["A","B"]`); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected2, rcv) { @@ -1270,10 +1270,10 @@ func TestDataConverterConvertJSONOK(t *testing.T) { obj := &CGREvent{ Tenant: "cgrates.org", ID: "TestCGREv", - Event: map[string]interface{}{ + Event: map[string]any{ AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "opt": "value", }, } diff --git a/utils/datanode.go b/utils/datanode.go index 6b5b469d4..e9c388c57 100644 --- a/utils/datanode.go +++ b/utils/datanode.go @@ -64,7 +64,7 @@ func NewDataNode(path []string) (n *DataNode) { } // NewLeafNode creates a leaf node with given value -func NewLeafNode(val interface{}) *DataNode { +func NewLeafNode(val any) *DataNode { return &DataNode{ Type: NMDataType, Value: &DataLeaf{ @@ -83,7 +83,7 @@ type DataNode struct { // DataLeaf is an item in the DataNode type DataLeaf struct { - Data interface{} // value of the element + Data any // value of the element // the config of the leaf NewBranch bool `json:",omitempty"` AttributeID string `json:",omitempty"` @@ -138,13 +138,13 @@ func (n *DataNode) Field(path []string) (*DataLeaf, error) { // FieldAsInterface will compile the given path // and return the node value at the end of the path // this function is used most probably by filters so expect the path to not be compiled -func (n *DataNode) FieldAsInterface(path []string) (interface{}, error) { +func (n *DataNode) FieldAsInterface(path []string) (any, error) { return n.fieldAsInterface(CompilePathSlice(path)) } // fieldAsInterface return ill the node value at the end of the path // but will not compile the path -func (n *DataNode) fieldAsInterface(path []string) (interface{}, error) { +func (n *DataNode) fieldAsInterface(path []string) (any, error) { switch n.Type { // based on current type return the value case NMDataType: if len(path) != 0 { // only return if the path is empty @@ -185,7 +185,7 @@ func (n *DataNode) fieldAsInterface(path []string) (interface{}, error) { // Set will set the value at de specified path // the path should be in the same format as the path given to Field -func (n *DataNode) Set(path []string, val interface{}) (addedNew bool, err error) { +func (n *DataNode) Set(path []string, val any) (addedNew bool, err error) { if len(path) == 0 { // the path is empty so overwrite curent node data switch v := val.(type) { // cast the value to see if is a supported type for node case map[string]*DataNode: diff --git a/utils/dataprovider.go b/utils/dataprovider.go index e1feca35d..dd4005133 100644 --- a/utils/dataprovider.go +++ b/utils/dataprovider.go @@ -37,7 +37,7 @@ const ( // DataProvider is a data source from multiple formats type DataProvider interface { String() string // printable version of data - FieldAsInterface(fldPath []string) (interface{}, error) + FieldAsInterface(fldPath []string) (any, error) FieldAsString(fldPath []string) (string, error) // remove this } @@ -45,7 +45,7 @@ type DataProvider interface { type RWDataProvider interface { DataProvider - Set(fldPath []string, val interface{}) (err error) + Set(fldPath []string, val any) (err error) Remove(fldPath []string) (err error) } @@ -55,7 +55,7 @@ type NavigableMapper interface { } // DPDynamicInterface returns the value of the field if the path is dynamic -func DPDynamicInterface(dnVal string, dP DataProvider) (interface{}, error) { +func DPDynamicInterface(dnVal string, dP DataProvider) (any, error) { if strings.HasPrefix(dnVal, DynamicDataPrefix) && dnVal != DynamicDataPrefix { dnVal = strings.TrimPrefix(dnVal, DynamicDataPrefix) diff --git a/utils/dataprovider_test.go b/utils/dataprovider_test.go index a6ad99747..a8b67b9bf 100644 --- a/utils/dataprovider_test.go +++ b/utils/dataprovider_test.go @@ -27,9 +27,9 @@ func TestDPDynamicInterface(t *testing.T) { "Field1": "1001", "Field2": "1003", "Field3": MapStorage{"Field4": "Val"}, - "Field5": []interface{}{10, 101}, + "Field5": []any{10, 101}, } - var expected interface{} = "Field5[1]" + var expected any = "Field5[1]" if rply, err := DPDynamicInterface("Field5[1]", nm); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply) { @@ -50,9 +50,9 @@ func TestDPDynamicString(t *testing.T) { "Field1": "1001", "Field2": "1003", "Field3": MapStorage{"Field4": "Val"}, - "Field5": []interface{}{10, 101}, + "Field5": []any{10, 101}, } - var expected interface{} = "Field5[1]" + var expected any = "Field5[1]" if rply, err := DPDynamicString("Field5[1]", nm); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply) { diff --git a/utils/errors.go b/utils/errors.go index bd8be3aed..b333ec1e1 100644 --- a/utils/errors.go +++ b/utils/errors.go @@ -229,11 +229,11 @@ func APIErrorHandler(errIn error) (err error) { return cgrErr } -func NewErrStringCast(valIface interface{}) error { +func NewErrStringCast(valIface any) error { return fmt.Errorf("cannot cast value: %v to string", valIface) } -func NewErrFldStringCast(fldName string, valIface interface{}) error { +func NewErrFldStringCast(fldName string, valIface any) error { return fmt.Errorf("cannot cast field: %s with value: %v to string", fldName, valIface) } diff --git a/utils/map.go b/utils/map.go index b7abb2393..708c05e45 100644 --- a/utils/map.go +++ b/utils/map.go @@ -290,7 +290,7 @@ func (fWp FlagsWithParams) Clone() (cln FlagsWithParams) { return } -func (sm StringMap) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (sm StringMap) FieldAsInterface(fldPath []string) (val any, err error) { if sm == nil || len(fldPath) != 1 { return nil, ErrNotFound } @@ -302,7 +302,7 @@ func (sm StringMap) FieldAsInterface(fldPath []string) (val interface{}, err err } func (sm StringMap) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = sm.FieldAsInterface(fldPath) if err != nil { return diff --git a/utils/mapstorage.go b/utils/mapstorage.go index 4c600cd1b..8f5c31350 100644 --- a/utils/mapstorage.go +++ b/utils/mapstorage.go @@ -32,19 +32,19 @@ import ( type DataStorage interface { DataProvider - Set(fldPath []string, val interface{}) error + Set(fldPath []string, val any) error Remove(fldPath []string) error GetKeys(nested bool, nesteedLimit int, prefix string) []string } // MapStorage is the basic dataStorage -type MapStorage map[string]interface{} +type MapStorage map[string]any // String returns the map as json string func (ms MapStorage) String() string { return ToJSON(ms) } // FieldAsInterface returns the value from the path -func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ms MapStorage) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { err = errors.New("empty field path") return @@ -70,7 +70,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er } val = rv[indx] return - case []interface{}: + case []any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -82,7 +82,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er return case DataProvider: return rv.FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) - case map[string]interface{}: + case map[string]any: return MapStorage(rv).FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) default: } @@ -108,7 +108,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch dp := ms[fldPath[0]].(type) { case DataProvider: return dp.FieldAsInterface(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).FieldAsInterface(fldPath[1:]) default: err = ErrWrongPath @@ -118,7 +118,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch dp := ms[opath].(type) { case DataProvider: return dp.FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) case []DataProvider: var indx int @@ -138,7 +138,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er return nil, ErrNotFound } return dp[indx].FieldAsInterface(fldPath[1:]) - case []map[string]interface{}: + case []map[string]any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -148,7 +148,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er } return MapStorage(dp[indx]).FieldAsInterface(fldPath[1:]) - case []interface{}: + case []any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -159,7 +159,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch ds := dp[indx].(type) { case DataProvider: return ds.FieldAsInterface(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(ds).FieldAsInterface(fldPath[1:]) default: } @@ -172,7 +172,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er // FieldAsString returns the value from path as string func (ms MapStorage) FieldAsString(fldPath []string) (str string, err error) { - var val interface{} + var val any if val, err = ms.FieldAsInterface(fldPath); err != nil { return } @@ -180,7 +180,7 @@ func (ms MapStorage) FieldAsString(fldPath []string) (str string, err error) { } // Set sets the value at the given path -func (ms MapStorage) Set(fldPath []string, val interface{}) (err error) { +func (ms MapStorage) Set(fldPath []string, val any) (err error) { if len(fldPath) == 0 { return ErrWrongPath } @@ -197,7 +197,7 @@ func (ms MapStorage) Set(fldPath []string, val interface{}) (err error) { switch dp := ms[fldPath[0]].(type) { case DataStorage: return dp.Set(fldPath[1:], val) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).Set(fldPath[1:], val) default: return ErrWrongPath @@ -235,7 +235,7 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys switch rv := v.(type) { // and for performance we only take in consideration a limited set of types for nested false case DataStorage: keys = append(keys, rv.GetKeys(nested, nestedLimit-1, prefix+k)...) - case map[string]interface{}: + case map[string]any: keys = append(keys, MapStorage(rv).GetKeys(nested, nestedLimit-1, prefix+k)...) case nil, int, int32, int64, uint32, uint64, bool, float32, float64, []uint8, time.Duration, time.Time, string: keys = append(keys, prefix+k) @@ -250,7 +250,7 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys switch rv := v.(type) { case DataStorage: keys = append(keys, rv.GetKeys(nested, nestedLimit, prefix+k)...) - case map[string]interface{}: + case map[string]any: keys = append(keys, MapStorage(rv).GetKeys(nested, nestedLimit, prefix+k)...) case []MapStorage: for i, dp := range rv { @@ -264,13 +264,13 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys // keys = append(keys, pref) keys = append(keys, dp.GetKeys(nested, nestedLimit, pref)...) } - case []map[string]interface{}: + case []map[string]any: for i, dp := range rv { pref := prefix + k + fmt.Sprintf("[%v]", i) // keys = append(keys, pref) keys = append(keys, MapStorage(dp).GetKeys(nested, nestedLimit, pref)...) } - case []interface{}: + case []any: for i := range rv { keys = append(keys, prefix+k+fmt.Sprintf("[%v]", i)) } @@ -294,7 +294,7 @@ func (ms MapStorage) Remove(fldPath []string) (err error) { if len(fldPath) == 0 { return ErrWrongPath } - var val interface{} + var val any var has bool if val, has = ms[fldPath[0]]; !has { return // ignore (already removed) @@ -307,7 +307,7 @@ func (ms MapStorage) Remove(fldPath []string) (err error) { switch dp := val.(type) { case DataStorage: return dp.Remove(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).Remove(fldPath[1:]) default: return ErrWrongPath @@ -350,7 +350,7 @@ func (sm *SecureMapStorage) String() (s string) { } // FieldAsInterface returns the value at the path specified -func (sm *SecureMapStorage) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (sm *SecureMapStorage) FieldAsInterface(fldPath []string) (val any, err error) { sm.RLock() val, err = sm.ms.FieldAsInterface(fldPath) sm.RUnlock() @@ -366,7 +366,7 @@ func (sm *SecureMapStorage) FieldAsString(fldPath []string) (s string, err error } // Set will set the value at path -func (sm *SecureMapStorage) Set(fldPath []string, val interface{}) (err error) { +func (sm *SecureMapStorage) Set(fldPath []string, val any) (err error) { sm.Lock() err = sm.ms.Set(fldPath, val) sm.Unlock() diff --git a/utils/mapstorage_test.go b/utils/mapstorage_test.go index 590ff33f0..cd01f6805 100644 --- a/utils/mapstorage_test.go +++ b/utils/mapstorage_test.go @@ -29,9 +29,9 @@ import ( func TestNavMapGetFieldAsString(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, @@ -120,14 +120,14 @@ func TestNavMapAdd2(t *testing.T) { t.Errorf("Expected error: %s received: %v", ErrWrongPath, err) } - nM = MapStorage{"Field1": map[string]interface{}{}} + nM = MapStorage{"Field1": map[string]any{}} path = []string{"Field1", "SecondLevel2", "Field2"} data = 123 if err := nM.Set(path, data); err != nil { t.Error(err) } - eNavMap = MapStorage{"Field1": map[string]interface{}{ + eNavMap = MapStorage{"Field1": map[string]any{ "SecondLevel2": MapStorage{ "Field2": 123, }, @@ -139,15 +139,15 @@ func TestNavMapAdd2(t *testing.T) { func TestCloneMapStorage(t *testing.T) { expected := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": "Value2", }, "Field3": "Value3", @@ -160,16 +160,16 @@ func TestCloneMapStorage(t *testing.T) { } func TestNavMapString(t *testing.T) { - myData := map[string]interface{}{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + myData := map[string]any{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": "Value2", }, "Field3": "Value3", @@ -185,23 +185,23 @@ func TestNavMapString(t *testing.T) { func TestNavMapGetField(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ - "Fld1": []interface{}{"Val1", "Val2"}, + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ + "Fld1": []any{"Val1", "Val2"}, }, }, }, - "FirstLevel2": map[string]interface{}{ - "SecondLevel2": []map[string]interface{}{ + "FirstLevel2": map[string]any{ + "SecondLevel2": []map[string]any{ { - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld1": "Val1", }, }, { "Count": 10, - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld2": []string{"Val1", "Val2", "Val3"}, }, }, @@ -216,7 +216,7 @@ func TestNavMapGetField(t *testing.T) { } else if !reflect.DeepEqual(eFld, fld) { t.Errorf("expecting: %s, received: %s", ToIJSON(eFld), ToIJSON(fld)) } - eFld2 := map[string]interface{}{"Fld1": "Val1"} + eFld2 := map[string]any{"Fld1": "Val1"} pth = []string{"FirstLevel2", "SecondLevel2[0]", "ThirdLevel2"} if fld, err := nM.FieldAsInterface(pth); err != nil { t.Error(err) @@ -242,16 +242,16 @@ func TestNavMapGetField(t *testing.T) { func TestNavMapFieldAsInterface(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": []map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": []map[string]any{ { - "ThirdLevel": map[string]interface{}{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, { "Count": 10, - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld2": []string{"Val1", "Val2", "Val3"}, }, }, @@ -262,7 +262,7 @@ func TestNavMapFieldAsInterface(t *testing.T) { path := []string{"FirstLevel", "SecondLevel[0]", "Count"} expErr := ErrNotFound - var eVal interface{} = nil + var eVal any = nil if _, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } @@ -301,14 +301,14 @@ func TestNavMapFieldAsInterface(t *testing.T) { func TestNavMapGetKeys(t *testing.T) { navMp := MapStorage{ "FirstLevel": MapStorage{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": 123.123, }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": 123, }, "Field3": "Value3", @@ -375,12 +375,12 @@ func TestNavMapFieldAsInterface2(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": &[]struct{}{{}}, "SliceString": []string{"1", "2"}, - "SliceInterface": []interface{}{1, "2"}, + "SliceInterface": []any{1, "2"}, } path := []string{"Slice[1]"} expErr := ErrNotFound - var eVal interface{} = nil + var eVal any = nil if _, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } @@ -441,7 +441,7 @@ func TestNavMapGetField2(t *testing.T) { "FirstLevel": MapStorage{ "SecondLevel": MapStorage{ "ThirdLevel": MapStorage{ - "Fld1": []interface{}{"Val1", "Val2"}, + "Fld1": []any{"Val1", "Val2"}, }, }, }, @@ -509,7 +509,7 @@ func TestNavMapRemove(t *testing.T) { t.Errorf("Expected error: %s received: %v", ErrWrongPath, err) } nM = MapStorage{ - "Field1": map[string]interface{}{ + "Field1": map[string]any{ "SecondLevel2": 1, }, } @@ -518,7 +518,7 @@ func TestNavMapRemove(t *testing.T) { if err := nM.Remove(path); err != nil { t.Error(err) } - eNavMap := MapStorage{"Field1": map[string]interface{}{}} + eNavMap := MapStorage{"Field1": map[string]any{}} if !reflect.DeepEqual(nM, eNavMap) { t.Errorf("Expecting: %+v, received: %+v", eNavMap, nM) } @@ -548,8 +548,8 @@ func TestNavMapFieldAsInterface3(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": []MapStorage{{}}, "Slice2": []DataProvider{MapStorage{}}, - "SliceString": []map[string]interface{}{{}}, - "SliceInterface": []interface{}{MapStorage{"A": 0}, map[string]interface{}{"B": 1}}, + "SliceString": []map[string]any{{}}, + "SliceInterface": []any{MapStorage{"A": 0}, map[string]any{"B": 1}}, } path := []string{"Slice[1]", "A"} @@ -594,7 +594,7 @@ func TestNavMapFieldAsInterface3(t *testing.T) { path = []string{"SliceInterface[0]", "A"} expErr = fmt.Errorf(`strconv.Atoi: parsing "nan": invalid syntax`) - var eVal interface{} = 0 + var eVal any = 0 if rplyVal, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } else if !reflect.DeepEqual(eVal, rplyVal) { @@ -632,14 +632,14 @@ func TestNavMapFieldAsInterface3(t *testing.T) { func TestNavMapGetKeys2(t *testing.T) { navMp := MapStorage{ "FirstLevel": DataStorage(MapStorage{ - "SecondLevel": map[string]interface{}{ + "SecondLevel": map[string]any{ "ThirdLevel": MapStorage{ "Fld1": 123.123, }, }, }), "FistLever2": MapStorage{ - "SecondLevel2": map[string]interface{}{ + "SecondLevel2": map[string]any{ "Field2": 123, }, "Field3": "Value3", @@ -653,10 +653,10 @@ func TestNavMapGetKeys2(t *testing.T) { Item2: 10, }, "Field6": []string{"1", "2"}, - "Field7": []interface{}{"1", "2"}, + "Field7": []any{"1", "2"}, "Field8": []DataStorage{MapStorage{"A": 1}}, "Field9": []MapStorage{{"A": 1}}, - "Field10": []map[string]interface{}{{"A": 1}}, + "Field10": []map[string]any{{"A": 1}}, } expKeys := []string{ "FirstLevel.SecondLevel.ThirdLevel.Fld1", @@ -694,7 +694,7 @@ func TestNavMapGetFieldAsMapStringInterfaceError(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": &[]struct{}{{}}, "SliceString": []string{"1", "2"}, - "SliceInterface": map[string]interface{}{}, + "SliceInterface": map[string]any{}, } path := []string{"SliceInterface[4]"} _, err := nM.FieldAsInterface(path) @@ -706,7 +706,7 @@ func TestNavMapGetFieldAsMapStringInterfaceError(t *testing.T) { func TestNavMapGetFieldAsMapStringInterface(t *testing.T) { nM := MapStorage{ - "FIELD": map[string]interface{}{ + "FIELD": map[string]any{ "Field1": "Val1", "Field2": "Val2"}, } @@ -953,7 +953,7 @@ func TestSecureMapStorageFieldAsString(t *testing.T) { } func TestSecureMapStorageSet(t *testing.T) { sm := &SecureMapStorage{ms: MapStorage{ - "field": map[string]interface{}{}, + "field": map[string]any{}, }} exp := MapStorage{ "test": "val", @@ -972,11 +972,11 @@ func TestSecureMapStorageSet(t *testing.T) { func TestSecureMapStorageGetKeys(t *testing.T) { sm := &SecureMapStorage{ ms: MapStorage{ - "field1": map[string]interface{}{ + "field1": map[string]any{ "subfield1": []string{"subkey"}, }, "field2": MapStorage{ - "mapfield": map[string]interface{}{ + "mapfield": map[string]any{ "submapfield2": []string{"subkey"}, }, }, @@ -995,7 +995,7 @@ func TestSecureMapStorageGetKeys(t *testing.T) { func TestSecureMapStorageRemove(t *testing.T) { sm := &SecureMapStorage{ ms: MapStorage{ - "field": map[string]interface{}{ + "field": map[string]any{ "subfield": uint16(3), }, }, @@ -1003,7 +1003,7 @@ func TestSecureMapStorageRemove(t *testing.T) { if err := sm.Remove([]string{"field", "subfield"}); err != nil { t.Error(err) } - if _, has := sm.ms["field"].(map[string]interface{})["subfield"]; has { + if _, has := sm.ms["field"].(map[string]any)["subfield"]; has { t.Error("should been removed") } } diff --git a/utils/net.go b/utils/net.go index 00ed14e82..53b9c9f57 100644 --- a/utils/net.go +++ b/utils/net.go @@ -29,11 +29,11 @@ import ( ) type Server interface { - RpcRegister(rcvr interface{}) - RpcRegisterName(name string, rcvr interface{}) + RpcRegister(rcvr any) + RpcRegisterName(name string, rcvr any) RegisterHttpFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) RegisterHttpHandler(pattern string, handler http.Handler) - BiRPCRegisterName(method string, handlerFunc interface{}) + BiRPCRegisterName(method string, handlerFunc any) } func LocalAddr() *NetAddr { @@ -126,7 +126,7 @@ type serverRequest struct { Id *json.RawMessage `json:"id"` } -func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err interface{}) error { +func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err any) error { return json.NewEncoder(w).Encode( serverResponse{ Id: id, @@ -137,6 +137,6 @@ func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err interface type serverResponse struct { Id *json.RawMessage `json:"id"` - Result interface{} `json:"result"` - Error interface{} `json:"error"` + Result any `json:"result"` + Error any `json:"error"` } diff --git a/utils/net_test.go b/utils/net_test.go index 4d875744e..98639a9bf 100644 --- a/utils/net_test.go +++ b/utils/net_test.go @@ -98,8 +98,8 @@ func TestDecodeServerRequest(t *testing.T) { func TestWriteServerResponse(t *testing.T) { writer := bytes.NewBufferString(EmptyString) var id *json.RawMessage - var result interface{} = "OK" - var errMessage interface{} + var result any = "OK" + var errMessage any slsByte := []byte("10") id = (*json.RawMessage)(&slsByte) diff --git a/utils/options.go b/utils/options.go index 834091e0b..ea6d2e490 100644 --- a/utils/options.go +++ b/utils/options.go @@ -105,9 +105,9 @@ func GetDecimalBigOpts(ev *CGREvent, dftOpt *decimal.Big, optNames ...string) (c return dftOpt, nil } -// GetInterfaceOpts checks the specified option names in order among the keys in APIOpts returning the first value it finds as interface{}, otherwise it +// GetInterfaceOpts checks the specified option names in order among the keys in APIOpts returning the first value it finds as any, otherwise it // returns the default option (usually the value specified in config) -func GetInterfaceOpts(ev *CGREvent, dftOpt interface{}, optNames ...string) (cfgOpt interface{}) { +func GetInterfaceOpts(ev *CGREvent, dftOpt any, optNames ...string) (cfgOpt any) { for _, optName := range optNames { if opt, has := ev.APIOpts[optName]; has { return opt diff --git a/utils/options_test.go b/utils/options_test.go index 422c5da5c..bf4b2dc80 100644 --- a/utils/options_test.go +++ b/utils/options_test.go @@ -30,7 +30,7 @@ func TestOptionsGetFloat64Opts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetFloat64Opts(ev, 1.2, "optionName"); err != nil { t.Error(err) @@ -59,7 +59,7 @@ func TestOptionsGetDurationOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetDurationOpts(ev, time.Minute, "optionName"); err != nil { t.Error(err) @@ -100,7 +100,7 @@ func TestOptionsGetStringOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv := GetStringOpts(ev, "default", "optionName"); rcv != "default" { t.Errorf("expected: <%+v>, \nreceived: <%+v>", "default", rcv) @@ -129,7 +129,7 @@ func TestOptionsGetStringSliceOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } defaultValue := []string{"default"} if rcv, err := GetStringSliceOpts(ev, defaultValue, "optionName"); err != nil { @@ -174,7 +174,7 @@ func TestOptionsGetIntOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetIntOpts(ev, 5, "optionName"); err != nil { t.Error(err) @@ -209,7 +209,7 @@ func TestOptionsGetBoolOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetBoolOpts(ev, false, "optionName"); err != nil { t.Error(err) @@ -250,7 +250,7 @@ func TestOptionsGetInterfaceOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv := GetInterfaceOpts(ev, "default", "optionName"); rcv != "default" { t.Errorf("expected: <%+v>, \nreceived: <%+v>", "default", rcv) @@ -276,7 +276,7 @@ func TestOptionsGetIntPointerOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetIntPointerOpts(ev, defaultValue, "optionName"); err != nil { t.Error(err) @@ -311,7 +311,7 @@ func TestOptionsGetDurationPointerOpts(t *testing.T) { defaultValue := DurationPointer(time.Minute) // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetDurationPointerOpts(ev, defaultValue, "optionName"); err != nil { t.Error(err) @@ -353,7 +353,7 @@ func TestOptionsGetDecimalBigOpts(t *testing.T) { // option key not populated, retrieve default value ev := &CGREvent{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } if rcv, err := GetDecimalBigOpts(ev, defaultValue, "optionName"); err != nil { t.Error(err) diff --git a/utils/orderednavigablemap.go b/utils/orderednavigablemap.go index dac53626d..1c7a022b8 100644 --- a/utils/orderednavigablemap.go +++ b/utils/orderednavigablemap.go @@ -50,7 +50,7 @@ func (onm *OrderedNavigableMap) GetFirstElement() *PathItemElement { } // Interface returns navigble map that's inside -func (onm *OrderedNavigableMap) Interface() interface{} { +func (onm *OrderedNavigableMap) Interface() any { return onm.nm } @@ -96,7 +96,7 @@ func (onm *OrderedNavigableMap) Remove(fullPath *FullPath) (err error) { // Set sets the value at the given path // this used with full path and the processed path to not calculate them for every set // used in tests -func (onm *OrderedNavigableMap) Set(fullPath *FullPath, val interface{}) (err error) { +func (onm *OrderedNavigableMap) Set(fullPath *FullPath, val any) (err error) { if fullPath == nil || len(fullPath.PathSlice) == 0 { return ErrWrongPath } @@ -144,7 +144,7 @@ func (onm *OrderedNavigableMap) SetAsSlice(fullPath *FullPath, vals []*DataNode) // FieldAsString returns the value from path as string func (onm *OrderedNavigableMap) FieldAsString(fldPath []string) (str string, err error) { - var val interface{} + var val any if val, err = onm.FieldAsInterface(fldPath); err != nil { return } @@ -152,7 +152,7 @@ func (onm *OrderedNavigableMap) FieldAsString(fldPath []string) (str string, err } // FieldAsInterface returns the interface at the path -func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (iface interface{}, err error) { +func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (iface any, err error) { return onm.nm.FieldAsInterface(fldPath) } @@ -165,8 +165,8 @@ func (onm *OrderedNavigableMap) GetOrder() (order [][]string) { } // OrderedFields returns the elements in order they were inserted -func (onm *OrderedNavigableMap) OrderedFields() (flds []interface{}) { - flds = make([]interface{}, 0, len(onm.nm.Map)) +func (onm *OrderedNavigableMap) OrderedFields() (flds []any) { + flds = make([]any, 0, len(onm.nm.Map)) for el := onm.GetFirstElement(); el != nil; el = el.Next() { fld, _ := onm.Field(el.Value) flds = append(flds, fld.Data) diff --git a/utils/orderednavigablemap_test.go b/utils/orderednavigablemap_test.go index d27c01b98..9ab91a461 100644 --- a/utils/orderednavigablemap_test.go +++ b/utils/orderednavigablemap_test.go @@ -851,7 +851,7 @@ func TestOrderedNavigableMapOrderedFields(t *testing.T) { PathSlice: []string{"Field5"}, Path: "Field5", }) - exp := []interface{}{"1003", "1004", "1006"} + exp := []any{"1003", "1004", "1006"} rcv := nm.OrderedFields() if !reflect.DeepEqual(exp, rcv) { t.Errorf("Expected %+v<%T>, received %+v<%T>", exp, exp[0], rcv, rcv[0]) diff --git a/utils/reflect.go b/utils/reflect.go index 5dcec2bd5..a7cfc24aa 100644 --- a/utils/reflect.go +++ b/utils/reflect.go @@ -32,7 +32,7 @@ import ( // StringToInterface will parse string into supported types // if no other conversion possible, original string will be returned -func StringToInterface(s string) interface{} { +func StringToInterface(s string) any { if s == EmptyString { return s } @@ -62,7 +62,7 @@ func StringToInterface(s string) interface{} { // ReflectFieldInterface parses intf attepting to return the field value or error otherwise // Supports "ExtraFields" where additional fields are dynamically inserted in map with field name: extraFieldsLabel -func ReflectFieldInterface(intf interface{}, fldName, extraFieldsLabel string) (retIf interface{}, err error) { +func ReflectFieldInterface(intf any, fldName, extraFieldsLabel string) (retIf any, err error) { v := reflect.ValueOf(intf) if v.Kind() == reflect.Ptr { v = v.Elem() @@ -98,7 +98,7 @@ func ReflectFieldInterface(intf interface{}, fldName, extraFieldsLabel string) ( // ReflectFieldAsString parses intf and attepting to return the field as string or error otherwise // Supports "ExtraFields" where additional fields are dynamically inserted in map with field name: extraFieldsLabel -func ReflectFieldAsString(intf interface{}, fldName, extraFieldsLabel string) (string, error) { +func ReflectFieldAsString(intf any, fldName, extraFieldsLabel string) (string, error) { field, err := ReflectFieldInterface(intf, fldName, extraFieldsLabel) if err != nil { return "", err @@ -116,7 +116,7 @@ func ReflectFieldAsString(intf interface{}, fldName, extraFieldsLabel string) (s } } -func IfaceAsTime(itm interface{}, timezone string) (t time.Time, err error) { +func IfaceAsTime(itm any, timezone string) (t time.Time, err error) { switch v := itm.(type) { case time.Time: return v, nil @@ -128,7 +128,7 @@ func IfaceAsTime(itm interface{}, timezone string) (t time.Time, err error) { return } -func IfaceAsBig(itm interface{}) (b *decimal.Big, err error) { +func IfaceAsBig(itm any) (b *decimal.Big, err error) { switch it := itm.(type) { case time.Duration: return decimal.New(int64(it), 0), nil @@ -183,7 +183,7 @@ func IfaceAsBig(itm interface{}) (b *decimal.Big, err error) { return } -func IfaceAsDuration(itm interface{}) (d time.Duration, err error) { +func IfaceAsDuration(itm any) (d time.Duration, err error) { switch it := itm.(type) { case time.Duration: return it, nil @@ -220,7 +220,7 @@ func IfaceAsDuration(itm interface{}) (d time.Duration, err error) { } // IfaceAsTInt converts interface to type int -func IfaceAsTInt(itm interface{}) (i int, err error) { +func IfaceAsTInt(itm any) (i int, err error) { switch it := itm.(type) { case int: return it, nil @@ -242,7 +242,7 @@ func IfaceAsTInt(itm interface{}) (i int, err error) { return } -func IfaceAsInt64(itm interface{}) (i int64, err error) { +func IfaceAsInt64(itm any) (i int64, err error) { switch it := itm.(type) { case int: return int64(it), nil @@ -261,7 +261,7 @@ func IfaceAsInt64(itm interface{}) (i int64, err error) { } // same function as IfaceAsInt64 but if the value is float round it to int64 instead of returning error -func IfaceAsTInt64(itm interface{}) (i int64, err error) { +func IfaceAsTInt64(itm any) (i int64, err error) { switch it := itm.(type) { case int: return int64(it), nil @@ -283,7 +283,7 @@ func IfaceAsTInt64(itm interface{}) (i int64, err error) { return } -func IfaceAsFloat64(itm interface{}) (f float64, err error) { +func IfaceAsFloat64(itm any) (f float64, err error) { switch it := itm.(type) { case float64: return it, nil @@ -300,7 +300,7 @@ func IfaceAsFloat64(itm interface{}) (f float64, err error) { } return } -func IfaceAsTFloat64(itm interface{}) (f float64, err error) { +func IfaceAsTFloat64(itm any) (f float64, err error) { switch it := itm.(type) { case float64: return it, nil @@ -325,7 +325,7 @@ func IfaceAsTFloat64(itm interface{}) (f float64, err error) { return } -func IfaceAsBool(itm interface{}) (b bool, err error) { +func IfaceAsBool(itm any) (b bool, err error) { switch v := itm.(type) { case bool: return v, nil @@ -343,7 +343,7 @@ func IfaceAsBool(itm interface{}) (b bool, err error) { return } -func IfaceAsString(fld interface{}) (out string) { +func IfaceAsString(fld any) (out string) { switch value := fld.(type) { case nil: return @@ -379,7 +379,7 @@ func IfaceAsString(fld interface{}) (out string) { } // IfaceAsSliceString is trying to convert the interface to a slice of strings -func IfaceAsSliceString(fld interface{}) (out []string, err error) { +func IfaceAsSliceString(fld any) (out []string, err error) { switch value := fld.(type) { case nil: return @@ -450,7 +450,7 @@ func IfaceAsSliceString(fld interface{}) (out []string, err error) { } case []string: out = value - case []interface{}: + case []any: out = make([]string, len(value)) for i, val := range value { out[i] = IfaceAsString(val) @@ -461,7 +461,7 @@ func IfaceAsSliceString(fld interface{}) (out []string, err error) { return } -func GetUniformType(item interface{}) (interface{}, error) { +func GetUniformType(item any) (any, error) { valItm := reflect.ValueOf(item) switch valItm.Kind() { // convert evreting to float64 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: @@ -477,7 +477,7 @@ func GetUniformType(item interface{}) (interface{}, error) { } } -func GetBasicType(item interface{}) interface{} { +func GetBasicType(item any) any { valItm := reflect.ValueOf(item) switch valItm.Kind() { // convert evreting to float64 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: @@ -493,7 +493,7 @@ func GetBasicType(item interface{}) interface{} { // GreaterThan attempts to compare two items // returns the result or error if not comparable -func GreaterThan(item, oItem interface{}, orEqual bool) (gte bool, err error) { +func GreaterThan(item, oItem any, orEqual bool) (gte bool, err error) { item = GetBasicType(item) oItem = GetBasicType(oItem) typItem := reflect.TypeOf(item) @@ -547,7 +547,7 @@ func GreaterThan(item, oItem interface{}, orEqual bool) (gte bool, err error) { return } -func EqualTo(item, oItem interface{}) (eq bool, err error) { +func EqualTo(item, oItem any) (eq bool, err error) { item = GetBasicType(item) oItem = GetBasicType(oItem) typItem := reflect.TypeOf(item) @@ -589,7 +589,7 @@ func EqualTo(item, oItem interface{}) (eq bool, err error) { // Sum attempts to sum multiple items // returns the result or error if not comparable -func Sum(items ...interface{}) (sum interface{}, err error) { +func Sum(items ...any) (sum any, err error) { //we need at least 2 items to sum them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -652,7 +652,7 @@ func Sum(items ...interface{}) (sum interface{}, err error) { // Difference attempts to sum multiple items // returns the result or error if not comparable -func Difference(tm string, items ...interface{}) (diff interface{}, err error) { +func Difference(tm string, items ...any) (diff any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -725,7 +725,7 @@ func Difference(tm string, items ...interface{}) (diff interface{}, err error) { // Multiply attempts to multiply multiple items // returns the result or error if not comparable -func Multiply(items ...interface{}) (mlt interface{}, err error) { +func Multiply(items ...any) (mlt any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -769,7 +769,7 @@ func Multiply(items ...interface{}) (mlt interface{}, err error) { // Divide attempts to divide multiple items // returns the result or error if not comparable -func Divide(items ...interface{}) (div interface{}, err error) { +func Divide(items ...any) (div any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -813,7 +813,7 @@ func Divide(items ...interface{}) (div interface{}, err error) { // ReflectFieldMethodInterface parses intf attepting to return the field value or error otherwise // Supports "ExtraFields" where additional fields are dynamically inserted in map with field name: extraFieldsLabel -func ReflectFieldMethodInterface(obj interface{}, fldName string) (retIf interface{}, err error) { +func ReflectFieldMethodInterface(obj any, fldName string) (retIf any, err error) { v := reflect.ValueOf(obj) if v.Kind() == reflect.Ptr { v = v.Elem() diff --git a/utils/reflect_test.go b/utils/reflect_test.go index c34fb3f1e..35f5d2cd2 100644 --- a/utils/reflect_test.go +++ b/utils/reflect_test.go @@ -34,8 +34,8 @@ func TestReflectFieldAsStringOnStruct(t *testing.T) { Count int Count64 int64 Val float64 - ExtraFields map[string]interface{} - }{"Title1", 5, 6, 7.3, map[string]interface{}{"a": "Title2", "b": 15, "c": int64(16), "d": 17.3}} + ExtraFields map[string]any + }{"Title1", 5, 6, 7.3, map[string]any{"a": "Title2", "b": 15, "c": int64(16), "d": 17.3}} if strVal, err := ReflectFieldAsString(mystruct, "Title", "ExtraFields"); err != nil { t.Error(err) } else if strVal != "Title1" { @@ -79,7 +79,7 @@ func TestReflectFieldAsStringOnStruct(t *testing.T) { } func TestReflectFieldAsStringOnMap(t *testing.T) { - myMap := map[string]interface{}{"Title": "Title1", "Count": 5, "Count64": int64(6), "Val": 7.3, + myMap := map[string]any{"Title": "Title1", "Count": 5, "Count64": int64(6), "Val": 7.3, "a": "Title2", "b": 15, "c": int64(16), "d": 17.3} if strVal, err := ReflectFieldAsString(myMap, "Title", ""); err != nil { t.Error(err) @@ -130,7 +130,7 @@ func TestGreaterThan(t *testing.T) { t.Error("should be not greater than") } if _, err := GreaterThan(struct{}{}, - map[string]interface{}{"a": "a"}, false); err == nil || + map[string]any{"a": "a"}, false); err == nil || !strings.HasPrefix(err.Error(), "incomparable") { t.Error(err) } @@ -235,19 +235,19 @@ func TestStringToInterface(t *testing.T) { } func TestIfaceAsString(t *testing.T) { - val := interface{}("string1") + val := any("string1") if rply := IfaceAsString(val); rply != "string1" { t.Errorf("Expected string1 ,received %+v", rply) } - val = interface{}(123) + val = any(123) if rply := IfaceAsString(val); rply != "123" { t.Errorf("Expected 123 ,received %+v", rply) } - val = interface{}([]byte("byte_val")) + val = any([]byte("byte_val")) if rply := IfaceAsString(val); rply != "byte_val" { t.Errorf("Expected byte_val ,received %+v", rply) } - val = interface{}(true) + val = any(true) if rply := IfaceAsString(val); rply != "true" { t.Errorf("Expected true ,received %+v", rply) } @@ -257,15 +257,15 @@ func TestIfaceAsString(t *testing.T) { if rply := IfaceAsString(nil); rply != "" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(net.ParseIP("127.0.0.1")) + val = any(net.ParseIP("127.0.0.1")) if rply := IfaceAsString(val); rply != "127.0.0.1" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(10.23) + val = any(10.23) if rply := IfaceAsString(val); rply != "10.23" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)) + val = any(time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)) if rply := IfaceAsString(val); rply != "2009-11-10T23:00:00Z" { t.Errorf("Expected ,received %+v", rply) } @@ -273,19 +273,19 @@ func TestIfaceAsString(t *testing.T) { func TestIfaceAsTime(t *testing.T) { timeDate := time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC) - val := interface{}("2009-11-10T23:00:00Z") + val := any("2009-11-10T23:00:00Z") if itmConvert, err := IfaceAsTime(val, "UTC"); err != nil { t.Error(err) } else if itmConvert != timeDate { t.Errorf("received: %+v", itmConvert) } - val = interface{}(timeDate) + val = any(timeDate) if itmConvert, err := IfaceAsTime(val, "UTC"); err != nil { t.Error(err) } else if itmConvert != timeDate { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a time") + val = any("This is not a time") if _, err := IfaceAsTime(val, "UTC"); err == nil { t.Error("There should be error") } @@ -293,63 +293,63 @@ func TestIfaceAsTime(t *testing.T) { func TestIfaceAsDuration(t *testing.T) { eItm := time.Second - if itmConvert, err := IfaceAsDuration(interface{}(time.Second)); err != nil { + if itmConvert, err := IfaceAsDuration(any(time.Second)); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(float64(1000000000.0))); err != nil { + if itmConvert, err := IfaceAsDuration(any(float64(1000000000.0))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(int64(1000000000))); err != nil { + if itmConvert, err := IfaceAsDuration(any(int64(1000000000))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(int(1000000000))); err != nil { + if itmConvert, err := IfaceAsDuration(any(int(1000000000))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(string("1s"))); err != nil { + if itmConvert, err := IfaceAsDuration(any(string("1s"))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if _, err := IfaceAsDuration(interface{}(string("s1s"))); err == nil { + if _, err := IfaceAsDuration(any(string("s1s"))); err == nil { t.Error("empty error") } } func TestIfaceAsFloat64(t *testing.T) { eFloat := 6.0 - val := interface{}(6.0) + val := any(6.0) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(6) + val = any(6) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("6") + val = any("6") if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(6)) + val = any(int64(6)) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a float") + val = any("This is not a float") if _, err := IfaceAsFloat64(val); err == nil { t.Error("expecting error") } @@ -357,31 +357,31 @@ func TestIfaceAsFloat64(t *testing.T) { func TestIfaceAsInt64(t *testing.T) { eInt := int64(3) - val := interface{}(3) + val := any(3) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(3) + val = any(3) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("3") + val = any("3") if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(3)) + val = any(int64(3)) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not an integer") + val = any("This is not an integer") if _, err := IfaceAsInt64(val); err == nil { t.Error("expecting error") } @@ -389,92 +389,92 @@ func TestIfaceAsInt64(t *testing.T) { func TestIfaceAsTInt64(t *testing.T) { eInt := int64(3) - val := interface{}(3) + val := any(3) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(3) + val = any(3) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("3") + val = any("3") if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(3)) + val = any(int64(3)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int32(3)) + val = any(int32(3)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(float32(3.14)) + val = any(float32(3.14)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(float64(3.14)) + val = any(float64(3.14)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not an integer") + val = any("This is not an integer") if _, err := IfaceAsTInt64(val); err == nil { t.Error("expecting error") } } func TestIfaceAsBool(t *testing.T) { - val := interface{}(true) + val := any(true) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != true { t.Errorf("received: %+v", itmConvert) } - val = interface{}("true") + val = any("true") if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != true { t.Errorf("received: %+v", itmConvert) } - val = interface{}(0) + val = any(0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != false { t.Errorf("received: %+v", itmConvert) } - val = interface{}(1) + val = any(1) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != true { t.Errorf("received: %+v", itmConvert) } - val = interface{}(0.0) + val = any(0.0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != false { t.Errorf("received: %+v", itmConvert) } - val = interface{}(1.0) + val = any(1.0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert != true { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a bool") + val = any("This is not a bool") if _, err := IfaceAsBool(val); err == nil { t.Error("expecting error") } @@ -517,7 +517,7 @@ func TestSum(t *testing.T) { } func TestGetUniformType(t *testing.T) { - var arg, expected interface{} + var arg, expected any arg = time.Second expected = float64(time.Second) if rply, err := GetUniformType(arg); err != nil { @@ -681,7 +681,7 @@ func TestEqualTo(t *testing.T) { t.Error("should be not greater than") } if _, err := EqualTo(struct{}{}, - map[string]interface{}{"a": "a"}); err == nil || + map[string]any{"a": "a"}); err == nil || !strings.HasPrefix(err.Error(), "incomparable") { t.Error(err) } @@ -781,7 +781,7 @@ func TestReflectFieldMethodInterface(t *testing.T) { } func TestIfaceAsSliceString(t *testing.T) { - var attrs interface{} + var attrs any var expected []string if rply, err := IfaceAsSliceString(attrs); err != nil { t.Error(err) @@ -886,7 +886,7 @@ func TestIfaceAsSliceString(t *testing.T) { } else if !reflect.DeepEqual(expected, rply) { t.Errorf("Expecting: %s ,received: %s", expected, rply) } - attrs = []interface{}{true, 10, "two"} + attrs = []any{true, 10, "two"} expected = []string{"true", "10", "two"} if rply, err := IfaceAsSliceString(attrs); err != nil { t.Error(err) @@ -1222,7 +1222,7 @@ func TestIfaceAsStringFloat32Neg(t *testing.T) { } func TestGetBasicTypeUint(t *testing.T) { - var test interface{} = uint8(123) + var test any = uint8(123) valItm := reflect.ValueOf(test) response := GetBasicType(test) if !reflect.DeepEqual(valItm.Uint(), response) { @@ -1837,48 +1837,48 @@ func TestIfaceAsBigDefault(t *testing.T) { func TestIfaceAsTFloat64(t *testing.T) { eFloat := 6.0 - val := interface{}(6.0) + val := any(6.0) if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(6) + val = any(6) if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("6") + val = any("6") if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(6)) + val = any(int64(6)) if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a float") + val = any("This is not a float") if _, err := IfaceAsTFloat64(val); err == nil { t.Error("expecting error") } - val = interface{}(time.Duration(6)) + val = any(time.Duration(6)) if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } eFloat = 6000000. - val = interface{}("6ms") + val = any("6ms") if itmConvert, err := IfaceAsTFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("6sss") + val = any("6sss") experr := `time: unknown unit "sss" in duration "6sss"` if _, err := IfaceAsTFloat64(val); err == nil || err.Error() != experr { t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) @@ -1893,7 +1893,7 @@ func TestIfaceAsTFloat64(t *testing.T) { func TestIfaceAsTInt(t *testing.T) { eInt := 3 - val := interface{}(3) + val := any(3) if intConvert, err := IfaceAsTInt(val); err != nil { @@ -1901,7 +1901,7 @@ func TestIfaceAsTInt(t *testing.T) { } else if intConvert != eInt { t.Errorf("received %+v", intConvert) } - val = interface{}(time.Duration(3)) + val = any(time.Duration(3)) if intConvert, err := IfaceAsTInt(val); err != nil { @@ -1909,14 +1909,14 @@ func TestIfaceAsTInt(t *testing.T) { } else if intConvert != eInt { t.Errorf("received %+v ", intConvert) } - val = interface{}(int32(3)) + val = any(int32(3)) if intConvert, err := IfaceAsTInt(val); err != nil { t.Error(err) } else if intConvert != eInt { t.Errorf("received %+v ", intConvert) } - val = interface{}(int64(3)) + val = any(int64(3)) if intConvert, err := IfaceAsTInt(val); err != nil { t.Error(err) @@ -1924,26 +1924,26 @@ func TestIfaceAsTInt(t *testing.T) { t.Errorf("received %+v", intConvert) } - val = interface{}(3.122) + val = any(3.122) if intConvert, err := IfaceAsTInt(val); err != nil { t.Error(err) } else if intConvert != eInt { t.Errorf("received %+v", intConvert) } - val = interface{}(float32(3.11)) + val = any(float32(3.11)) if intConvert, err := IfaceAsTInt(val); err != nil { t.Error(err) } else if intConvert != eInt { t.Errorf("received %+v", intConvert) } - val = interface{}("3") + val = any("3") if intConvert, err := IfaceAsTInt(val); err != nil { t.Error(err) } else if intConvert != eInt { t.Errorf("received %+v", intConvert) } - val = interface{}(nil) + val = any(nil) if _, err := IfaceAsTInt(val); err == nil { t.Error("expecting error") diff --git a/utils/rpc_params.go b/utils/rpc_params.go index 5d65179a6..6ed8f069b 100644 --- a/utils/rpc_params.go +++ b/utils/rpc_params.go @@ -29,12 +29,12 @@ var ( ) type RpcParams struct { - Object interface{} - InParam interface{} - OutParam interface{} + Object any + InParam any + OutParam any } -func RegisterRpcParams(name string, obj interface{}) { +func RegisterRpcParams(name string, obj any) { objType := reflect.TypeOf(obj) if name == "" { val := reflect.ValueOf(obj) diff --git a/utils/rpc_params_test.go b/utils/rpc_params_test.go index 18a700b1e..497f92e8f 100644 --- a/utils/rpc_params_test.go +++ b/utils/rpc_params_test.go @@ -40,7 +40,7 @@ func (rpc *RpcStruct) Method2(pointer *Attr, out *float64) error { return nil } -func (rpc *RpcStruct) Call(string, interface{}, interface{}) error { +func (rpc *RpcStruct) Call(string, any, any) error { return nil } @@ -54,7 +54,7 @@ func TestRPCObjectPointer(t *testing.T) { t.Errorf("error getting rpcobject: %v (%+v)", rpcParamsMap, x) } a := x.InParam - if err := mapstructure.Decode(map[string]interface{}{"Name": "a", "Surname": "b", "Age": 10.2}, a); err != nil || a.(*Attr).Name != "a" || a.(*Attr).Surname != "b" || a.(*Attr).Age != 10.2 { + if err := mapstructure.Decode(map[string]any{"Name": "a", "Surname": "b", "Age": 10.2}, a); err != nil || a.(*Attr).Name != "a" || a.(*Attr).Surname != "b" || a.(*Attr).Age != 10.2 { t.Errorf("error converting to struct: %+v (%v)", a, err) } } diff --git a/utils/safemapstorage.go b/utils/safemapstorage.go index 905451f4a..9d9425d5e 100644 --- a/utils/safemapstorage.go +++ b/utils/safemapstorage.go @@ -36,7 +36,7 @@ func (ms *SafeMapStorage) String() string { } // FieldAsInterface returns the value from the path -func (ms *SafeMapStorage) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ms *SafeMapStorage) FieldAsInterface(fldPath []string) (val any, err error) { ms.RLock() defer ms.RUnlock() return ms.MapStorage.FieldAsInterface(fldPath) @@ -50,7 +50,7 @@ func (ms *SafeMapStorage) FieldAsString(fldPath []string) (str string, err error } // Set sets the value at the given path -func (ms *SafeMapStorage) Set(fldPath []string, val interface{}) (err error) { +func (ms *SafeMapStorage) Set(fldPath []string, val any) (err error) { ms.Lock() defer ms.Unlock() return ms.MapStorage.Set(fldPath, val) diff --git a/utils/slice.go b/utils/slice.go index 1584cedc5..4a82d4f61 100644 --- a/utils/slice.go +++ b/utils/slice.go @@ -48,8 +48,8 @@ func PrefixSliceItems(prfx string, slc []string) (out []string) { } // SliceStringToIface converts slice of strings into a slice of interfaces -func SliceStringToIface(slc []string) (ifc []interface{}) { - ifc = make([]interface{}, len(slc)) +func SliceStringToIface(slc []string) (ifc []any) { + ifc = make([]any, len(slc)) for i, itm := range slc { ifc[i] = itm } diff --git a/utils/slice_test.go b/utils/slice_test.go index f0ac5e5b4..df29222c3 100644 --- a/utils/slice_test.go +++ b/utils/slice_test.go @@ -69,7 +69,7 @@ func TestPrefixSliceItems(t *testing.T) { } func TestSliceStringToIface(t *testing.T) { - exp := []interface{}{"*default", "ToR", "*voice"} + exp := []any{"*default", "ToR", "*voice"} if rply := SliceStringToIface([]string{"*default", "ToR", "*voice"}); !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: %s ,received: %s", ToJSON(exp), ToJSON(rply)) } diff --git a/utils/stir_shaken_utils.go b/utils/stir_shaken_utils.go index 1f6b0f1b6..ab17c8db0 100644 --- a/utils/stir_shaken_utils.go +++ b/utils/stir_shaken_utils.go @@ -92,7 +92,7 @@ func GetReaderFromPath(path string, timeout time.Duration) (r io.ReadCloser, err } // EncodeBase64JSON encodes the structure in json and then the string in base64 -func EncodeBase64JSON(val interface{}) (enc string, err error) { +func EncodeBase64JSON(val any) (enc string, err error) { var b []byte if b, err = json.Marshal(val); err != nil { return @@ -102,7 +102,7 @@ func EncodeBase64JSON(val interface{}) (enc string, err error) { } // DecodeBase64JSON decodes the base64 json string in the given interface -func DecodeBase64JSON(data string, val interface{}) (err error) { +func DecodeBase64JSON(data string, val any) (err error) { var b []byte if b, err = jwt.DecodeSegment(data); err != nil { return diff --git a/utils/stir_shaken_utils_test.go b/utils/stir_shaken_utils_test.go index a737873b8..3ff5dd8c6 100644 --- a/utils/stir_shaken_utils_test.go +++ b/utils/stir_shaken_utils_test.go @@ -36,12 +36,12 @@ func TestRemoveWhiteSpaces(t *testing.T) { } func TestEncodeBase64JSON(t *testing.T) { - var args interface{} + var args any args = math.NaN() if _, err := EncodeBase64JSON(args); err == nil { t.Errorf("Expected error") } - args = map[string]interface{}{"Q": 1} + args = map[string]any{"Q": 1} expected := `eyJRIjoxfQ` if rply, err := EncodeBase64JSON(args); err != nil { t.Error(err) @@ -56,8 +56,8 @@ func TestDecodeBase64JSON(t *testing.T) { if err := DecodeBase64JSON(args, &rply1); err == nil { t.Errorf("Expected error") } - var rply2 map[string]interface{} - expected := map[string]interface{}{"Q": 1.} + var rply2 map[string]any + expected := map[string]any{"Q": 1.} if err := DecodeBase64JSON(args, &rply2); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply2) { diff --git a/utils/stringset.go b/utils/stringset.go index 753e93dac..2dbbac861 100644 --- a/utils/stringset.go +++ b/utils/stringset.go @@ -132,7 +132,7 @@ func JoinStringSet(s ...StringSet) (conc StringSet) { func (s StringSet) String() string { return ToJSON(s.AsSlice()) } // FieldAsInterface returns an empty structure if the path exists else ErrNotFound -func (s StringSet) FieldAsInterface(fldPath []string) (interface{}, error) { +func (s StringSet) FieldAsInterface(fldPath []string) (any, error) { if len(fldPath) != 1 { return nil, ErrNotFound } diff --git a/utils/struct.go b/utils/struct.go index d10026eff..490865319 100644 --- a/utils/struct.go +++ b/utils/struct.go @@ -52,7 +52,7 @@ func valueIsEmpty(fld reflect.Value) bool { } // Detects missing field values based on mandatory field names, s should be a pointer to a struct -func MissingStructFields(s interface{}, mandatories []string) []string { +func MissingStructFields(s any, mandatories []string) []string { missing := []string{} sValue := reflect.ValueOf(s).Elem() sType := sValue.Type() @@ -65,8 +65,8 @@ func MissingStructFields(s interface{}, mandatories []string) []string { return missing } -// MissingMapFields detects missing field values based on mandatory field names from a map[string]interface{} -func MissingMapFields(s map[string]interface{}, mandatories []string) []string { +// MissingMapFields detects missing field values based on mandatory field names from a map[string]any +func MissingMapFields(s map[string]any, mandatories []string) []string { missing := []string{} for _, fieldName := range mandatories { if fldval, has := s[fieldName]; !has { @@ -95,7 +95,7 @@ func MissingMapFields(s map[string]interface{}, mandatories []string) []string { // UpdateStructWithIfaceMap will update struct fields with values coming from map // if map values are not matching the ones in struct convertion is being attempted // ToDo: add here more fields -func UpdateStructWithIfaceMap(s interface{}, mp map[string]interface{}) (err error) { +func UpdateStructWithIfaceMap(s any, mp map[string]any) (err error) { for key, val := range mp { fld := reflect.ValueOf(s).Elem().FieldByName(key) if fld.IsValid() { diff --git a/utils/struct_test.go b/utils/struct_test.go index 1cc4f5c2a..e4213eccf 100644 --- a/utils/struct_test.go +++ b/utils/struct_test.go @@ -39,7 +39,7 @@ func TestMissingStructFieldsCorrect(t *testing.T) { func TestMissingStructFieldsNilCorporate(t *testing.T) { tst := &TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ OptsAPIKey: "attr1234", }, } @@ -51,11 +51,11 @@ func TestMissingStructFieldsNilCorporate(t *testing.T) { func TestMissingStructFieldsNilCorporateTwoStructs(t *testing.T) { tst := &struct { - APIOpts map[string]interface{} + APIOpts map[string]any *TenantID *TenantAccount }{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ OptsAPIKey: "attr1234", }, TenantID: &TenantID{ @@ -76,7 +76,7 @@ func TestUpdateStructWithIfaceMap(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "s", "Bool": true, "Float": 6.4, @@ -93,7 +93,7 @@ func TestUpdateStructWithIfaceMap(t *testing.T) { } else if !reflect.DeepEqual(eStruct, s) { t.Errorf("expecting: %+v, received: %+v", eStruct, s) } - mp = map[string]interface{}{ + mp = map[string]any{ "String": "aaa", "Bool": false, } @@ -111,7 +111,7 @@ func TestUpdateStructWithIfaceMap(t *testing.T) { } func TestMissingMapFields(t *testing.T) { - var attr = map[string]interface{}{ + var attr = map[string]any{ Tenant: "cgrates.org", AccountField: "1001", "Type": MetaPrepaid, @@ -147,7 +147,7 @@ func TestMissingStructFieldsAppend(t *testing.T) { } func TestMissingMapFieldsTrim(t *testing.T) { - var attr = map[string]interface{}{ + var attr = map[string]any{ "Tenant": "cgrates.org", "Account": "1001", } @@ -158,7 +158,7 @@ func TestMissingMapFieldsTrim(t *testing.T) { } func TestMissingMapFieldsMissing(t *testing.T) { - var attr = map[string]interface{}{ + var attr = map[string]any{ "Tenant": 0, "Account": 0, } @@ -176,7 +176,7 @@ func TestUpdateStructWithIfaceMapValEmpty(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "", "Bool": "", "Float": "", @@ -202,7 +202,7 @@ func TestUpdateStructWithIfaceMapErrorBol(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": "cat", "Float": 1.2, @@ -222,7 +222,7 @@ func TestUpdateStructWithIfaceMapErrorInt(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": true, "Float": 1.2, @@ -242,7 +242,7 @@ func TestUpdateStructWithIfaceMapErrorFloat(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": true, "Float": "cat", @@ -259,7 +259,7 @@ func TestUpdateStructWithIfaceMapErrorDefault(t *testing.T) { wrongField1 complex128 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "wrongField1": cmplx.Sqrt(-5 + 12i), } err := UpdateStructWithIfaceMap(s, mp) diff --git a/utils/value_formula.go b/utils/value_formula.go index 67020005f..a7896f0f6 100644 --- a/utils/value_formula.go +++ b/utils/value_formula.go @@ -29,7 +29,7 @@ import ( // ValueFormula for computing a dynamic value for Value field type ValueFormula struct { Method string - Params map[string]interface{} + Params map[string]any Static float64 } @@ -48,7 +48,7 @@ func ParseBalanceFilterValue(tor string, val string) (*ValueFormula, error) { return nil, errors.New("Invalid value: " + val) } -type valueFormula func(map[string]interface{}) float64 +type valueFormula func(map[string]any) float64 const ( INCREMENTAL = "*incremental" @@ -62,7 +62,7 @@ func (vf *ValueFormula) String() string { return ToJSON(vf) } -func incrementalFormula(params map[string]interface{}) float64 { +func incrementalFormula(params map[string]any) float64 { // check parameters unitsInterface, unitsFound := params["Units"] intervalInterface, intervalFound := params["Interval"] @@ -124,7 +124,7 @@ func incrementalFormula(params map[string]interface{}) float64 { return 0.0 } -func (vf *ValueFormula) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (vf *ValueFormula) FieldAsInterface(fldPath []string) (val any, err error) { if vf == nil || len(fldPath) == 0 { return nil, ErrNotFound } @@ -154,7 +154,7 @@ func (vf *ValueFormula) FieldAsInterface(fldPath []string) (val interface{}, err } func (vf *ValueFormula) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any iface, err = vf.FieldAsInterface(fldPath) if err != nil { return diff --git a/utils/value_formula_test.go b/utils/value_formula_test.go index 3477a0d73..aa884ff4f 100644 --- a/utils/value_formula_test.go +++ b/utils/value_formula_test.go @@ -25,7 +25,7 @@ import ( ) func TestValueFormulaDayWeek(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "week", "Increment": "day", @@ -36,7 +36,7 @@ func TestValueFormulaDayWeek(t *testing.T) { } func TestValueFormulaDayMonth(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "month", "Increment": "day", @@ -48,7 +48,7 @@ func TestValueFormulaDayMonth(t *testing.T) { } func TestValueFormulaDayYear(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "year", "Increment": "day", @@ -137,7 +137,7 @@ func TestParseBalanceFilterValue(t *testing.T) { } func TestValueFormulaEmptyFields(t *testing.T) { - params := map[string]interface{}{} + params := map[string]any{} expected := 0.0 received := incrementalFormula(params) if !reflect.DeepEqual(expected, received) { @@ -146,7 +146,7 @@ func TestValueFormulaEmptyFields(t *testing.T) { } func TestValueFormulaConvertFloat64(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 50, "Interval": "day", "Increment": "hour", @@ -159,7 +159,7 @@ func TestValueFormulaConvertFloat64(t *testing.T) { } func TestValueFormulaIntervalByte(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": []byte("week"), "Increment": "day", @@ -174,7 +174,7 @@ func TestValueFormulaIntervalByte(t *testing.T) { } func TestValueFormulaIntervalDefault(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": 5, "Increment": "day", @@ -189,7 +189,7 @@ func TestValueFormulaIntervalDefault(t *testing.T) { } func TestValueFormulaIncrementDefault(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "week", "Increment": 5, @@ -204,7 +204,7 @@ func TestValueFormulaIncrementDefault(t *testing.T) { } func TestValueFormulaIncrementByte(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "week", "Increment": []byte("day"), @@ -219,7 +219,7 @@ func TestValueFormulaIncrementByte(t *testing.T) { } func TestValueFormulaIncrementHourDay(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "day", "Increment": "hour", @@ -234,7 +234,7 @@ func TestValueFormulaIncrementHourDay(t *testing.T) { } func TestValueFormulaIncrementHourMonth(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "month", "Increment": "hour", @@ -249,7 +249,7 @@ func TestValueFormulaIncrementHourMonth(t *testing.T) { } func TestValueFormulaIncrementHourYear(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "year", "Increment": "hour", @@ -263,7 +263,7 @@ func TestValueFormulaIncrementHourYear(t *testing.T) { } func TestValueFormulaIncrementMinute(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "hour", "Increment": "minute", @@ -277,7 +277,7 @@ func TestValueFormulaIncrementMinute(t *testing.T) { } func TestValueFormulaCover(t *testing.T) { - params := map[string]interface{}{ + params := map[string]any{ "Units": 10.0, "Interval": "cat", "Increment": "cat", @@ -299,7 +299,7 @@ func TestValueFieldAsInterface(t *testing.T) { fldPath = []string{"test1"} vf = &ValueFormula{ Method: "Method", - Params: map[string]interface{}{ + Params: map[string]any{ "key": "val", }, Static: 22, @@ -350,7 +350,7 @@ func TestValueFieldAsString(t *testing.T) { vf = &ValueFormula{ Method: "Method", - Params: map[string]interface{}{ + Params: map[string]any{ "Params": "index", }, Static: 22,