mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Fix cloning of variables with independent copy
This commit is contained in:
committed by
Dan Christian Bogos
parent
f2201f3e62
commit
b95555a18b
@@ -218,7 +218,8 @@ func (attrOpts *AttributesOpts) Clone() *AttributesOpts {
|
||||
ProcessRuns: attrOpts.ProcessRuns,
|
||||
}
|
||||
if attrOpts.Context != nil {
|
||||
cln.Context = utils.StringPointer(*attrOpts.Context)
|
||||
cln.Context = new(string)
|
||||
*cln.Context = *attrOpts.Context
|
||||
}
|
||||
return cln
|
||||
}
|
||||
|
||||
144
config/eescfg.go
144
config/eescfg.go
@@ -522,152 +522,200 @@ func (eeC *EventExporterCfg) TrailerFields() []*FCTemplate {
|
||||
func (eeOpts *EventExporterOpts) Clone() *EventExporterOpts {
|
||||
cln := &EventExporterOpts{}
|
||||
if eeOpts.CSVFieldSeparator != nil {
|
||||
cln.CSVFieldSeparator = utils.StringPointer(*eeOpts.CSVFieldSeparator)
|
||||
cln.CSVFieldSeparator = new(string)
|
||||
*cln.CSVFieldSeparator = *eeOpts.CSVFieldSeparator
|
||||
}
|
||||
if eeOpts.ElsIndex != nil {
|
||||
cln.ElsIndex = utils.StringPointer(*eeOpts.ElsIndex)
|
||||
cln.ElsIndex = new(string)
|
||||
*cln.ElsIndex = *eeOpts.ElsIndex
|
||||
}
|
||||
if eeOpts.ElsIfPrimaryTerm != nil {
|
||||
cln.ElsIfPrimaryTerm = utils.IntPointer(*eeOpts.ElsIfPrimaryTerm)
|
||||
cln.ElsIfPrimaryTerm = new(int)
|
||||
*cln.ElsIfPrimaryTerm = *eeOpts.ElsIfPrimaryTerm
|
||||
}
|
||||
if eeOpts.ElsIfSeqNo != nil {
|
||||
cln.ElsIfSeqNo = utils.IntPointer(*eeOpts.ElsIfSeqNo)
|
||||
cln.ElsIfSeqNo = new(int)
|
||||
*cln.ElsIfSeqNo = *eeOpts.ElsIfSeqNo
|
||||
}
|
||||
if eeOpts.ElsOpType != nil {
|
||||
cln.ElsOpType = utils.StringPointer(*eeOpts.ElsOpType)
|
||||
cln.ElsOpType = new(string)
|
||||
*cln.ElsOpType = *eeOpts.ElsOpType
|
||||
}
|
||||
if eeOpts.ElsPipeline != nil {
|
||||
cln.ElsPipeline = utils.StringPointer(*eeOpts.ElsPipeline)
|
||||
cln.ElsPipeline = new(string)
|
||||
*cln.ElsPipeline = *eeOpts.ElsPipeline
|
||||
}
|
||||
if eeOpts.ElsRouting != nil {
|
||||
cln.ElsRouting = utils.StringPointer(*eeOpts.ElsRouting)
|
||||
cln.ElsRouting = new(string)
|
||||
*cln.ElsRouting = *eeOpts.ElsRouting
|
||||
}
|
||||
if eeOpts.ElsTimeout != nil {
|
||||
cln.ElsTimeout = utils.DurationPointer(*eeOpts.ElsTimeout)
|
||||
cln.ElsTimeout = new(time.Duration)
|
||||
*cln.ElsTimeout = *eeOpts.ElsTimeout
|
||||
}
|
||||
if eeOpts.ElsVersion != nil {
|
||||
cln.ElsVersion = utils.IntPointer(*eeOpts.ElsVersion)
|
||||
cln.ElsVersion = new(int)
|
||||
*cln.ElsVersion = *eeOpts.ElsVersion
|
||||
}
|
||||
if eeOpts.ElsVersionType != nil {
|
||||
cln.ElsVersionType = utils.StringPointer(*eeOpts.ElsVersionType)
|
||||
cln.ElsVersionType = new(string)
|
||||
*cln.ElsVersionType = *eeOpts.ElsVersionType
|
||||
}
|
||||
if eeOpts.ElsWaitForActiveShards != nil {
|
||||
cln.ElsWaitForActiveShards = utils.StringPointer(*eeOpts.ElsWaitForActiveShards)
|
||||
cln.ElsWaitForActiveShards = new(string)
|
||||
*cln.ElsWaitForActiveShards = *eeOpts.ElsWaitForActiveShards
|
||||
}
|
||||
if eeOpts.SQLMaxIdleConns != nil {
|
||||
cln.SQLMaxIdleConns = utils.IntPointer(*eeOpts.SQLMaxIdleConns)
|
||||
cln.SQLMaxIdleConns = new(int)
|
||||
*cln.SQLMaxIdleConns = *eeOpts.SQLMaxIdleConns
|
||||
}
|
||||
if eeOpts.SQLMaxOpenConns != nil {
|
||||
cln.SQLMaxOpenConns = utils.IntPointer(*eeOpts.SQLMaxOpenConns)
|
||||
cln.SQLMaxOpenConns = new(int)
|
||||
*cln.SQLMaxOpenConns = *eeOpts.SQLMaxOpenConns
|
||||
}
|
||||
if eeOpts.SQLConnMaxLifetime != nil {
|
||||
cln.SQLConnMaxLifetime = utils.DurationPointer(*eeOpts.SQLConnMaxLifetime)
|
||||
cln.SQLConnMaxLifetime = new(time.Duration)
|
||||
*cln.SQLConnMaxLifetime = *eeOpts.SQLConnMaxLifetime
|
||||
}
|
||||
if eeOpts.MYSQLDSNParams != nil {
|
||||
cln.MYSQLDSNParams = make(map[string]string)
|
||||
cln.MYSQLDSNParams = eeOpts.MYSQLDSNParams
|
||||
}
|
||||
if eeOpts.SQLTableName != nil {
|
||||
cln.SQLTableName = utils.StringPointer(*eeOpts.SQLTableName)
|
||||
cln.SQLTableName = new(string)
|
||||
*cln.SQLTableName = *eeOpts.SQLTableName
|
||||
}
|
||||
if eeOpts.SQLDBName != nil {
|
||||
cln.SQLDBName = utils.StringPointer(*eeOpts.SQLDBName)
|
||||
cln.SQLDBName = new(string)
|
||||
*cln.SQLDBName = *eeOpts.SQLDBName
|
||||
}
|
||||
if eeOpts.PgSSLMode != nil {
|
||||
cln.PgSSLMode = utils.StringPointer(*eeOpts.PgSSLMode)
|
||||
cln.PgSSLMode = new(string)
|
||||
*cln.PgSSLMode = *eeOpts.PgSSLMode
|
||||
}
|
||||
if eeOpts.KafkaTopic != nil {
|
||||
cln.KafkaTopic = utils.StringPointer(*eeOpts.KafkaTopic)
|
||||
cln.KafkaTopic = new(string)
|
||||
*cln.KafkaTopic = *eeOpts.KafkaTopic
|
||||
}
|
||||
if eeOpts.AMQPQueueID != nil {
|
||||
cln.AMQPQueueID = utils.StringPointer(*eeOpts.AMQPQueueID)
|
||||
cln.AMQPQueueID = new(string)
|
||||
*cln.AMQPQueueID = *eeOpts.AMQPQueueID
|
||||
}
|
||||
if eeOpts.AMQPRoutingKey != nil {
|
||||
cln.AMQPRoutingKey = utils.StringPointer(*eeOpts.AMQPRoutingKey)
|
||||
cln.AMQPRoutingKey = new(string)
|
||||
*cln.AMQPRoutingKey = *eeOpts.AMQPRoutingKey
|
||||
}
|
||||
if eeOpts.AMQPExchange != nil {
|
||||
cln.AMQPExchange = utils.StringPointer(*eeOpts.AMQPExchange)
|
||||
cln.AMQPExchange = new(string)
|
||||
*cln.AMQPExchange = *eeOpts.AMQPExchange
|
||||
}
|
||||
if eeOpts.AMQPExchangeType != nil {
|
||||
cln.AMQPExchangeType = utils.StringPointer(*eeOpts.AMQPExchangeType)
|
||||
cln.AMQPExchangeType = new(string)
|
||||
*cln.AMQPExchangeType = *eeOpts.AMQPExchangeType
|
||||
}
|
||||
if eeOpts.AMQPUsername != nil {
|
||||
cln.AMQPUsername = utils.StringPointer(*eeOpts.AMQPUsername)
|
||||
cln.AMQPUsername = new(string)
|
||||
*cln.AMQPUsername = *eeOpts.AMQPUsername
|
||||
}
|
||||
if eeOpts.AMQPPassword != nil {
|
||||
cln.AMQPPassword = utils.StringPointer(*eeOpts.AMQPPassword)
|
||||
cln.AMQPPassword = new(string)
|
||||
*cln.AMQPPassword = *eeOpts.AMQPPassword
|
||||
}
|
||||
if eeOpts.AWSRegion != nil {
|
||||
cln.AWSRegion = utils.StringPointer(*eeOpts.AWSRegion)
|
||||
cln.AWSRegion = new(string)
|
||||
*cln.AWSRegion = *eeOpts.AWSRegion
|
||||
}
|
||||
if eeOpts.AWSKey != nil {
|
||||
cln.AWSKey = utils.StringPointer(*eeOpts.AWSKey)
|
||||
cln.AWSKey = new(string)
|
||||
*cln.AWSKey = *eeOpts.AWSKey
|
||||
}
|
||||
if eeOpts.AWSSecret != nil {
|
||||
cln.AWSSecret = utils.StringPointer(*eeOpts.AWSSecret)
|
||||
cln.AWSSecret = new(string)
|
||||
*cln.AWSSecret = *eeOpts.AWSSecret
|
||||
}
|
||||
if eeOpts.AWSToken != nil {
|
||||
cln.AWSToken = utils.StringPointer(*eeOpts.AWSToken)
|
||||
cln.AWSToken = new(string)
|
||||
*cln.AWSToken = *eeOpts.AWSToken
|
||||
}
|
||||
if eeOpts.SQSQueueID != nil {
|
||||
cln.SQSQueueID = utils.StringPointer(*eeOpts.SQSQueueID)
|
||||
cln.SQSQueueID = new(string)
|
||||
*cln.SQSQueueID = *eeOpts.SQSQueueID
|
||||
}
|
||||
if eeOpts.S3BucketID != nil {
|
||||
cln.S3BucketID = utils.StringPointer(*eeOpts.S3BucketID)
|
||||
cln.S3BucketID = new(string)
|
||||
*cln.S3BucketID = *eeOpts.S3BucketID
|
||||
}
|
||||
if eeOpts.S3FolderPath != nil {
|
||||
cln.S3FolderPath = utils.StringPointer(*eeOpts.S3FolderPath)
|
||||
cln.S3FolderPath = new(string)
|
||||
*cln.S3FolderPath = *eeOpts.S3FolderPath
|
||||
}
|
||||
if eeOpts.NATSJetStream != nil {
|
||||
cln.NATSJetStream = utils.BoolPointer(*eeOpts.NATSJetStream)
|
||||
cln.NATSJetStream = new(bool)
|
||||
*cln.NATSJetStream = *eeOpts.NATSJetStream
|
||||
}
|
||||
if eeOpts.NATSSubject != nil {
|
||||
cln.NATSSubject = utils.StringPointer(*eeOpts.NATSSubject)
|
||||
cln.NATSSubject = new(string)
|
||||
*cln.NATSSubject = *eeOpts.NATSSubject
|
||||
}
|
||||
if eeOpts.NATSJWTFile != nil {
|
||||
cln.NATSJWTFile = utils.StringPointer(*eeOpts.NATSJWTFile)
|
||||
cln.NATSJWTFile = new(string)
|
||||
*cln.NATSJWTFile = *eeOpts.NATSJWTFile
|
||||
}
|
||||
if eeOpts.NATSSeedFile != nil {
|
||||
cln.NATSSeedFile = utils.StringPointer(*eeOpts.NATSSeedFile)
|
||||
cln.NATSSeedFile = new(string)
|
||||
*cln.NATSSeedFile = *eeOpts.NATSSeedFile
|
||||
}
|
||||
if eeOpts.NATSCertificateAuthority != nil {
|
||||
cln.NATSCertificateAuthority = utils.StringPointer(*eeOpts.NATSCertificateAuthority)
|
||||
cln.NATSCertificateAuthority = new(string)
|
||||
*cln.NATSCertificateAuthority = *eeOpts.NATSCertificateAuthority
|
||||
}
|
||||
if eeOpts.NATSClientCertificate != nil {
|
||||
cln.NATSClientCertificate = utils.StringPointer(*eeOpts.NATSClientCertificate)
|
||||
cln.NATSClientCertificate = new(string)
|
||||
*cln.NATSClientCertificate = *eeOpts.NATSClientCertificate
|
||||
}
|
||||
if eeOpts.NATSClientKey != nil {
|
||||
cln.NATSClientKey = utils.StringPointer(*eeOpts.NATSClientKey)
|
||||
cln.NATSClientKey = new(string)
|
||||
*cln.NATSClientKey = *eeOpts.NATSClientKey
|
||||
}
|
||||
if eeOpts.NATSJetStreamMaxWait != nil {
|
||||
cln.NATSJetStreamMaxWait = utils.DurationPointer(*eeOpts.NATSJetStreamMaxWait)
|
||||
cln.NATSJetStreamMaxWait = new(time.Duration)
|
||||
*cln.NATSJetStreamMaxWait = *eeOpts.NATSJetStreamMaxWait
|
||||
}
|
||||
if eeOpts.RPCCodec != nil {
|
||||
cln.RPCCodec = utils.StringPointer(*eeOpts.RPCCodec)
|
||||
cln.RPCCodec = new(string)
|
||||
*cln.RPCCodec = *eeOpts.RPCCodec
|
||||
}
|
||||
if eeOpts.ServiceMethod != nil {
|
||||
cln.ServiceMethod = utils.StringPointer(*eeOpts.ServiceMethod)
|
||||
cln.ServiceMethod = new(string)
|
||||
*cln.ServiceMethod = *eeOpts.ServiceMethod
|
||||
}
|
||||
if eeOpts.KeyPath != nil {
|
||||
cln.KeyPath = utils.StringPointer(*eeOpts.KeyPath)
|
||||
cln.KeyPath = new(string)
|
||||
*cln.KeyPath = *eeOpts.KeyPath
|
||||
}
|
||||
if eeOpts.CertPath != nil {
|
||||
cln.CertPath = utils.StringPointer(*eeOpts.CertPath)
|
||||
cln.CertPath = new(string)
|
||||
*cln.CertPath = *eeOpts.CertPath
|
||||
}
|
||||
if eeOpts.CAPath != nil {
|
||||
cln.CAPath = utils.StringPointer(*eeOpts.CAPath)
|
||||
cln.CAPath = new(string)
|
||||
*cln.CAPath = *eeOpts.CAPath
|
||||
}
|
||||
if eeOpts.TLS != nil {
|
||||
cln.TLS = utils.BoolPointer(*eeOpts.TLS)
|
||||
cln.TLS = new(bool)
|
||||
*cln.TLS = *eeOpts.TLS
|
||||
}
|
||||
if eeOpts.ConnIDs != nil {
|
||||
cln.ConnIDs = utils.SliceStringPointer(*eeOpts.ConnIDs)
|
||||
cln.ConnIDs = new([]string)
|
||||
*cln.ConnIDs = *eeOpts.ConnIDs
|
||||
}
|
||||
if eeOpts.RPCConnTimeout != nil {
|
||||
cln.RPCConnTimeout = utils.DurationPointer(*eeOpts.RPCConnTimeout)
|
||||
cln.RPCConnTimeout = new(time.Duration)
|
||||
*cln.RPCConnTimeout = *eeOpts.RPCConnTimeout
|
||||
}
|
||||
if eeOpts.RPCReplyTimeout != nil {
|
||||
cln.RPCReplyTimeout = utils.DurationPointer(*eeOpts.RPCReplyTimeout)
|
||||
cln.RPCReplyTimeout = new(time.Duration)
|
||||
*cln.RPCReplyTimeout = *eeOpts.RPCReplyTimeout
|
||||
}
|
||||
if eeOpts.RPCAPIOpts != nil {
|
||||
cln.RPCAPIOpts = make(map[string]interface{})
|
||||
|
||||
189
config/erscfg.go
189
config/erscfg.go
@@ -507,193 +507,256 @@ func (er *EventReaderCfg) loadFromJSONCfg(jsnCfg *EventReaderJsonCfg, msgTemplat
|
||||
func (erOpts *EventReaderOpts) Clone() *EventReaderOpts {
|
||||
cln := &EventReaderOpts{}
|
||||
if erOpts.PartialPath != nil {
|
||||
cln.PartialPath = utils.StringPointer(*erOpts.PartialPath)
|
||||
cln.PartialPath = new(string)
|
||||
*cln.PartialPath = *erOpts.PartialPath
|
||||
}
|
||||
if erOpts.PartialCacheAction != nil {
|
||||
cln.PartialCacheAction = utils.StringPointer(*erOpts.PartialCacheAction)
|
||||
cln.PartialCacheAction = new(string)
|
||||
*cln.PartialCacheAction = *erOpts.PartialCacheAction
|
||||
}
|
||||
if erOpts.PartialOrderField != nil {
|
||||
cln.PartialOrderField = utils.StringPointer(*erOpts.PartialOrderField)
|
||||
cln.PartialOrderField = new(string)
|
||||
*cln.PartialOrderField = *erOpts.PartialOrderField
|
||||
}
|
||||
if erOpts.PartialCSVFieldSeparator != nil {
|
||||
cln.PartialCSVFieldSeparator = utils.StringPointer(*erOpts.PartialCSVFieldSeparator)
|
||||
cln.PartialCSVFieldSeparator = new(string)
|
||||
*cln.PartialCSVFieldSeparator = *erOpts.PartialCSVFieldSeparator
|
||||
}
|
||||
if erOpts.CSVRowLength != nil {
|
||||
cln.CSVRowLength = utils.IntPointer(*erOpts.CSVRowLength)
|
||||
cln.CSVRowLength = new(int)
|
||||
*cln.CSVRowLength = *erOpts.CSVRowLength
|
||||
}
|
||||
if erOpts.CSVFieldSeparator != nil {
|
||||
cln.CSVFieldSeparator = utils.StringPointer(*erOpts.CSVFieldSeparator)
|
||||
cln.CSVFieldSeparator = new(string)
|
||||
*cln.CSVFieldSeparator = *erOpts.CSVFieldSeparator
|
||||
}
|
||||
if erOpts.CSVHeaderDefineChar != nil {
|
||||
cln.CSVHeaderDefineChar = utils.StringPointer(*erOpts.CSVHeaderDefineChar)
|
||||
cln.CSVHeaderDefineChar = new(string)
|
||||
*cln.CSVHeaderDefineChar = *erOpts.CSVHeaderDefineChar
|
||||
}
|
||||
if erOpts.CSVLazyQuotes != nil {
|
||||
cln.CSVLazyQuotes = utils.BoolPointer(*erOpts.CSVLazyQuotes)
|
||||
cln.CSVLazyQuotes = new(bool)
|
||||
*cln.CSVLazyQuotes = *erOpts.CSVLazyQuotes
|
||||
}
|
||||
if erOpts.XMLRootPath != nil {
|
||||
cln.XMLRootPath = utils.StringPointer(*erOpts.XMLRootPath)
|
||||
cln.XMLRootPath = new(string)
|
||||
*cln.XMLRootPath = *erOpts.XMLRootPath
|
||||
}
|
||||
if erOpts.AMQPQueueID != nil {
|
||||
cln.AMQPQueueID = utils.StringPointer(*erOpts.AMQPQueueID)
|
||||
cln.AMQPQueueID = new(string)
|
||||
*cln.AMQPQueueID = *erOpts.AMQPQueueID
|
||||
}
|
||||
if erOpts.AMQPQueueIDProcessed != nil {
|
||||
cln.AMQPQueueIDProcessed = utils.StringPointer(*erOpts.AMQPQueueIDProcessed)
|
||||
cln.AMQPQueueIDProcessed = new(string)
|
||||
*cln.AMQPQueueIDProcessed = *erOpts.AMQPQueueIDProcessed
|
||||
}
|
||||
if erOpts.AMQPUsername != nil {
|
||||
cln.AMQPUsername = utils.StringPointer(*erOpts.AMQPUsername)
|
||||
cln.AMQPUsername = new(string)
|
||||
*cln.AMQPUsername = *erOpts.AMQPUsername
|
||||
}
|
||||
if erOpts.AMQPPassword != nil {
|
||||
cln.AMQPPassword = utils.StringPointer(*erOpts.AMQPPassword)
|
||||
cln.AMQPPassword = new(string)
|
||||
*cln.AMQPPassword = *erOpts.AMQPPassword
|
||||
}
|
||||
if erOpts.AMQPUsernameProcessed != nil {
|
||||
cln.AMQPUsernameProcessed = utils.StringPointer(*erOpts.AMQPUsernameProcessed)
|
||||
cln.AMQPUsernameProcessed = new(string)
|
||||
*cln.AMQPUsernameProcessed = *erOpts.AMQPUsernameProcessed
|
||||
}
|
||||
if erOpts.AMQPPasswordProcessed != nil {
|
||||
cln.AMQPPasswordProcessed = utils.StringPointer(*erOpts.AMQPPasswordProcessed)
|
||||
cln.AMQPPasswordProcessed = new(string)
|
||||
*cln.AMQPPasswordProcessed = *erOpts.AMQPPasswordProcessed
|
||||
}
|
||||
if erOpts.AMQPConsumerTag != nil {
|
||||
cln.AMQPConsumerTag = utils.StringPointer(*erOpts.AMQPConsumerTag)
|
||||
cln.AMQPConsumerTag = new(string)
|
||||
*cln.AMQPConsumerTag = *erOpts.AMQPConsumerTag
|
||||
}
|
||||
if erOpts.AMQPExchange != nil {
|
||||
cln.AMQPExchange = utils.StringPointer(*erOpts.AMQPExchange)
|
||||
cln.AMQPExchange = new(string)
|
||||
*cln.AMQPExchange = *erOpts.AMQPExchange
|
||||
}
|
||||
if erOpts.AMQPExchangeType != nil {
|
||||
cln.AMQPExchangeType = utils.StringPointer(*erOpts.AMQPExchangeType)
|
||||
cln.AMQPExchangeType = new(string)
|
||||
*cln.AMQPExchangeType = *erOpts.AMQPExchangeType
|
||||
}
|
||||
if erOpts.AMQPRoutingKey != nil {
|
||||
cln.AMQPRoutingKey = utils.StringPointer(*erOpts.AMQPRoutingKey)
|
||||
cln.AMQPRoutingKey = new(string)
|
||||
*cln.AMQPRoutingKey = *erOpts.AMQPRoutingKey
|
||||
}
|
||||
if erOpts.AMQPExchangeProcessed != nil {
|
||||
cln.AMQPExchangeProcessed = utils.StringPointer(*erOpts.AMQPExchangeProcessed)
|
||||
cln.AMQPExchangeProcessed = new(string)
|
||||
*cln.AMQPExchangeProcessed = *erOpts.AMQPExchangeProcessed
|
||||
}
|
||||
if erOpts.AMQPExchangeTypeProcessed != nil {
|
||||
cln.AMQPExchangeTypeProcessed = utils.StringPointer(*erOpts.AMQPExchangeTypeProcessed)
|
||||
cln.AMQPExchangeTypeProcessed = new(string)
|
||||
*cln.AMQPExchangeTypeProcessed = *erOpts.AMQPExchangeTypeProcessed
|
||||
}
|
||||
if erOpts.AMQPRoutingKeyProcessed != nil {
|
||||
cln.AMQPRoutingKeyProcessed = utils.StringPointer(*erOpts.AMQPRoutingKeyProcessed)
|
||||
cln.AMQPRoutingKeyProcessed = new(string)
|
||||
*cln.AMQPRoutingKeyProcessed = *erOpts.AMQPRoutingKeyProcessed
|
||||
}
|
||||
if erOpts.KafkaTopic != nil {
|
||||
cln.KafkaTopic = utils.StringPointer(*erOpts.KafkaTopic)
|
||||
cln.KafkaTopic = new(string)
|
||||
*cln.KafkaTopic = *erOpts.KafkaTopic
|
||||
}
|
||||
if erOpts.KafkaGroupID != nil {
|
||||
cln.KafkaGroupID = utils.StringPointer(*erOpts.KafkaGroupID)
|
||||
cln.KafkaGroupID = new(string)
|
||||
*cln.KafkaGroupID = *erOpts.KafkaGroupID
|
||||
}
|
||||
if erOpts.KafkaMaxWait != nil {
|
||||
cln.KafkaMaxWait = utils.DurationPointer(*erOpts.KafkaMaxWait)
|
||||
cln.KafkaMaxWait = new(time.Duration)
|
||||
*cln.KafkaMaxWait = *erOpts.KafkaMaxWait
|
||||
}
|
||||
if erOpts.KafkaTopicProcessed != nil {
|
||||
cln.KafkaTopicProcessed = utils.StringPointer(*erOpts.KafkaTopicProcessed)
|
||||
cln.KafkaTopicProcessed = new(string)
|
||||
*cln.KafkaTopicProcessed = *erOpts.KafkaTopicProcessed
|
||||
}
|
||||
if erOpts.SQLDBName != nil {
|
||||
cln.SQLDBName = utils.StringPointer(*erOpts.SQLDBName)
|
||||
cln.SQLDBName = new(string)
|
||||
*cln.SQLDBName = *erOpts.SQLDBName
|
||||
}
|
||||
if erOpts.SQLTableName != nil {
|
||||
cln.SQLTableName = utils.StringPointer(*erOpts.SQLTableName)
|
||||
cln.SQLTableName = new(string)
|
||||
*cln.SQLTableName = *erOpts.SQLTableName
|
||||
}
|
||||
if erOpts.PgSSLMode != nil {
|
||||
cln.PgSSLMode = utils.StringPointer(*erOpts.PgSSLMode)
|
||||
cln.PgSSLMode = new(string)
|
||||
*cln.PgSSLMode = *erOpts.PgSSLMode
|
||||
}
|
||||
if erOpts.SQLDBNameProcessed != nil {
|
||||
cln.SQLDBNameProcessed = utils.StringPointer(*erOpts.SQLDBNameProcessed)
|
||||
cln.SQLDBNameProcessed = new(string)
|
||||
*cln.SQLDBNameProcessed = *erOpts.SQLDBNameProcessed
|
||||
}
|
||||
if erOpts.SQLTableNameProcessed != nil {
|
||||
cln.SQLTableNameProcessed = utils.StringPointer(*erOpts.SQLTableNameProcessed)
|
||||
cln.SQLTableNameProcessed = new(string)
|
||||
*cln.SQLTableNameProcessed = *erOpts.SQLTableNameProcessed
|
||||
}
|
||||
if erOpts.PgSSLModeProcessed != nil {
|
||||
cln.PgSSLModeProcessed = utils.StringPointer(*erOpts.PgSSLModeProcessed)
|
||||
cln.PgSSLModeProcessed = new(string)
|
||||
*cln.PgSSLModeProcessed = *erOpts.PgSSLModeProcessed
|
||||
}
|
||||
if erOpts.AWSRegion != nil {
|
||||
cln.AWSRegion = utils.StringPointer(*erOpts.AWSRegion)
|
||||
cln.AWSRegion = new(string)
|
||||
*cln.AWSRegion = *erOpts.AWSRegion
|
||||
}
|
||||
if erOpts.AWSKey != nil {
|
||||
cln.AWSKey = utils.StringPointer(*erOpts.AWSKey)
|
||||
cln.AWSKey = new(string)
|
||||
*cln.AWSKey = *erOpts.AWSKey
|
||||
}
|
||||
if erOpts.AWSSecret != nil {
|
||||
cln.AWSSecret = utils.StringPointer(*erOpts.AWSSecret)
|
||||
cln.AWSSecret = new(string)
|
||||
*cln.AWSSecret = *erOpts.AWSSecret
|
||||
}
|
||||
if erOpts.AWSToken != nil {
|
||||
cln.AWSToken = utils.StringPointer(*erOpts.AWSToken)
|
||||
cln.AWSToken = new(string)
|
||||
*cln.AWSToken = *erOpts.AWSToken
|
||||
}
|
||||
if erOpts.AWSRegionProcessed != nil {
|
||||
cln.AWSRegionProcessed = utils.StringPointer(*erOpts.AWSRegionProcessed)
|
||||
cln.AWSRegionProcessed = new(string)
|
||||
*cln.AWSRegionProcessed = *erOpts.AWSRegionProcessed
|
||||
}
|
||||
if erOpts.AWSKeyProcessed != nil {
|
||||
cln.AWSKeyProcessed = utils.StringPointer(*erOpts.AWSKeyProcessed)
|
||||
cln.AWSKeyProcessed = new(string)
|
||||
*cln.AWSKeyProcessed = *erOpts.AWSKeyProcessed
|
||||
}
|
||||
if erOpts.AWSSecretProcessed != nil {
|
||||
cln.AWSSecretProcessed = utils.StringPointer(*erOpts.AWSSecretProcessed)
|
||||
cln.AWSSecretProcessed = new(string)
|
||||
*cln.AWSSecretProcessed = *erOpts.AWSSecretProcessed
|
||||
}
|
||||
if erOpts.AWSTokenProcessed != nil {
|
||||
cln.AWSTokenProcessed = utils.StringPointer(*erOpts.AWSTokenProcessed)
|
||||
cln.AWSTokenProcessed = new(string)
|
||||
*cln.AWSTokenProcessed = *erOpts.AWSTokenProcessed
|
||||
}
|
||||
if erOpts.SQSQueueID != nil {
|
||||
cln.SQSQueueID = utils.StringPointer(*erOpts.SQSQueueID)
|
||||
cln.SQSQueueID = new(string)
|
||||
*cln.SQSQueueID = *erOpts.SQSQueueID
|
||||
}
|
||||
if erOpts.SQSQueueIDProcessed != nil {
|
||||
cln.SQSQueueIDProcessed = utils.StringPointer(*erOpts.SQSQueueIDProcessed)
|
||||
cln.SQSQueueIDProcessed = new(string)
|
||||
*cln.SQSQueueIDProcessed = *erOpts.SQSQueueIDProcessed
|
||||
}
|
||||
if erOpts.S3BucketID != nil {
|
||||
cln.S3BucketID = utils.StringPointer(*erOpts.S3BucketID)
|
||||
cln.S3BucketID = new(string)
|
||||
*cln.S3BucketID = *erOpts.S3BucketID
|
||||
}
|
||||
if erOpts.S3FolderPathProcessed != nil {
|
||||
cln.S3FolderPathProcessed = utils.StringPointer(*erOpts.S3FolderPathProcessed)
|
||||
cln.S3FolderPathProcessed = new(string)
|
||||
*cln.S3FolderPathProcessed = *erOpts.S3FolderPathProcessed
|
||||
}
|
||||
if erOpts.S3BucketIDProcessed != nil {
|
||||
cln.S3BucketIDProcessed = utils.StringPointer(*erOpts.S3BucketIDProcessed)
|
||||
cln.S3BucketIDProcessed = new(string)
|
||||
*cln.S3BucketIDProcessed = *erOpts.S3BucketIDProcessed
|
||||
}
|
||||
if erOpts.NATSJetStream != nil {
|
||||
cln.NATSJetStream = utils.BoolPointer(*erOpts.NATSJetStream)
|
||||
cln.NATSJetStream = new(bool)
|
||||
*cln.NATSJetStream = *erOpts.NATSJetStream
|
||||
}
|
||||
if erOpts.NATSConsumerName != nil {
|
||||
cln.NATSConsumerName = utils.StringPointer(*erOpts.NATSConsumerName)
|
||||
cln.NATSConsumerName = new(string)
|
||||
*cln.NATSConsumerName = *erOpts.NATSConsumerName
|
||||
}
|
||||
if erOpts.NATSSubject != nil {
|
||||
cln.NATSSubject = utils.StringPointer(*erOpts.NATSSubject)
|
||||
cln.NATSSubject = new(string)
|
||||
*cln.NATSSubject = *erOpts.NATSSubject
|
||||
}
|
||||
if erOpts.NATSQueueID != nil {
|
||||
cln.NATSQueueID = utils.StringPointer(*erOpts.NATSQueueID)
|
||||
cln.NATSQueueID = new(string)
|
||||
*cln.NATSQueueID = *erOpts.NATSQueueID
|
||||
}
|
||||
if erOpts.NATSJWTFile != nil {
|
||||
cln.NATSJWTFile = utils.StringPointer(*erOpts.NATSJWTFile)
|
||||
cln.NATSJWTFile = new(string)
|
||||
*cln.NATSJWTFile = *erOpts.NATSJWTFile
|
||||
}
|
||||
if erOpts.NATSSeedFile != nil {
|
||||
cln.NATSSeedFile = utils.StringPointer(*erOpts.NATSSeedFile)
|
||||
cln.NATSSeedFile = new(string)
|
||||
*cln.NATSSeedFile = *erOpts.NATSSeedFile
|
||||
}
|
||||
if erOpts.NATSCertificateAuthority != nil {
|
||||
cln.NATSCertificateAuthority = utils.StringPointer(*erOpts.NATSCertificateAuthority)
|
||||
cln.NATSCertificateAuthority = new(string)
|
||||
*cln.NATSCertificateAuthority = *erOpts.NATSCertificateAuthority
|
||||
}
|
||||
if erOpts.NATSClientCertificate != nil {
|
||||
cln.NATSClientCertificate = utils.StringPointer(*erOpts.NATSClientCertificate)
|
||||
cln.NATSClientCertificate = new(string)
|
||||
*cln.NATSClientCertificate = *erOpts.NATSClientCertificate
|
||||
}
|
||||
if erOpts.NATSClientKey != nil {
|
||||
cln.NATSClientKey = utils.StringPointer(*erOpts.NATSClientKey)
|
||||
cln.NATSClientKey = new(string)
|
||||
*cln.NATSClientKey = *erOpts.NATSClientKey
|
||||
}
|
||||
if erOpts.NATSJetStreamMaxWait != nil {
|
||||
cln.NATSJetStreamMaxWait = utils.DurationPointer(*erOpts.NATSJetStreamMaxWait)
|
||||
cln.NATSJetStreamMaxWait = new(time.Duration)
|
||||
*cln.NATSJetStreamMaxWait = *erOpts.NATSJetStreamMaxWait
|
||||
}
|
||||
if erOpts.NATSJetStreamProcessed != nil {
|
||||
cln.NATSJetStreamProcessed = utils.BoolPointer(*erOpts.NATSJetStreamProcessed)
|
||||
cln.NATSJetStreamProcessed = new(bool)
|
||||
*cln.NATSJetStreamProcessed = *erOpts.NATSJetStreamProcessed
|
||||
}
|
||||
if erOpts.NATSSubjectProcessed != nil {
|
||||
cln.NATSSubjectProcessed = utils.StringPointer(*erOpts.NATSSubjectProcessed)
|
||||
cln.NATSSubjectProcessed = new(string)
|
||||
*cln.NATSSubjectProcessed = *erOpts.NATSSubjectProcessed
|
||||
}
|
||||
if erOpts.NATSJWTFileProcessed != nil {
|
||||
cln.NATSJWTFileProcessed = utils.StringPointer(*erOpts.NATSJWTFileProcessed)
|
||||
cln.NATSJWTFileProcessed = new(string)
|
||||
*cln.NATSJWTFileProcessed = *erOpts.NATSJWTFileProcessed
|
||||
}
|
||||
if erOpts.NATSSeedFileProcessed != nil {
|
||||
cln.NATSSeedFileProcessed = utils.StringPointer(*erOpts.NATSSeedFileProcessed)
|
||||
cln.NATSSeedFileProcessed = new(string)
|
||||
*cln.NATSSeedFileProcessed = *erOpts.NATSSeedFileProcessed
|
||||
}
|
||||
if erOpts.NATSCertificateAuthorityProcessed != nil {
|
||||
cln.NATSCertificateAuthorityProcessed = utils.StringPointer(*erOpts.NATSCertificateAuthorityProcessed)
|
||||
cln.NATSCertificateAuthorityProcessed = new(string)
|
||||
*cln.NATSCertificateAuthorityProcessed = *erOpts.NATSCertificateAuthorityProcessed
|
||||
}
|
||||
if erOpts.NATSClientCertificateProcessed != nil {
|
||||
cln.NATSClientCertificateProcessed = utils.StringPointer(*erOpts.NATSClientCertificateProcessed)
|
||||
cln.NATSClientCertificateProcessed = new(string)
|
||||
*cln.NATSClientCertificateProcessed = *erOpts.NATSClientCertificateProcessed
|
||||
}
|
||||
if erOpts.NATSClientKeyProcessed != nil {
|
||||
cln.NATSClientKeyProcessed = utils.StringPointer(*erOpts.NATSClientKeyProcessed)
|
||||
cln.NATSClientKeyProcessed = new(string)
|
||||
*cln.NATSClientKeyProcessed = *erOpts.NATSClientKeyProcessed
|
||||
}
|
||||
if erOpts.NATSJetStreamMaxWaitProcessed != nil {
|
||||
cln.NATSJetStreamMaxWaitProcessed = utils.DurationPointer(*erOpts.NATSJetStreamMaxWaitProcessed)
|
||||
cln.NATSJetStreamMaxWaitProcessed = new(time.Duration)
|
||||
*cln.NATSJetStreamMaxWaitProcessed = *erOpts.NATSJetStreamMaxWaitProcessed
|
||||
}
|
||||
return cln
|
||||
}
|
||||
|
||||
@@ -182,7 +182,8 @@ func (fc FCTemplate) Clone() (cln *FCTemplate) {
|
||||
MaskLen: fc.MaskLen,
|
||||
}
|
||||
if fc.RoundingDecimals != nil {
|
||||
cln.RoundingDecimals = utils.IntPointer(*fc.RoundingDecimals)
|
||||
cln.RoundingDecimals = new(int)
|
||||
*cln.RoundingDecimals = *fc.RoundingDecimals
|
||||
}
|
||||
if fc.pathSlice != nil {
|
||||
cln.pathSlice = utils.CloneStringSlice(fc.pathSlice)
|
||||
|
||||
@@ -177,7 +177,8 @@ func (resOpts *ResourcesOpts) Clone() (cln *ResourcesOpts) {
|
||||
Units: resOpts.Units,
|
||||
}
|
||||
if resOpts.UsageTTL != nil {
|
||||
cln.UsageTTL = utils.DurationPointer(*resOpts.UsageTTL)
|
||||
cln.UsageTTL = new(time.Duration)
|
||||
*cln.UsageTTL = *resOpts.UsageTTL
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -250,13 +250,16 @@ func (rts *RoutesOpts) Clone() (cln *RoutesOpts) {
|
||||
MaxCost: rts.MaxCost,
|
||||
}
|
||||
if rts.ProfileCount != nil {
|
||||
cln.ProfileCount = utils.IntPointer(*rts.ProfileCount)
|
||||
cln.ProfileCount = new(int)
|
||||
*cln.ProfileCount = *rts.ProfileCount
|
||||
}
|
||||
if rts.Limit != nil {
|
||||
cln.Limit = utils.IntPointer(*rts.Limit)
|
||||
cln.Limit = new(int)
|
||||
*cln.Limit = *rts.Limit
|
||||
}
|
||||
if rts.Offset != nil {
|
||||
cln.Offset = utils.IntPointer(*rts.Offset)
|
||||
cln.Offset = new(int)
|
||||
*cln.Offset = *rts.Offset
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -483,16 +483,20 @@ func (scfg SessionSCfg) Clone() (cln *SessionSCfg) {
|
||||
cln.DefaultUsage[k] = v
|
||||
}
|
||||
if scfg.SessionTTLMaxDelay != nil {
|
||||
cln.SessionTTLMaxDelay = utils.DurationPointer(*scfg.SessionTTLMaxDelay)
|
||||
cln.SessionTTLMaxDelay = new(time.Duration)
|
||||
*cln.SessionTTLMaxDelay = *scfg.SessionTTLMaxDelay
|
||||
}
|
||||
if scfg.SessionTTLLastUsed != nil {
|
||||
cln.SessionTTLLastUsed = utils.DurationPointer(*scfg.SessionTTLLastUsed)
|
||||
cln.SessionTTLLastUsed = new(time.Duration)
|
||||
*cln.SessionTTLLastUsed = *scfg.SessionTTLLastUsed
|
||||
}
|
||||
if scfg.SessionTTLUsage != nil {
|
||||
cln.SessionTTLUsage = utils.DurationPointer(*scfg.SessionTTLUsage)
|
||||
cln.SessionTTLUsage = new(time.Duration)
|
||||
*cln.SessionTTLUsage = *scfg.SessionTTLUsage
|
||||
}
|
||||
if scfg.SessionTTLLastUsage != nil {
|
||||
cln.SessionTTLLastUsage = utils.DurationPointer(*scfg.SessionTTLLastUsage)
|
||||
cln.SessionTTLLastUsage = new(time.Duration)
|
||||
*cln.SessionTTLLastUsage = *scfg.SessionTTLLastUsage
|
||||
}
|
||||
|
||||
if scfg.ChargerSConns != nil {
|
||||
|
||||
@@ -134,7 +134,8 @@ func (ev *CGREvent) Clone() (clned *CGREvent) {
|
||||
APIOpts: make(map[string]interface{}),
|
||||
}
|
||||
if ev.Time != nil {
|
||||
clned.Time = TimePointer(*ev.Time)
|
||||
clned.Time = new(time.Time)
|
||||
*clned.Time = *ev.Time
|
||||
}
|
||||
for k, v := range ev.Event {
|
||||
clned.Event[k] = v
|
||||
|
||||
Reference in New Issue
Block a user