From 56c1dd13a73468dbbdc543f117876f9d574bc761 Mon Sep 17 00:00:00 2001 From: Guillaume Jambet Date: Thu, 14 Dec 2017 12:04:25 +0100 Subject: [PATCH] SONAR-10182 Add api/users/current homepage persistence --- .../org/sonar/db/version/schema-h2.ddl | 6 +- .../main/java/org/sonar/db/user/UserDto.java | 22 +++++++ .../org/sonar/db/user/UserMapper.xml | 16 +++-- .../java/org/sonar/db/user/UserDaoTest.java | 20 +++++- .../version/v70/AddHomepageToUsers.java | 51 ++++++++++++++++ .../db/migration/version/v70/DbVersion70.java | 1 + .../version/v70/AddHomepageToUsersTest.java | 61 +++++++++++++++++++ .../version/v70/DbVersion70Test.java | 2 +- .../v70/AddHomepageToUsersTest/initial.sql | 19 ++++++ .../sonar/server/user/ws/CurrentAction.java | 53 ++++++++++++++-- .../sonar/server/user/ws/current-example.json | 2 +- .../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 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"