Updated sessions opts constants

This commit is contained in:
Trial97
2021-08-23 12:53:26 +03:00
committed by Dan Christian Bogos
parent af9e9913cd
commit f96dfab0ab
183 changed files with 325 additions and 1206 deletions

View File

@@ -2084,45 +2084,29 @@ var (
// CGROptionsSet the possible cgr options
var CGROptionsSet = NewStringSet([]string{OptsRatesStartTime, OptsRatesUsage, OptsSessionsTTL,
OptsSessionsTTLMaxDelay, OptsSessionsTTLLastUsed, OptsSessionsTTLLastUsage, OptsSessionsTTLUsage,
OptsDebitInterval, OptsStirATest, OptsStirPayloadMaxDuration, OptsStirIdentity,
OptsSessionsDebitInterval, OptsStirATest, OptsStirPayloadMaxDuration, OptsStirIdentity,
OptsStirOriginatorTn, OptsStirOriginatorURI, OptsStirDestinationTn, OptsStirDestinationURI,
OptsStirPublicKeyPath, OptsStirPrivateKeyPath, OptsAPIKey, OptsRouteID, OptsContext,
OptsAttributesProcessRuns, OptsRoutesLimit, OptsRoutesOffset, OptsChargeable,
OptsAttributesProcessRuns, OptsRoutesLimit, OptsRoutesOffset, OptsSessionsChargeable,
RemoteHostOpt, CacheOpt, OptsRoutesProfilesCount, OptsDispatchersProfilesCount})
// EventExporter metrics
const (
NumberOfEvents = "NumberOfEvents"
TotalCost = "TotalCost"
PositiveExports = "PositiveExports"
NegativeExports = "NegativeExports"
FirstExpOrderID = "FirstExpOrderID"
LastExpOrderID = "LastExpOrderID"
FirstEventATime = "FirstEventATime"
LastEventATime = "LastEventATime"
TotalDuration = "TotalDuration"
TotalDataUsage = "TotalDataUsage"
TotalSMSUsage = "TotalSMSUsage"
TotalMMSUsage = "TotalMMSUsage"
TotalGenericUsage = "TotalGenericUsage"
FilePath = "FilePath"
)
// Event Opts
const (
OptsRoutesProfilesCount = "*routesProfilesCount"
OptsRoutesLimit = "*routes_limit"
OptsRoutesOffset = "*routes_offset"
OptsRatesStartTime = "*ratesStartTime"
OptsRatesUsage = "*ratesUsage"
OptsRatesIntervalStart = "*ratesIntervalStart"
OptsSessionsTTL = "*sessionsTTL"
OptsSessionsTTLMaxDelay = "*sessionsTTLMaxDelay"
OptsSessionsTTLLastUsed = "*sessionsTTLLastUsed"
OptsSessionsTTLLastUsage = "*sessionsTTLLastUsage"
OptsSessionsTTLUsage = "*sessionsTTLUsage"
OptsDebitInterval = "*sessionsDebitInterval"
OptsChargeable = "*sessionsChargeable"
// SessionS
OptsSessionsTTL = "*sessionsTTL"
OptsSessionsChargeable = "*sessionsChargeable"
OptsSessionsDebitInterval = "*sessionsDebitInterval"
OptsSessionsTTLLastUsage = "*sessionsTTLLastUsage"
OptsSessionsTTLLastUsed = "*sessionsTTLLastUsed"
OptsSessionsTTLMaxDelay = "*sessionsTTLMaxDelay"
OptsSessionsTTLUsage = "*sessionsTTLUsage"
OptsRoutesProfilesCount = "*routesProfilesCount"
OptsRoutesLimit = "*routes_limit"
OptsRoutesOffset = "*routes_offset"
OptsRatesStartTime = "*ratesStartTime"
OptsRatesUsage = "*ratesUsage"
OptsRatesIntervalStart = "*ratesIntervalStart"
// STIR
OptsStirATest = "*stirATest"
OptsStirPayloadMaxDuration = "*stirPayloadMaxDuration"
@@ -2164,35 +2148,28 @@ const (
// ArgCache constats
const (
// ResourceProfileIDs = "ResourceProfileIDs"
// ResourceIDs = "ResourceIDs"
// StatsQueueIDs = "StatsQueueIDs"
// StatsQueueProfileIDs = "StatsQueueProfileIDs"
ThresholdIDs = "ThresholdIDs"
// ThresholdProfileIDs = "ThresholdProfileIDs"
FilterIDs = "FilterIDs"
// RouteProfileIDs = "RouteProfileIDs"
// AttributeProfileIDs = "AttributeProfileIDs"
// ChargerProfileIDs = "ChargerProfileIDs"
// DispatcherProfileIDs = "DispatcherProfileIDs"
// DispatcherHostIDs = "DispatcherHostIDs"
// DispatcherRoutesIDs = "DispatcherRoutesIDs"
ThresholdIDs = "ThresholdIDs"
FilterIDs = "FilterIDs"
RateProfileIDs = "RateProfileIDs"
ActionProfileIDs = "ActionProfileIDs"
)
// AttributeFilterIndexIDs = "AttributeFilterIndexIDs"
// ResourceFilterIndexIDs = "ResourceFilterIndexIDs"
// StatFilterIndexIDs = "StatFilterIndexIDs"
// ThresholdFilterIndexIDs = "ThresholdFilterIndexIDs"
// RouteFilterIndexIDs = "RouteFilterIndexIDs"
// ChargerFilterIndexIDs = "ChargerFilterIndexIDs"
// DispatcherFilterIndexIDs = "DispatcherFilterIndexIDs"
// RateProfilesFilterIndexIDs = "RateProfilesFilterIndexIDs"
// RateFilterIndexIDs = "RateFilterIndexIDs"
// ActionProfilesFilterIndexIDs = "ActionProfilesFilterIndexIDs"
// AccountsFilterIndexIDs = "AccountsFilterIndexIDs"
// FilterIndexIDs = "FilterIndexIDs"
// EventExporter metrics
const (
NumberOfEvents = "NumberOfEvents"
TotalCost = "TotalCost"
PositiveExports = "PositiveExports"
NegativeExports = "NegativeExports"
FirstExpOrderID = "FirstExpOrderID"
LastExpOrderID = "LastExpOrderID"
FirstEventATime = "FirstEventATime"
LastEventATime = "LastEventATime"
TotalDuration = "TotalDuration"
TotalDataUsage = "TotalDataUsage"
TotalSMSUsage = "TotalSMSUsage"
TotalMMSUsage = "TotalMMSUsage"
TotalGenericUsage = "TotalGenericUsage"
FilePath = "FilePath"
)
// Poster and Event reader constants
@@ -2366,15 +2343,12 @@ const (
ExecCgr = "exec"
)
var (
// AnzIndexType are the analyzers possible index types
AnzIndexType = StringSet{
MetaScorch: {},
MetaBoltdb: {},
MetaLeveldb: {},
MetaMoss: {},
}
)
var AnzIndexType = StringSet{ // AnzIndexType are the analyzers possible index types
MetaScorch: {},
MetaBoltdb: {},
MetaLeveldb: {},
MetaMoss: {},
}
// ActionSv1
const (

View File

@@ -1,4 +1,6 @@
//go:build integration
// +build integration
/*
Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
Copyright (C) ITsysCOM GmbH

View File

@@ -1,3 +1,4 @@
//go:build integration
// +build integration
/*

View File

@@ -1,3 +1,4 @@
//go:build integration
// +build integration
/*

View File

@@ -234,8 +234,14 @@ func IfaceAsBool(itm interface{}) (b bool, err error) {
return strconv.ParseBool(v)
case int:
return v > 0, nil
case int32:
return v > 0, nil
case int64:
return v > 0, nil
case uint32:
return v > 0, nil
case uint64:
return v > 0, nil
case float64:
return v > 0, nil
default:
@@ -680,3 +686,59 @@ func ReflectFieldMethodInterface(obj interface{}, fldName string) (retIf interfa
}
return field.Interface(), nil
}
func IfaceAsStringSlice(fld interface{}) (ss []string, err error) {
switch value := fld.(type) {
case nil:
case []string:
ss = value
case []int:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.Itoa(v)
}
case []int32:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatInt(int64(v), 10)
}
case []int64:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatInt(v, 10)
}
case []uint32:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatUint(uint64(v), 10)
}
case []uint64:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatUint(v, 10)
}
case []bool:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatBool(v)
}
case []float32:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatFloat(float64(v), 'f', -1, 64)
}
case []float64:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = strconv.FormatFloat(v, 'f', -1, 64)
}
case []interface{}:
ss = make([]string, len(value))
for i, v := range value {
ss[i] = IfaceAsString(v)
}
default: // Maybe we are lucky and the value converts to string
err = fmt.Errorf("cannot convert field: %+v to []string", value)
}
return
}

View File

@@ -842,10 +842,10 @@ func TestIfaceAsBoolInt64(t *testing.T) {
}
func TestIfaceAsBoolDefault(t *testing.T) {
var test uint64 = 2147483647
var test struct{}
_, err := IfaceAsBool(test)
if err == nil || err.Error() != "cannot convert field: 2147483647 to bool" {
t.Errorf("Expecting <cannot convert field: 2147483647 to bool> ,received: <%+v>", err)
if err == nil || err.Error() != "cannot convert field: {} to bool" {
t.Errorf("Expecting <cannot convert field: {} to bool> ,received: <%+v>", err)
}
}