package env

import "time"

//Config 系統參數
type Config struct {
	Env        string
	TimeFormat string
	Message    struct {
		Post struct {
			Address string
		}
		Received struct {
			Address string
		}
		Topic   string
		Channel string
	}
	Housekeeper struct {
		Host string
	}
	Works struct {
		Worker []*Worker
	}
}

//Worker 工作佇列
type Worker struct {
	Topic    string
	Channel  string
	Interval time.Duration
}

var cfg = &Config{}

func init() {
	cfg.Env = "release"
	cfg.TimeFormat = "2006-01-02 15:04:05"
	cfg.Message.Post.Address = "127.0.0.1:4150"
	cfg.Message.Received.Address = "127.0.0.1:4161"
	cfg.Message.Topic = "Mail"
	cfg.Message.Channel = "SendMail"
	cfg.Housekeeper.Host = "http://127.0.0.1:8806"
	workers := []*Worker{
		&Worker{Topic: "Mail", Channel: "SendMail", Interval: time.Second * 2},
		&Worker{Topic: "PunchClock", Channel: "UploadDailyPunchclockData", Interval: time.Second * 10}}
	cfg.Works.Worker = workers
}

//GetEnv 取得環境參數
func GetEnv() *Config {
	return cfg
}