X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/79cc225869b9a97bbb5b3f054970d5a6bb2222ee..HEAD:/src/main/java/org/asamk/signal/commands/VerifyCommand.java diff --git a/src/main/java/org/asamk/signal/commands/VerifyCommand.java b/src/main/java/org/asamk/signal/commands/VerifyCommand.java index ae0017af..6a5046bc 100644 --- a/src/main/java/org/asamk/signal/commands/VerifyCommand.java +++ b/src/main/java/org/asamk/signal/commands/VerifyCommand.java @@ -5,14 +5,15 @@ import com.fasterxml.jackson.core.type.TypeReference; import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; -import org.asamk.signal.JsonWriter; import org.asamk.signal.OutputType; import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.commands.exceptions.IOErrorException; import org.asamk.signal.commands.exceptions.UserErrorException; import org.asamk.signal.manager.RegistrationManager; import org.asamk.signal.manager.api.IncorrectPinException; +import org.asamk.signal.manager.api.PinLockMissingException; import org.asamk.signal.manager.api.PinLockedException; +import org.asamk.signal.output.JsonWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +22,7 @@ import java.util.List; public class VerifyCommand implements RegistrationCommand, JsonRpcRegistrationCommand { - private final static Logger logger = LoggerFactory.getLogger(VerifyCommand.class); + private static final Logger logger = LoggerFactory.getLogger(VerifyCommand.class); @Override public String getName() { @@ -55,13 +56,17 @@ public class VerifyCommand implements RegistrationCommand, JsonRpcRegistrationCo @Override public void handleCommand( - final VerifyParams request, final RegistrationManager m, final JsonWriter jsonWriter + final VerifyParams request, + final RegistrationManager m, + final JsonWriter jsonWriter ) throws CommandException { verify(m, request.verificationCode(), request.pin()); } private void verify( - final RegistrationManager m, final String verificationCode, final String pin + final RegistrationManager m, + final String verificationCode, + final String pin ) throws UserErrorException, IOErrorException { try { m.verifyAccount(verificationCode, pin); @@ -72,10 +77,12 @@ public class VerifyCommand implements RegistrationCommand, JsonRpcRegistrationCo + "\nUse '--pin PIN_CODE' to specify the registration lock PIN"); } catch (IncorrectPinException e) { throw new UserErrorException("Verification failed! Invalid pin, tries remaining: " + e.getTriesRemaining()); + } catch (PinLockMissingException e) { + throw new UserErrorException("Account is pin locked, but pin data has been deleted on the server."); } catch (IOException e) { throw new IOErrorException("Verify error: " + e.getMessage(), e); } } - record VerifyParams(String verificationCode, String pin) {} + public record VerifyParams(String verificationCode, String pin) {} }