package config

import (
	"eta/eta_mini_ht_api/common/contants"
	"sync"
)

var (
	etaOnce   sync.Once
	etaConfig *ETAConfig
)

type ETAOpts struct {
	DBUrl string
}
type ETAConfig struct {
	BaseConfig
	opts ETAOpts
}

func (r *ETAConfig) GetDBUrl() string {
	return r.opts.DBUrl
}

func (r *ETAConfig) InitConfig() {
	opts := ETAOpts{
		DBUrl: r.GetString("database.url"),
	}
	r.opts = opts
}
func NewETAConfig() Config {
	if etaConfig == nil {
		etaOnce.Do(func() {
			etaConfig = &ETAConfig{
				BaseConfig: BaseConfig{prefix: contants.ETA},
				opts:       ETAOpts{},
			}
		})
	}
	return etaConfig
}

func init() {
	Register(contants.ETA, NewETAConfig)
}
