diff options
Diffstat (limited to 'auth/client.go')
-rw-r--r-- | auth/client.go | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/auth/client.go b/auth/client.go index e123086..6ec75ca 100644 --- a/auth/client.go +++ b/auth/client.go @@ -51,7 +51,7 @@ func deleteClientId() { // if client id isn't in keyring // it will ask the user to enter/create one -func askClientId() string { +func askClientId(storeClientId bool) string { clientId, err := getClientId() if err != nil { if err.Error() == "secret not found in keyring" { @@ -61,24 +61,10 @@ func askClientId() string { // get clientId from user input clientId = secretInput("Enter your Client ID: ", "Client ID Can't be blank") - - /* I'm not sure if ALL client IDs are 32 characters - * but that's most likely the case */ - if len(clientId) != 32 { - fmt.Println("\x1b[33mWarning:\x1b[0m The Client ID you have entered doesn't have 32 characters.") - fmt.Println("It's not confirmed but MyAnimeList Client IDs have 32 characters. If you think this is a mistake, you can manually verify your Client ID.") - fmt.Println("macli doesn't have a way to verify a Client ID. If you think you entered it correctly you can move on with the login process. If you have problems do consider re-entering the Client ID.") - - if confirmInput("Show entered Client ID? [Y/n] ", true) { - fmt.Println("The Client ID you just entered:", clientId) - if !confirmInput("Is this correct? [Y/n] ", true) { - fmt.Println("Please verify your Client ID and run \x1b[33m`macli login`\x1b[0m again.") - os.Exit(1) - } - } + validateClientId(clientId) + if storeClientId { + setClientId(clientId) } - - setClientId(clientId) } else { fmt.Println("Error while reading Client ID from keychain:", err) os.Exit(1) @@ -87,3 +73,21 @@ func askClientId() string { return clientId } + +func validateClientId(clientId string) { + /* I'm not sure if ALL client IDs are 32 characters + * but that's most likely the case */ + if len(clientId) != 32 { + fmt.Println("\x1b[33mWarning:\x1b[0m The Client ID you have entered doesn't have 32 characters.") + fmt.Println("It's not confirmed but MyAnimeList Client IDs have 32 characters. If you think this is a mistake, you can manually verify your Client ID.") + fmt.Println("macli doesn't have a way to verify a Client ID. If you think you entered it correctly you can move on with the login process. If you have problems do consider re-entering the Client ID.") + + if confirmInput("Show entered Client ID? [Y/n] ", true) { + fmt.Println("The Client ID you just entered:", clientId) + if !confirmInput("Is this correct? [Y/n] ", true) { + fmt.Println("Please verify your Client ID and run \x1b[33m`macli login`\x1b[0m again.") + os.Exit(1) + } + } + } +} |