30 lines
678 B
Go
30 lines
678 B
Go
|
|
package config
|
||
|
|
|
||
|
|
import (
|
||
|
|
"encoding/json"
|
||
|
|
"fmt"
|
||
|
|
"os"
|
||
|
|
)
|
||
|
|
|
||
|
|
type CustomerConfig struct {
|
||
|
|
Project string `json:"project"`
|
||
|
|
CustomerDirectory string `json:"customer_directory"`
|
||
|
|
UIURL string `json:"ui_url"`
|
||
|
|
StaticURL string `json:"static_url"`
|
||
|
|
Port int `json:"port"`
|
||
|
|
}
|
||
|
|
|
||
|
|
func ReadCustomerConfig(path string) (CustomerConfig, error) {
|
||
|
|
data, err := os.ReadFile(path)
|
||
|
|
if err != nil {
|
||
|
|
return CustomerConfig{}, fmt.Errorf("failed to read file: %w", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
var cust CustomerConfig
|
||
|
|
if err := json.Unmarshal(data, &cust); err != nil {
|
||
|
|
return CustomerConfig{}, fmt.Errorf("failed to unmarshal JSON: %w", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
return cust, nil
|
||
|
|
}
|