106 lines
1.8 KiB
Go
106 lines
1.8 KiB
Go
|
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.")
|
||
|
}
|
||
|
}
|
||
|
}
|