121 lines
2.1 KiB
Go
121 lines
2.1 KiB
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"kode-starter/utils"
|
|
"kode-starter/version"
|
|
"os"
|
|
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// var version string = "0.0.1"
|
|
// var fullVersion string = version.FullVersion()
|
|
|
|
// var fullVersion, err = version.ReadVersionFile()
|
|
|
|
// var fullVersion string
|
|
|
|
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() *version.Version {
|
|
|
|
fullVersion, err := version.NewVersionFromString(version.VersionString)
|
|
if err != nil {
|
|
fmt.Println("Error:", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
return fullVersion
|
|
}
|
|
|
|
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.")
|
|
}
|
|
}
|
|
}
|