2020-03-30 07:58:40 -04:00
|
|
|
package settings
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"strings"
|
|
|
|
|
|
2020-07-26 12:07:06 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/models"
|
|
|
|
|
"github.com/qdm12/gluetun/internal/params"
|
2020-03-30 07:58:40 -04:00
|
|
|
)
|
|
|
|
|
|
2020-10-20 02:45:28 +00:00
|
|
|
// System contains settings to configure system related elements.
|
2020-03-30 07:58:40 -04:00
|
|
|
type System struct {
|
2020-04-12 08:55:13 -04:00
|
|
|
UID int
|
|
|
|
|
GID int
|
|
|
|
|
Timezone string
|
|
|
|
|
IPStatusFilepath models.Filepath
|
2020-03-30 07:58:40 -04:00
|
|
|
}
|
|
|
|
|
|
2020-10-20 02:45:28 +00:00
|
|
|
// GetSystemSettings obtains the System settings using the params functions.
|
2020-04-12 20:05:28 +00:00
|
|
|
func GetSystemSettings(paramsReader params.Reader) (settings System, err error) {
|
|
|
|
|
settings.UID, err = paramsReader.GetUID()
|
2020-03-30 07:58:40 -04:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
2020-04-12 20:05:28 +00:00
|
|
|
settings.GID, err = paramsReader.GetGID()
|
2020-03-30 07:58:40 -04:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
2020-04-12 20:05:28 +00:00
|
|
|
settings.Timezone, err = paramsReader.GetTimezone()
|
2020-03-30 07:58:40 -04:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
2020-04-12 20:05:28 +00:00
|
|
|
settings.IPStatusFilepath, err = paramsReader.GetIPStatusFilepath()
|
2020-04-12 08:55:13 -04:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
2020-03-30 07:58:40 -04:00
|
|
|
return settings, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *System) String() string {
|
|
|
|
|
settingsList := []string{
|
|
|
|
|
"System settings:",
|
|
|
|
|
fmt.Sprintf("User ID: %d", s.UID),
|
|
|
|
|
fmt.Sprintf("Group ID: %d", s.GID),
|
|
|
|
|
fmt.Sprintf("Timezone: %s", s.Timezone),
|
2020-04-12 08:55:13 -04:00
|
|
|
fmt.Sprintf("IP Status filepath: %s", s.IPStatusFilepath),
|
2020-03-30 07:58:40 -04:00
|
|
|
}
|
|
|
|
|
return strings.Join(settingsList, "\n|--")
|
|
|
|
|
}
|