go-KodeStarter/config/config.go

121 lines
2.1 KiB
Go
Raw Normal View History

2023-06-12 22:40:22 -04:00
package config
import (
2023-06-14 23:33:24 -04:00
"fmt"
2023-06-12 22:40:22 -04:00
"kode-starter/utils"
2023-06-14 23:33:24 -04:00
"kode-starter/version"
"os"
2023-06-12 22:40:22 -04:00
"github.com/spf13/cobra"
)
2023-06-14 23:33:24 -04:00
// var version string = "0.0.1"
// var fullVersion string = version.FullVersion()
// var fullVersion, err = version.ReadVersionFile()
// var fullVersion string
2023-06-12 22:40:22 -04:00
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"
2023-06-14 23:33:24 -04:00
func GetVersion() *version.Version {
fullVersion, err := version.NewVersionFromString(version.VersionString)
if err != nil {
fmt.Println("Error:", err)
os.Exit(1)
}
return fullVersion
2023-06-12 22:40:22 -04:00
}
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.")
}
}
}