46 lines
961 B
Go
46 lines
961 B
Go
package earn
|
|
|
|
import (
|
|
ea "github.com/earn-alliance/earnalliance-go"
|
|
"time"
|
|
)
|
|
|
|
type Config struct {
|
|
ClientId string
|
|
ClientSecret string
|
|
GameId string
|
|
Dsn string `json:",optional"`
|
|
FlushCooldown time.Duration `json:",optional"`
|
|
FlushInterval time.Duration `json:",optional"`
|
|
BatchSize int `json:",optional"`
|
|
}
|
|
|
|
func (c Config) BuildEarnClient() *ea.Client {
|
|
clientBuilder := ea.NewClientBuilder().
|
|
WithClientID(c.ClientId).
|
|
WithClientSecret(c.ClientSecret).
|
|
WithGameID(c.GameId)
|
|
|
|
if c.Dsn != "" {
|
|
clientBuilder = clientBuilder.WithDSN(c.Dsn)
|
|
}
|
|
|
|
if c.FlushCooldown > 0 {
|
|
clientBuilder = clientBuilder.WithFlushCooldown(c.FlushCooldown)
|
|
}
|
|
|
|
if c.FlushInterval > 0 {
|
|
clientBuilder = clientBuilder.WithFlushInterval(c.FlushInterval)
|
|
}
|
|
|
|
if c.BatchSize > 0 {
|
|
clientBuilder = clientBuilder.WithBatchSize(c.BatchSize)
|
|
}
|
|
|
|
return clientBuilder.Build()
|
|
}
|
|
|
|
const (
|
|
EVENT_BIND_ROLE = "BIND_ROLE"
|
|
)
|