go-KodeStarter/config/config.go

106 lines
1.8 KiB
Go
Raw Normal View History

2023-06-12 22:40:22 -04:00
package config
import (
"kode-starter/utils"
"github.com/spf13/cobra"
)
var version string = "0.0.1"
var author string = "Bruno Charest"
var modifDate string = "2023-06-12"
var tokenEnv string = utils.GetGitToken()
var verboseFlag bool = false
var jsonFlag bool = false
var urlBase string = "https://git.bcmaison.cf"
var urlApiBase string = urlBase + "/api/v1"
var urlApiOrgs string = urlApiBase + "/orgs"
func GetVersion() string {
return version
}
func GetAuthor() string {
return author
}
func GetBuildDate() string {
return modifDate
}
func GetToken() string {
return tokenEnv
}
func SetToken(token string) {
tokenEnv = token
}
func GetJsonFlag() bool {
return jsonFlag
}
func SetJsonFlag(flag bool) {
jsonFlag = flag
}
func GetUrlBase() string {
return urlBase
}
func GetUrlApiBase() string {
return urlApiBase
}
func GetUrlApiOrgs() string {
return urlApiOrgs
}
func GetVerboseFlag() bool {
return verboseFlag
}
func SetVerboseFlag(flag bool) {
verboseFlag = flag
}
func SetInformations(cmd *cobra.Command, args []string, userToken string) {
// Check if the verbose flag is set
if cmd.Flags().Changed("verbose") || cmd.Flags().Changed("v") {
SetVerboseFlag(true)
} else {
SetVerboseFlag(false)
}
// Check if the json flag is set
if cmd.Flags().Changed("json") || cmd.Flags().Changed("j") {
SetJsonFlag(true)
} else {
SetJsonFlag(false)
}
// Check if token come from flag or env
if cmd.Flags().Changed("token") || cmd.Flags().Changed("t") {
if utils.IsValidToken(userToken) {
SetToken(userToken)
} else {
utils.ExitWithError(10, "Invalid token, format must be 40 characters UUID.")
}
} else {
if utils.IsValidToken(utils.GetGitToken()) {
SetToken(utils.GetGitToken())
} else {
utils.ExitWithError(10, "Invalid token, format must be 40 characters UUID.")
}
}
}