From bcddd9658c7eea3bb5576bece3a0c2b985a7d506 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 19 Oct 2018 13:44:36 +0200 Subject: SONAR-11321 Bind organization to alm installation when creating organization * Return AlmAppInstallDto in select methods of AlmAppInstallDao, this is required in order to be able to more easily link an OrganizationDto to a AlmAppInstallDto in next commit * Create ORGANIZATION_ALM_BINDINGS table * Bind organization with installation when creating organization * Delete alm binding when removing organization * Delete alm binding when uninstalling ALM application * Return ALM info in api/organizations/search * Ensure user is admin to return Bitbucket team/user details --- .../src/main/java/org/sonar/db/version/SqTables.java | 1 + .../src/main/resources/org/sonar/db/version/schema-h2.ddl | 13 +++++++++++++ 2 files changed, 14 insertions(+) (limited to 'server/sonar-db-core') diff --git a/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java b/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java index 085d7de5625..0e699cba125 100644 --- a/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java +++ b/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java @@ -77,6 +77,7 @@ public final class SqTables { "metrics", "notifications", "organizations", + "organization_alm_bindings", "organization_members", "org_qprofiles", "org_quality_gates", 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 a1b83a1315d..cf18feb0316 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 @@ -902,3 +902,16 @@ CREATE TABLE "PROJECT_MAPPINGS" ( ); CREATE UNIQUE INDEX "KEY_TYPE_KEE" ON "PROJECT_MAPPINGS" ("KEY_TYPE", "KEE"); CREATE INDEX "PROJECT_UUID" ON "PROJECT_MAPPINGS" ("PROJECT_UUID"); + +CREATE TABLE "ORGANIZATION_ALM_BINDINGS" ( + "UUID" VARCHAR(40) NOT NULL, + "ORGANIZATION_UUID" VARCHAR(40) NOT NULL, + "ALM_APP_INSTALL_UUID" VARCHAR(40) NOT NULL, + "ALM_ID" VARCHAR(40) NOT NULL, + "URL" VARCHAR(2000) NOT NULL, + "USER_UUID" VARCHAR(255) NOT NULL, + "CREATED_AT" BIGINT NOT NULL, + CONSTRAINT "PK_ORGANIZATION_ALM_BINDINGS" PRIMARY KEY ("UUID") +); +CREATE UNIQUE INDEX "ORG_ALM_BINDINGS_ORG" ON "ORGANIZATION_ALM_BINDINGS" ("ORGANIZATION_UUID"); +CREATE UNIQUE INDEX "ORG_ALM_BINDINGS_INSTALL" ON "ORGANIZATION_ALM_BINDINGS" ("ALM_APP_INSTALL_UUID"); -- cgit v1.2.3