mirror of
https://git.ptzo.gdn/feditools/relay.git
synced 2024-09-21 23:07:12 +00:00
3139c19ea1
* robots * configurable indexing * drop adminHomeFormTelegramEnabled * remove constraint * drop settingsFormTelegramEnabled * drop settingsFormTelegramChatID * process error
70 lines
1.4 KiB
Go
70 lines
1.4 KiB
Go
package models
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"strconv"
|
|
)
|
|
|
|
type ConfigKey string
|
|
|
|
const (
|
|
ConfigHomeBody ConfigKey = `home.body`
|
|
ConfigRobotsAllowIndexing ConfigKey = `robots.allow-indexing`
|
|
ConfigTelegramEnabled ConfigKey = `telegram.enabled`
|
|
ConfigTelegramToken ConfigKey = `telegram.token`
|
|
ConfigUserTelegramEnabled ConfigKey = `user.telegram.enabled`
|
|
ConfigUserTelegramChatID ConfigKey = `user.telegram.chat_id`
|
|
)
|
|
|
|
var configKeyDefault = map[ConfigKey]string{
|
|
ConfigRobotsAllowIndexing: "false",
|
|
ConfigTelegramEnabled: "false",
|
|
ConfigUserTelegramEnabled: "false",
|
|
}
|
|
|
|
func (k ConfigKey) String() string {
|
|
return string(k)
|
|
}
|
|
|
|
func (k ConfigKey) DefaultValue() string {
|
|
d, ok := configKeyDefault[k]
|
|
if !ok {
|
|
logger.WithFields(logrus.Fields{
|
|
"func": "DefaultValue",
|
|
"key": string(k),
|
|
}).Warn("missing default")
|
|
|
|
return ""
|
|
}
|
|
|
|
return d
|
|
}
|
|
|
|
func (k ConfigKey) DefaultValueBool() bool {
|
|
value, err := strconv.ParseBool(k.DefaultValue())
|
|
if err != nil {
|
|
logger.WithFields(logrus.Fields{
|
|
"func": "DefaultValueBool",
|
|
"key": string(k),
|
|
}).Warnf("parsing bool: %s", err.Error())
|
|
|
|
return false
|
|
}
|
|
|
|
return value
|
|
}
|
|
|
|
func (k ConfigKey) DefaultValueInt() int {
|
|
value, err := strconv.ParseInt(k.DefaultValue(), 10, 0)
|
|
if err != nil {
|
|
logger.WithFields(logrus.Fields{
|
|
"func": "DefaultValueInt",
|
|
"key": string(k),
|
|
}).Warnf("parsing int: %s", err.Error())
|
|
|
|
return 0
|
|
}
|
|
|
|
return int(value)
|
|
}
|