Add method to get avatar URL from AccountApi
Change-Id: I435dcfb35267c39ada5b3ac99a02fba829c8cf59
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
index a356ab6..f32541d 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/accounts/AccountApi.java
@@ -25,6 +25,7 @@
public interface AccountApi {
AccountInfo get() throws RestApiException;
+ String getAvatarUrl() throws RestApiException;
void starChange(String id) throws RestApiException;
void unstarChange(String id) throws RestApiException;
void addEmail(EmailInput input) throws RestApiException;
@@ -45,6 +46,11 @@
}
@Override
+ public String getAvatarUrl() throws RestApiException {
+ throw new NotImplementedException();
+ }
+
+ @Override
public void starChange(String id) throws RestApiException {
throw new NotImplementedException();
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
index a96e713..24124bd 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetAvatar.java
@@ -27,7 +27,7 @@
import java.util.concurrent.TimeUnit;
-class GetAvatar implements RestReadView<AccountResource> {
+public class GetAvatar implements RestReadView<AccountResource> {
private final DynamicItem<AvatarProvider> avatarProvider;
@Option(name = "--size", aliases = {"-s"},
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
index c6e4ad1..44be0ff 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/accounts/AccountApiImpl.java
@@ -27,6 +27,7 @@
import com.google.gerrit.server.account.AccountLoader;
import com.google.gerrit.server.account.AccountResource;
import com.google.gerrit.server.account.CreateEmail;
+import com.google.gerrit.server.account.GetAvatar;
import com.google.gerrit.server.account.StarredChanges;
import com.google.gerrit.server.change.ChangeResource;
import com.google.gerrit.server.change.ChangesCollection;
@@ -45,6 +46,7 @@
private final AccountResource account;
private final ChangesCollection changes;
private final AccountLoader.Factory accountLoaderFactory;
+ private final GetAvatar getAvatar;
private final StarredChanges.Create starredChangesCreate;
private final StarredChanges.Delete starredChangesDelete;
private final CreateEmail.Factory createEmailFactory;
@@ -53,6 +55,7 @@
@Inject
AccountApiImpl(AccountLoader.Factory ailf,
ChangesCollection changes,
+ GetAvatar getAvatar,
StarredChanges.Create starredChangesCreate,
StarredChanges.Delete starredChangesDelete,
CreateEmail.Factory createEmailFactory,
@@ -61,6 +64,7 @@
this.account = account;
this.accountLoaderFactory = ailf;
this.changes = changes;
+ this.getAvatar = getAvatar;
this.starredChangesCreate = starredChangesCreate;
this.starredChangesDelete = starredChangesDelete;
this.createEmailFactory = createEmailFactory;
@@ -81,6 +85,11 @@
}
@Override
+ public String getAvatarUrl() throws RestApiException {
+ return getAvatar.apply(account).location();
+ }
+
+ @Override
public void starChange(String id) throws RestApiException {
try {
ChangeResource rsrc = changes.parse(