config.go 535 Bytes
package main

import (
	"encoding/json"
	"io/ioutil"
)

type Config struct {
	Port     int `json:"port"`
	Database struct {
		Host     string `json:"host"`
		Name     string `json:"name"`
		User     string `json:"user"`
		Password string `json:"password"`
	} `json:"database"`
	TokenSecret string `json:"token_secret"`
}

func LoadConfig(path string) (Config, error) {
	config := Config{}

	data, err := ioutil.ReadFile(path)
	if err == nil {
		err = json.Unmarshal(data, &config)
	}

	return config, err
}