Files
novatask/internal/pkg/earn/earn.go
2024-12-13 16:15:20 +08:00

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"
)