matrix-pretix/internal/config/config.go

41 lines
610 B
Go
Raw Normal View History

package config
import (
"encoding/json"
"os"
"git.luj0ga.de/franconian/matrix"
)
type Config struct {
2022-07-24 02:40:44 +02:00
DB DatabaseConfig
Matrix matrix.Config
2022-07-24 02:40:44 +02:00
Server ServerConfig
}
type DatabaseConfig struct {
Filename string
}
2022-07-24 02:40:44 +02:00
type ServerConfig struct {
2022-07-24 21:41:01 +02:00
APIToken string `json:"api_token"`
BaseURL string `json:"base_url"`
ListenAddress string `json:"listen_address"`
}
2022-07-24 04:42:44 +02:00
func ParseFromFile(path string) (*Config, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, err
}
2022-07-24 04:42:44 +02:00
config := &Config{}
err = json.Unmarshal(data, config)
if err != nil {
return nil, err
}
return config, nil
}