mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-04 18:26:16 +00:00
login and user update commands support for existing domain override methods
This commit is contained in:
@@ -65,10 +65,29 @@ var loginCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//override domain
|
||||||
|
domainQuery := true
|
||||||
|
if config.INFISICAL_URL_MANUAL_OVERRIDE != util.INFISICAL_DEFAULT_API_URL {
|
||||||
|
overrideDomain, err := DomainOverridePrompt()
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
//if not override set INFISICAL_URL to exported var
|
||||||
|
//set domainQuery to false
|
||||||
|
if !overrideDomain {
|
||||||
|
domainQuery = false
|
||||||
|
config.INFISICAL_URL = config.INFISICAL_URL_MANUAL_OVERRIDE
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//prompt user to select domain between Infisical cloud and self hosting
|
//prompt user to select domain between Infisical cloud and self hosting
|
||||||
err = askForDomain()
|
if domainQuery {
|
||||||
if err != nil {
|
err = askForDomain()
|
||||||
util.HandleError(err, "Unable to parse domain url")
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to parse domain url")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
email, password, err := askForLoginCredentials()
|
email, password, err := askForLoginCredentials()
|
||||||
@@ -264,6 +283,27 @@ func init() {
|
|||||||
rootCmd.AddCommand(loginCmd)
|
rootCmd.AddCommand(loginCmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DomainOverridePrompt() (bool, error) {
|
||||||
|
var (
|
||||||
|
PRESET = "Use Domain"
|
||||||
|
OVERRIDE = "Change Domain"
|
||||||
|
)
|
||||||
|
|
||||||
|
options := []string{PRESET, OVERRIDE}
|
||||||
|
optionsPrompt := promptui.Select{
|
||||||
|
Label: fmt.Sprintf("Current INFISICAL_API_URL Domain Override: %s", config.INFISICAL_URL_MANUAL_OVERRIDE),
|
||||||
|
Items: options,
|
||||||
|
Size: 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
_, selectedOption, err := optionsPrompt.Run()
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return selectedOption == OVERRIDE, err
|
||||||
|
}
|
||||||
|
|
||||||
func askForDomain() error {
|
func askForDomain() error {
|
||||||
//query user to choose between Infisical cloud or self hosting
|
//query user to choose between Infisical cloud or self hosting
|
||||||
var (
|
var (
|
||||||
@@ -405,10 +445,7 @@ func getFreshUserCredentials(email string, password string) (*api.GetLoginOneV2R
|
|||||||
}
|
}
|
||||||
|
|
||||||
func userLoginMenu(currentLoggedInUserEmail string) (bool, error) {
|
func userLoginMenu(currentLoggedInUserEmail string) (bool, error) {
|
||||||
label := fmt.Sprintf("Current logged in user email: %s", currentLoggedInUserEmail)
|
label := fmt.Sprintf("Current logged in user email: %s on domain: %s", currentLoggedInUserEmail, config.INFISICAL_URL)
|
||||||
if config.INFISICAL_URL != "" {
|
|
||||||
label = fmt.Sprintf("%s on domain: %s", label, config.INFISICAL_URL)
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt := promptui.Select{
|
prompt := promptui.Select{
|
||||||
Label: label,
|
Label: label,
|
||||||
|
|||||||
@@ -111,10 +111,28 @@ var domainCmd = &cobra.Command{
|
|||||||
util.HandleError(err, "[infisical user update domain]: Prompt error")
|
util.HandleError(err, "[infisical user update domain]: Prompt error")
|
||||||
}
|
}
|
||||||
|
|
||||||
//prompt to update domain
|
domain := ""
|
||||||
domain, err := NewDomainPrompt()
|
domainQuery := true
|
||||||
if err != nil {
|
if config.INFISICAL_URL_MANUAL_OVERRIDE != util.INFISICAL_DEFAULT_API_URL {
|
||||||
util.HandleError(err, "[infisical user update domain]: Prompt error")
|
|
||||||
|
override, err := DomainOverridePrompt()
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "[infisical user update domain]: Domain override prompt error")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !override {
|
||||||
|
domainQuery = false
|
||||||
|
domain = config.INFISICAL_URL_MANUAL_OVERRIDE
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if domainQuery {
|
||||||
|
//prompt to update domain
|
||||||
|
domain, err = NewDomainPrompt()
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "[infisical user update domain]: Prompt error")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//write to config file
|
//write to config file
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
var INFISICAL_URL string
|
var INFISICAL_URL string
|
||||||
|
var INFISICAL_URL_MANUAL_OVERRIDE string
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ func GetCurrentLoggedInUserDetails() (LoggedInUserDetails, error) {
|
|||||||
//configFile.LoggedInUserDomain
|
//configFile.LoggedInUserDomain
|
||||||
//if not empty set as infisical url
|
//if not empty set as infisical url
|
||||||
if configFile.LoggedInUserDomain != "" {
|
if configFile.LoggedInUserDomain != "" {
|
||||||
|
config.INFISICAL_URL_MANUAL_OVERRIDE = config.INFISICAL_URL
|
||||||
config.INFISICAL_URL = configFile.LoggedInUserDomain
|
config.INFISICAL_URL = configFile.LoggedInUserDomain
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user