]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10184 Add stub for homepage fields to api/users/current
authorGuillaume Jambet <guillaume.jambet@sonarsource.com>
Mon, 11 Dec 2017 17:00:55 +0000 (18:00 +0100)
committerStas Vilchik <stas.vilchik@sonarsource.com>
Tue, 2 Jan 2018 09:38:10 +0000 (10:38 +0100)
server/sonar-server/src/main/java/org/sonar/server/user/ws/CurrentAction.java
server/sonar-server/src/main/resources/org/sonar/server/user/ws/current-example.json
sonar-ws/src/main/protobuf/ws-users.proto

index 60be4700c6e42304e674b167718067ec2c91cf5f..0e931ad7b2a2d1eb5cd5ee96c2f9df73fb1897bb 100644 (file)
@@ -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)));
index 359d2f79961d0044d6562936278e374b53b2b345..8b373a028a2c7252d8162e024010aaddd5f679e3 100644 (file)
@@ -12,5 +12,9 @@
   "groups": ["Jedi", "Rebel"],
   "permissions": {
     "global": ["profileadmin", "scan"]
+  },
+  "homepage": {
+    "type": "PROJECT",
+    "value": "project-key"
   }
 }
index 474b2a870bf0b1f4b8ce16d862a70ccbffbf5f86..ca3df0d064194370482fcca5aa29b1d209dd2375 100644 (file)
@@ -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;
+  }
+}