From: Guillaume Jambet Date: Mon, 11 Dec 2017 17:00:55 +0000 (+0100) Subject: SONAR-10184 Add stub for homepage fields to api/users/current X-Git-Tag: 7.0-RC1~80 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5ff3a01b2fafe930ea582cc637564e24e9ce66da;p=sonarqube.git SONAR-10184 Add stub for homepage fields to api/users/current --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/ws/CurrentAction.java b/server/sonar-server/src/main/java/org/sonar/server/user/ws/CurrentAction.java index 60be4700c6e..0e931ad7b2a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/ws/CurrentAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/ws/CurrentAction.java @@ -34,12 +34,14 @@ import org.sonar.server.issue.ws.AvatarResolver; import org.sonar.server.organization.DefaultOrganizationProvider; import org.sonar.server.user.UserSession; import org.sonarqube.ws.Users.CurrentWsResponse; +import org.sonarqube.ws.Users.CurrentWsResponse.Homepage; import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Strings.emptyToNull; import static java.util.Collections.singletonList; import static org.sonar.core.util.Protobuf.setNullable; import static org.sonar.server.ws.WsUtils.writeProtobuf; +import static org.sonarqube.ws.Users.CurrentWsResponse.HomepageType.PROJECT; import static org.sonarqube.ws.Users.CurrentWsResponse.Permissions; import static org.sonarqube.ws.Users.CurrentWsResponse.newBuilder; import static org.sonarqube.ws.client.user.UsersWsParameters.ACTION_CURRENT; @@ -96,6 +98,7 @@ public class CurrentAction implements UsersWsAction { .addAllGroups(groups) .addAllScmAccounts(user.getScmAccountsAsList()) .setPermissions(Permissions.newBuilder().addAllGlobal(getGlobalPermissions()).build()) + .setHomepage(Homepage.newBuilder().setType(PROJECT).setValue("project-key").build()) .setShowOnboardingTutorial(!user.isOnboarded()); setNullable(emptyToNull(user.getEmail()), builder::setEmail); setNullable(emptyToNull(user.getEmail()), u -> builder.setAvatar(avatarResolver.create(user))); diff --git a/server/sonar-server/src/main/resources/org/sonar/server/user/ws/current-example.json b/server/sonar-server/src/main/resources/org/sonar/server/user/ws/current-example.json index 359d2f79961..8b373a028a2 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/user/ws/current-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/user/ws/current-example.json @@ -12,5 +12,9 @@ "groups": ["Jedi", "Rebel"], "permissions": { "global": ["profileadmin", "scan"] + }, + "homepage": { + "type": "PROJECT", + "value": "project-key" } } diff --git a/sonar-ws/src/main/protobuf/ws-users.proto b/sonar-ws/src/main/protobuf/ws-users.proto index 474b2a870bf..ca3df0d0641 100644 --- a/sonar-ws/src/main/protobuf/ws-users.proto +++ b/sonar-ws/src/main/protobuf/ws-users.proto @@ -107,10 +107,21 @@ message CurrentWsResponse { optional Permissions permissions = 10; optional bool showOnboardingTutorial = 11; optional string avatar = 12; + optional Homepage homepage = 13; message Permissions { repeated string global = 1; } -} + enum HomepageType { + PROJECT = 1; + ORGANIZATION = 2; + MY_PROJECTS = 3; + MY_ISSUES = 4; + } + message Homepage { + optional HomepageType type = 1; + optional string value = 2; + } +}