From 2866f1b21384aabf771552ce9a4b7660caca1f20 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Tue, 7 Sep 2021 16:36:32 -0400 Subject: [PATCH] Include e164 in account creation (whoami) responses --- .../controllers/AccountController.java | 4 ++-- .../entities/AccountCreationResult.java | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java index 034d296ef..d3dc2b2fe 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -389,7 +389,7 @@ public class AccountController { .record(Instant.now().toEpochMilli() - storedVerificationCode.get().getTimestamp(), TimeUnit.MILLISECONDS); } - return new AccountCreationResult(account.getUuid(), existingAccount.map(Account::isStorageSupported).orElse(false)); + return new AccountCreationResult(account.getUuid(), account.getNumber(), existingAccount.map(Account::isStorageSupported).orElse(false)); } @Timed @@ -556,7 +556,7 @@ public class AccountController { @Path("/whoami") @Produces(MediaType.APPLICATION_JSON) public AccountCreationResult whoAmI(@Auth AuthenticatedAccount auth) { - return new AccountCreationResult(auth.getAccount().getUuid(), auth.getAccount().isStorageSupported()); + return new AccountCreationResult(auth.getAccount().getUuid(), auth.getAccount().getNumber(), auth.getAccount().isStorageSupported()); } @DELETE diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountCreationResult.java b/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountCreationResult.java index 40770fff4..5dc1b4dc9 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountCreationResult.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountCreationResult.java @@ -5,6 +5,7 @@ package org.whispersystems.textsecuregcm.entities; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.whispersystems.textsecuregcm.auth.ExternalServiceCredentials; @@ -14,15 +15,22 @@ import java.util.UUID; public class AccountCreationResult { @JsonProperty - private UUID uuid; + private final UUID uuid; @JsonProperty - private boolean storageCapable; + private final String number; - public AccountCreationResult() {} + @JsonProperty + private final boolean storageCapable; - public AccountCreationResult(UUID uuid, boolean storageCapable) { - this.uuid = uuid; + @JsonCreator + public AccountCreationResult( + @JsonProperty("uuid") final UUID uuid, + @JsonProperty("number") final String number, + @JsonProperty("storageCapable") final boolean storageCapable) { + + this.uuid = uuid; + this.number = number; this.storageCapable = storageCapable; } @@ -30,6 +38,10 @@ public class AccountCreationResult { return uuid; } + public String getNumber() { + return number; + } + public boolean isStorageCapable() { return storageCapable; }