package config

import "os"

type Config struct {
	AppName              string
	AppPort              string
	MongoUri             string
	MongoDbName          string
	KafkaBrokers         string
	KafkaTopic           string
	SocketPort           string
	DeviceCommand        string
	KafkaConsumerBrokers string
	KafkaConsumerGroup   string
	KafkaEnabled         string
	RedisAddr            string
	RedisPassword        string
}

func LoadEnv() Config {
	return Config{
		AppName:              os.Getenv("APP_NAME"),
		AppPort:              os.Getenv("APP_PORT"),
		MongoUri:             os.Getenv("MONGO_URI"),
		MongoDbName:          os.Getenv("MONGO_DB_NAME"),
		KafkaBrokers:         os.Getenv("KAFKA_BROKERS"),
		KafkaTopic:           os.Getenv("KAFKA_TOPIC"),
		SocketPort:           os.Getenv("SOCKET_PORT"),
		DeviceCommand:        os.Getenv("DEVICE_COMMAND_TOPIC"),
		KafkaConsumerBrokers: os.Getenv("KAFKA_CONSUMER_BROKERS"),
		KafkaConsumerGroup:   os.Getenv("KAFKA_CONSUMER_GROUP"),
		KafkaEnabled:         os.Getenv("KAFKA_ENABLED"),
		RedisAddr:            os.Getenv("REDIS_ADDR"),
		RedisPassword:        os.Getenv("REDIS_PASSWORD"),
	}
}
