From 56c1dd13a73468dbbdc543f117876f9d574bc761 Mon Sep 17 00:00:00 2001 From: Guillaume Jambet Date: Thu, 14 Dec 2017 12:04:25 +0100 Subject: SONAR-10182 Add api/users/current homepage persistence --- .../resources/org/sonar/db/version/schema-h2.ddl | 6 ++- .../src/main/java/org/sonar/db/user/UserDto.java | 22 ++++++++ .../resources/org/sonar/db/user/UserMapper.xml | 16 ++++-- .../test/java/org/sonar/db/user/UserDaoTest.java | 20 +++++-- .../migration/version/v70/AddHomepageToUsers.java | 51 ++++++++++++++++++ .../db/migration/version/v70/DbVersion70.java | 1 + .../version/v70/AddHomepageToUsersTest.java | 61 ++++++++++++++++++++++ .../db/migration/version/v70/DbVersion70Test.java | 2 +- .../version/v70/AddHomepageToUsersTest/initial.sql | 19 +++++++ .../org/sonar/server/user/ws/CurrentAction.java | 53 +++++++++++++++++-- .../org/sonar/server/user/ws/current-example.json | 2 +- .../sonar/server/user/ws/CurrentActionTest.java | 42 +++++++++++++-- 12 files changed, 277 insertions(+), 18 deletions(-) create mode 100644 server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v70/AddHomepageToUsers.java create mode 100644 server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v70/AddHomepageToUsersTest.java create mode 100644 server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v70/AddHomepageToUsersTest/initial.sql (limited to 'server') diff --git a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl index 3b335d6ccd6..faf1bc7731d 100644 --- a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl +++ b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl @@ -1,3 +1,5 @@ +-- noinspection SqlNoDataSourceInspectionForFile + CREATE TABLE "ORGANIZATIONS" ( "UUID" VARCHAR(40) NOT NULL PRIMARY KEY, "KEE" VARCHAR(32) NOT NULL, @@ -457,7 +459,9 @@ CREATE TABLE "USERS" ( "USER_LOCAL" BOOLEAN, "ONBOARDED" BOOLEAN NOT NULL, "CREATED_AT" BIGINT, - "UPDATED_AT" BIGINT + "UPDATED_AT" BIGINT, + "HOMEPAGE_TYPE" VARCHAR(40), + "HOMEPAGE_VALUE" VARCHAR(40) ); CREATE UNIQUE INDEX "USERS_LOGIN" ON "USERS" ("LOGIN"); CREATE INDEX "USERS_UPDATED_AT" ON "USERS" ("UPDATED_AT"); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDto.java index 1213e5bc0b7..50e3207c727 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserDto.java @@ -48,6 +48,8 @@ public class UserDto { private String salt; private Long createdAt; private Long updatedAt; + private String homepageType; + private String homepageValue; private boolean local = true; private boolean root = false; private boolean onboarded = false; @@ -202,6 +204,26 @@ public class UserDto { return this; } + @CheckForNull + public String getHomepageType() { + return homepageType; + } + + public UserDto setHomepageType(@Nullable String homepageType) { + this.homepageType = homepageType; + return this; + } + + @CheckForNull + public String getHomepageValue() { + return homepageValue; + } + + public UserDto setHomepageValue(@Nullable String homepageValue) { + this.homepageValue = homepageValue; + return this; + } + public boolean isRoot() { return root; } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml index 9e4c671343e..7e16d4ef582 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/UserMapper.xml @@ -18,7 +18,9 @@ u.is_root as "root", u.onboarded as "onboarded", u.created_at as "createdAt", - u.updated_at as "updatedAt" + u.updated_at as "updatedAt", + u.homepage_type as "homepageType", + u.homepage_value as "homepageValue"