gitea-sonarqube-bot/internal/settings/token.go

39 lines
697 B
Go
Raw Normal View History

package settings
import (
"fmt"
"io/ioutil"
"github.com/spf13/viper"
)
type token struct {
Value string
file string
}
func (t *token) lookupSecret(errCallback func(string)) {
if t.file == "" {
return
}
content, err := ioutil.ReadFile(t.file)
if err != nil {
errCallback(fmt.Sprintf("Cannot read '%s' or it is no regular file: %s", t.file, err.Error()))
return
}
t.Value = string(content)
}
func NewToken(v *viper.Viper, confContainer string, errCallback func(string)) *token {
t := &token{
Value: v.GetString(fmt.Sprintf("%s.token.value", confContainer)),
file: v.GetString(fmt.Sprintf("%s.token.file", confContainer)),
}
t.lookupSecret(errCallback)
return t
}