}
public PermissionTemplateCharacteristicDto update(DbSession dbSession, PermissionTemplateCharacteristicDto templatePermissionDto) {
- requireNonNull(templatePermissionDto.getId());
+ requireNonNull(templatePermissionDto.getUuid());
mapper(dbSession).update(templatePermissionDto);
return templatePermissionDto;
}
private static final int MAX_PERMISSION_KEY_LENGTH = 64;
- private Long id;
+ private String uuid;
private long templateId;
private String permission;
private boolean withProjectCreator;
private long createdAt;
private long updatedAt;
- public Long getId() {
- return id;
+ public String getUuid() {
+ return uuid;
}
- public PermissionTemplateCharacteristicDto setId(Long id) {
- this.id = id;
+ public PermissionTemplateCharacteristicDto setUuid(String uuid) {
+ this.uuid = uuid;
return this;
}
public interface PermissionTemplateCharacteristicMapper {
- PermissionTemplateCharacteristicDto selectById(@Param("id") long id);
+ PermissionTemplateCharacteristicDto selectByUuid(@Param("uuid") String uuid);
List<PermissionTemplateCharacteristicDto> selectByTemplateIds(@Param("templateIds") List<Long> templateId);
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.sonar.api.utils.System2;
+import org.sonar.core.util.Uuids;
import org.sonar.db.Dao;
import org.sonar.db.DbSession;
import org.sonar.db.permission.CountPerProjectPermission;
public void insertUserPermission(DbSession session, Long templateId, Integer userId, String permission) {
PermissionTemplateUserDto permissionTemplateUser = new PermissionTemplateUserDto()
+ .setUuid(Uuids.create())
.setTemplateId(templateId)
.setUserId(userId)
.setPermission(permission)
public void insertGroupPermission(DbSession session, long templateId, @Nullable Integer groupId, String permission) {
PermissionTemplateGroupDto permissionTemplateGroup = new PermissionTemplateGroupDto()
+ .setUuid(Uuids.create())
.setTemplateId(templateId)
.setPermission(permission)
.setGroupId(groupId)
import javax.annotation.Nullable;
public class PermissionTemplateGroupDto {
- private Long id;
+ private String uuid;
private Long templateId;
private Integer groupId;
private String permission;
private Date createdAt;
private Date updatedAt;
- public Long getId() {
- return id;
+ public String getUuid() {
+ return uuid;
}
- public PermissionTemplateGroupDto setId(Long id) {
- this.id = id;
+ public PermissionTemplateGroupDto setUuid(String uuid) {
+ this.uuid = uuid;
return this;
}
import java.util.Date;
public class PermissionTemplateUserDto {
- private Long id;
+ private String uuid;
private Long templateId;
private Integer userId;
private String permission;
private Date createdAt;
private Date updatedAt;
- public Long getId() {
- return id;
+ public String getUuid() {
+ return uuid;
}
- public PermissionTemplateUserDto setId(Long id) {
- this.id = id;
+ public PermissionTemplateUserDto setUuid(String uuid) {
+ this.uuid = uuid;
return this;
}
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">
<mapper namespace="org.sonar.db.permission.template.PermissionTemplateCharacteristicMapper">
<sql id="columns">
- ptc.id,
+ ptc.uuid,
ptc.template_id as templateId,
ptc.permission_key as permission,
ptc.with_project_creator as withProjectCreator,
ptc.updated_at as updatedAt
</sql>
- <select id="selectById" parameterType="long" resultType="PermissionTemplateCharacteristic">
+ <select id="selectByUuid" parameterType="String" resultType="PermissionTemplateCharacteristic">
select
<include refid="columns" />
from perm_tpl_characteristics ptc
- where ptc.id=#{id,jdbcType=BIGINT}
+ where ptc.uuid=#{uuid,jdbcType=VARCHAR}
</select>
<select id="selectByTemplateIds" parameterType="long" resultType="PermissionTemplateCharacteristic">
order by ptc.created_at
</select>
- <insert id="insert" parameterType="PermissionTemplateCharacteristic" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
- insert into perm_tpl_characteristics(template_id, permission_key, with_project_creator, created_at, updated_at)
- values(#{templateId, jdbcType=BIGINT}, #{permission, jdbcType=VARCHAR}, #{withProjectCreator, jdbcType=BOOLEAN}, #{createdAt, jdbcType=BIGINT}, #{updatedAt, jdbcType=BIGINT})
+ <insert id="insert" parameterType="PermissionTemplateCharacteristic">
+ insert into perm_tpl_characteristics(uuid, template_id, permission_key, with_project_creator, created_at, updated_at)
+ values(#{uuid, jdbcType=VARCHAR}, #{templateId, jdbcType=BIGINT}, #{permission, jdbcType=VARCHAR},
+ #{withProjectCreator, jdbcType=BOOLEAN}, #{createdAt, jdbcType=BIGINT}, #{updatedAt, jdbcType=BIGINT})
</insert>
<update id="update" parameterType="PermissionTemplateCharacteristic" useGeneratedKeys="false">
update perm_tpl_characteristics set
with_project_creator=#{withProjectCreator, jdbcType=BOOLEAN},
updated_at=#{updatedAt, jdbcType=BIGINT}
- where id=#{id}
+ where uuid=#{uuid}
</update>
<delete id="deleteByTemplateId" parameterType="long">
</delete>
<insert id="insertUserPermission" parameterType="PermissionTemplateUser">
- INSERT INTO perm_templates_users (template_id, user_id, permission_reference, created_at, updated_at)
- VALUES (#{templateId}, #{userId}, #{permission}, #{createdAt}, #{updatedAt})
+ INSERT INTO perm_templates_users (uuid, template_id, user_id, permission_reference, created_at, updated_at)
+ VALUES (#{uuid}, #{templateId}, #{userId}, #{permission}, #{createdAt}, #{updatedAt})
</insert>
<insert id="insertGroupPermission" parameterType="PermissionTemplateGroup">
- INSERT INTO perm_templates_groups (template_id, group_id, permission_reference, created_at, updated_at)
+ INSERT INTO perm_templates_groups (uuid, template_id, group_id, permission_reference, created_at, updated_at)
VALUES (
+ #{uuid,jdbcType=VARCHAR},
#{templateId,jdbcType=BIGINT},
#{groupId,jdbcType=INTEGER},
#{permission,jdbcType=VARCHAR},
</select>
<sql id="permissionTemplateUserColumns">
- ptu.id,
+ ptu.uuid,
ptu.template_id as templateId,
ptu.permission_reference AS permission,
ptu.user_id AS userId,
<select id="selectGroupPermissionsByTemplateIdAndGroupNames" parameterType="Long" resultType="PermissionTemplateGroup">
SELECT
- sub.id,
+ sub.uuid,
sub.templateId,
sub.permission,
sub.groupId,
sub.updatedAt
FROM (
SELECT
- ptg.id,
+ ptg.uuid,
ptg.template_id as templateId,
ptg.permission_reference AS permission,
ptg.group_id AS groupId,
g.id=ptg.group_id
UNION ALL
SELECT
- ptg.id,
+ ptg.uuid,
ptg.template_id as templateId,
ptg.permission_reference AS permission,
0 AS groupId,
<select id="selectAllGroupPermissionTemplatesByGroupId" parameterType="Long" resultType="PermissionTemplateGroup">
SELECT
- ptg.id,
+ ptg.uuid,
ptg.template_id as templateId,
ptg.permission_reference AS permission,
ptg.group_id AS groupId,
CREATE UNIQUE INDEX "ORGANIZATION_KEY" ON "ORGANIZATIONS"("KEE");
CREATE TABLE "PERM_TEMPLATES_GROUPS"(
- "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
"GROUP_ID" INTEGER,
"TEMPLATE_ID" INTEGER NOT NULL,
"PERMISSION_REFERENCE" VARCHAR(64) NOT NULL,
"CREATED_AT" TIMESTAMP,
- "UPDATED_AT" TIMESTAMP
+ "UPDATED_AT" TIMESTAMP,
+ "UUID" VARCHAR(40) NOT NULL
);
-ALTER TABLE "PERM_TEMPLATES_GROUPS" ADD CONSTRAINT "PK_PERM_TEMPLATES_GROUPS" PRIMARY KEY("ID");
+ALTER TABLE "PERM_TEMPLATES_GROUPS" ADD CONSTRAINT "PK_PERM_TEMPLATES_GROUPS" PRIMARY KEY("UUID");
CREATE TABLE "PERM_TEMPLATES_USERS"(
- "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
"USER_ID" INTEGER NOT NULL,
"TEMPLATE_ID" INTEGER NOT NULL,
"PERMISSION_REFERENCE" VARCHAR(64) NOT NULL,
"CREATED_AT" TIMESTAMP,
- "UPDATED_AT" TIMESTAMP
+ "UPDATED_AT" TIMESTAMP,
+ "UUID" VARCHAR(40) NOT NULL
);
-ALTER TABLE "PERM_TEMPLATES_USERS" ADD CONSTRAINT "PK_PERM_TEMPLATES_USERS" PRIMARY KEY("ID");
+ALTER TABLE "PERM_TEMPLATES_USERS" ADD CONSTRAINT "PK_PERM_TEMPLATES_USERS" PRIMARY KEY("UUID");
CREATE TABLE "PERM_TPL_CHARACTERISTICS"(
- "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
"TEMPLATE_ID" INTEGER NOT NULL,
"PERMISSION_KEY" VARCHAR(64) NOT NULL,
"WITH_PROJECT_CREATOR" BOOLEAN DEFAULT FALSE NOT NULL,
"CREATED_AT" BIGINT NOT NULL,
- "UPDATED_AT" BIGINT NOT NULL
+ "UPDATED_AT" BIGINT NOT NULL,
+ "UUID" VARCHAR(40) NOT NULL
);
-ALTER TABLE "PERM_TPL_CHARACTERISTICS" ADD CONSTRAINT "PK_PERM_TPL_CHARACTERISTICS" PRIMARY KEY("ID");
+ALTER TABLE "PERM_TPL_CHARACTERISTICS" ADD CONSTRAINT "PK_PERM_TPL_CHARACTERISTICS" PRIMARY KEY("UUID");
CREATE UNIQUE INDEX "UNIQ_PERM_TPL_CHARAC" ON "PERM_TPL_CHARACTERISTICS"("TEMPLATE_ID", "PERMISSION_KEY");
CREATE TABLE "PERMISSION_TEMPLATES"(
@Test
public void selectByTemplateId_filter_by_template_id() {
PermissionTemplateCharacteristicDto templatePermission1 = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid1")
.setPermission(UserRole.ADMIN)
.setTemplateId(1L)
.setWithProjectCreator(true)
.setCreatedAt(1_000_000_000L)
.setUpdatedAt(2_000_000_000L));
PermissionTemplateCharacteristicDto templatePermission2 = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid2")
.setPermission(UserRole.USER)
.setTemplateId(2L)
.setWithProjectCreator(false)
.setCreatedAt(1_000_000_000L)
.setUpdatedAt(2_000_000_000L));
PermissionTemplateCharacteristicDto templatePermission3 = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid3")
.setPermission(UserRole.USER)
.setTemplateId(3L)
.setWithProjectCreator(false)
.setCreatedAt(1_000_000_001L)
.setUpdatedAt(2_000_000_000L));
PermissionTemplateCharacteristicDto templatePermissionForAnotherTemplate = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid4")
.setPermission(UserRole.ADMIN)
.setTemplateId(42L)
.setWithProjectCreator(true)
List<PermissionTemplateCharacteristicDto> result = underTest.selectByTemplateIds(dbSession, newArrayList(1L, 2L, 3L));
assertThat(result)
.hasSize(3)
- .extracting("id")
- .doesNotContain(templatePermissionForAnotherTemplate.getId())
- .containsExactly(templatePermission1.getId(), templatePermission2.getId(), templatePermission3.getId());
+ .extracting("uuid")
+ .doesNotContain(templatePermissionForAnotherTemplate.getUuid())
+ .containsExactly(templatePermission1.getUuid(), templatePermission2.getUuid(), templatePermission3.getUuid());
assertThat(result.get(0))
.isEqualToComparingFieldByField(templatePermission1);
}
@Test
public void selectByPermissionAndTemplateId() {
PermissionTemplateCharacteristicDto templatePermission1 = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid1")
.setPermission(UserRole.ADMIN)
.setTemplateId(1L)
.setWithProjectCreator(true)
.setCreatedAt(1_000_000_000L)
.setUpdatedAt(2_000_000_000L));
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid2")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(false)
.setCreatedAt(1_000_000_000L)
.setUpdatedAt(2_000_000_000L));
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid3")
.setPermission(UserRole.ADMIN)
.setTemplateId(42L)
.setWithProjectCreator(true)
@Test
public void insert() {
PermissionTemplateCharacteristicDto expectedResult = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(true)
.setCreatedAt(123_456_789L)
.setUpdatedAt(2_000_000_000L));
- PermissionTemplateCharacteristicDto result = dbSession.getMapper(PermissionTemplateCharacteristicMapper.class).selectById(expectedResult.getId());
- assertThat(result.getId()).isNotNull();
+ PermissionTemplateCharacteristicDto result = dbSession.getMapper(PermissionTemplateCharacteristicMapper.class).selectByUuid(expectedResult.getUuid());
+ assertThat(result.getUuid()).isEqualTo("uuid");
assertThat(result).isEqualToComparingFieldByField(expectedResult);
}
@Test
public void update_only_change_with_project_creator_and_updated_at() {
PermissionTemplateCharacteristicDto insertedDto = underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(true)
.setUpdatedAt(2_000_000_000L));
underTest.update(dbSession, new PermissionTemplateCharacteristicDto()
- .setId(insertedDto.getId())
+ .setUuid("uuid")
.setPermission("PERMISSION_ARE_NOT_UPDATABLE")
.setTemplateId(42L)
.setCreatedAt(42L)
.setUpdatedAt(3_000_000_000L));
PermissionTemplateCharacteristicDto result = underTest.selectByPermissionAndTemplateId(dbSession, insertedDto.getPermission(), insertedDto.getTemplateId()).get();
- assertThat(result).extracting("id", "permission", "templateId", "createdAt")
- .containsExactly(insertedDto.getId(), insertedDto.getPermission(), insertedDto.getTemplateId(), insertedDto.getCreatedAt());
+ assertThat(result).extracting("uuid", "permission", "templateId", "createdAt")
+ .containsExactly(insertedDto.getUuid(), insertedDto.getPermission(), insertedDto.getTemplateId(), insertedDto.getCreatedAt());
assertThat(result).extracting("withProjectCreator", "updatedAt")
.containsExactly(false, 3_000_000_000L);
}
expectedException.expect(IllegalArgumentException.class);
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(true)
expectedException.expect(IllegalArgumentException.class);
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(true)
}
@Test
- public void fail_update_if_id_is_null() {
+ public void fail_update_if_uuid_is_null() {
expectedException.expect(NullPointerException.class);
underTest.update(dbSession, new PermissionTemplateCharacteristicDto()
@Test
public void delete_by_permission_template_id() {
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid1")
.setPermission(UserRole.USER)
.setTemplateId(1L)
.setWithProjectCreator(true)
.setCreatedAt(123_456_789L)
.setUpdatedAt(2_000_000_000L));
underTest.insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid("uuid2")
.setPermission(UserRole.USER)
.setTemplateId(2L)
.setWithProjectCreator(true)
public static PermissionTemplateGroupDto newPermissionTemplateGroupDto() {
return new PermissionTemplateGroupDto()
+ .setUuid(Uuids.createFast())
.setPermission(PermissionsTestHelper.ALL_PERMISSIONS.toArray(new String[0])[RandomUtils.nextInt(PermissionsTestHelper.ALL_PERMISSIONS.size())])
.setCreatedAt(new Date())
.setUpdatedAt(new Date());
public static PermissionTemplateCharacteristicDto newPermissionTemplateCharacteristicDto() {
return new PermissionTemplateCharacteristicDto()
+ .setUuid(Uuids.createFast())
.setPermission(PermissionsTestHelper.ALL_PERMISSIONS.toArray(new String[0])[RandomUtils.nextInt(PermissionsTestHelper.ALL_PERMISSIONS.size())])
.setWithProjectCreator(RandomUtils.nextBoolean())
.setCreatedAt(System.currentTimeMillis())
import org.sonar.server.platform.db.migration.version.v83.notifications.DropPrimaryKeyOnIdColumnOfNotificationTable;
import org.sonar.server.platform.db.migration.version.v83.notifications.MakeNotificationUuidAndCreatedAtColumnsNotNullable;
import org.sonar.server.platform.db.migration.version.v83.notifications.PopulateNotificationUuidAndCreatedAt;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.AddPrimaryKeyOnUuidColumnOfPermTemplatesGroupsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.AddUuidColumnToPermTemplatesGroupsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.DropIdColumnOfPermTemplatesGroupsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.DropPrimaryKeyOnIdColumnOfPermTemplatesGroupsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.MakePermTemplatesGroupsUuidColumnNotNullable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesgroups.PopulatePermTemplatesGroupsUuid;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.AddPrimaryKeyOnUuidColumnOfPermTemplatesUsersTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.AddUuidColumnToPermTemplatesUsersTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.DropIdColumnOfPermTemplatesUsersTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.DropPrimaryKeyOnIdColumnOfPermTemplatesUsersTable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.MakePermTemplatesUsersUuidColumnNotNullable;
+import org.sonar.server.platform.db.migration.version.v83.permtemplatesusers.PopulatePermTemplatesUsersUuid;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.AddPrimaryKeyOnUuidColumnOfPermTplCharacteristicsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.AddUuidColumnToPermTplCharacteristicsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.DropIdColumnOfPermTplCharacteristicsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.DropPrimaryKeyOnIdColumnOfPermTplCharacteristicsTable;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.MakePermTplCharacteristicsUuidColumnNotNullable;
+import org.sonar.server.platform.db.migration.version.v83.permtplcharacteristics.PopulatePermTplCharacteristicsUuid;
import org.sonar.server.platform.db.migration.version.v83.projectmeasures.AddPrimaryKeyOnUuidColumnOfProjectMeasuresTable;
import org.sonar.server.platform.db.migration.version.v83.projectmeasures.AddUuidColumnToProjectMeasures;
import org.sonar.server.platform.db.migration.version.v83.projectmeasures.DropIdColumnOfProjectMeasuresTable;
.add(3473, "Drop primary key on 'ID' column of 'QUALITY_GATE_CONDITIONS' table", DropPrimaryKeyOnIdColumnOfQualityGateConditionsTable.class)
.add(3474, "Add primary key on 'UUID' column of 'QUALITY_GATE_CONDITIONS' table", AddPrimaryKeyOnUuidColumnOfQualityGateConditionsTable.class)
.add(3475, "Drop column 'ID' of 'QUALITY_GATE_CONDITIONS' table", DropIdColumnOfQualityGateConditionsTable.class)
+
+ // Migration of PERM_TEMPLATES_GROUPS table
+ .add(3476, "Add 'UUID' column on 'PERM_TEMPLATES_GROUPS' table", AddUuidColumnToPermTemplatesGroupsTable.class)
+ .add(3477, "Populate 'uuid' for 'PERM_TEMPLATES_GROUPS'", PopulatePermTemplatesGroupsUuid.class)
+ .add(3478, "Make 'uuid' column not nullable for 'PERM_TEMPLATES_GROUPS'", MakePermTemplatesGroupsUuidColumnNotNullable.class)
+ .add(3479, "Drop primary key on 'ID' column of 'PERM_TEMPLATES_GROUPS' table", DropPrimaryKeyOnIdColumnOfPermTemplatesGroupsTable.class)
+ .add(3480, "Add primary key on 'UUID' column of 'PERM_TEMPLATES_GROUPS' table", AddPrimaryKeyOnUuidColumnOfPermTemplatesGroupsTable.class)
+ .add(3481, "Drop column 'ID' of 'PERM_TEMPLATES_GROUPS' table", DropIdColumnOfPermTemplatesGroupsTable.class)
+
+ // Migration of PERM_TPL_CHARACTERISTICS table
+ .add(3482, "Add 'UUID' column on 'PERM_TPL_CHARACTERISTICS' table", AddUuidColumnToPermTplCharacteristicsTable.class)
+ .add(3483, "Populate 'uuid' for 'PERM_TPL_CHARACTERISTICS'", PopulatePermTplCharacteristicsUuid.class)
+ .add(3484, "Make 'uuid' column not nullable for 'PERM_TPL_CHARACTERISTICS'", MakePermTplCharacteristicsUuidColumnNotNullable.class)
+ .add(3485, "Drop primary key on 'ID' column of 'PERM_TPL_CHARACTERISTICS' table", DropPrimaryKeyOnIdColumnOfPermTplCharacteristicsTable.class)
+ .add(3486, "Add primary key on 'UUID' column of 'PERM_TPL_CHARACTERISTICS' table", AddPrimaryKeyOnUuidColumnOfPermTplCharacteristicsTable.class)
+ .add(3487, "Drop column 'ID' of 'PERM_TPL_CHARACTERISTICS' table", DropIdColumnOfPermTplCharacteristicsTable.class)
+
+ // Migration of PERM_TEMPLATES_USERS table
+ .add(3488, "Add 'UUID' column on 'PERM_TEMPLATES_USERS' table", AddUuidColumnToPermTemplatesUsersTable.class)
+ .add(3489, "Populate 'uuid' for 'PERM_TEMPLATES_USERS'", PopulatePermTemplatesUsersUuid.class)
+ .add(3490, "Make 'uuid' column not nullable for 'PERM_TEMPLATES_USERS'", MakePermTemplatesUsersUuidColumnNotNullable.class)
+ .add(3491, "Drop primary key on 'ID' column of 'PERM_TEMPLATES_USERS' table", DropPrimaryKeyOnIdColumnOfPermTemplatesUsersTable.class)
+ .add(3492, "Add primary key on 'UUID' column of 'PERM_TEMPLATES_USERS' table", AddPrimaryKeyOnUuidColumnOfPermTemplatesUsersTable.class)
+ .add(3493, "Drop column 'ID' of 'PERM_TEMPLATES_USERS' table", DropIdColumnOfPermTemplatesUsersTable.class)
+
;
}
}
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.utils.System2;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto;
private void addTemplatePermission(DbSession dbSession, AddProjectCreatorToTemplateRequest request, PermissionTemplateDto template) {
long now = system.now();
dbClient.permissionTemplateCharacteristicDao().insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid(Uuids.create())
.setPermission(request.getPermission())
.setTemplateId(template.getId())
.setWithProjectCreator(true)
import org.sonar.api.resources.ResourceTypes;
import org.sonar.api.utils.System2;
import org.sonar.api.web.UserRole;
+import org.sonar.core.util.Uuids;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto;
import org.sonar.db.permission.template.PermissionTemplateDto;
loginAsAdmin(db.getDefaultOrganization());
PermissionTemplateCharacteristicDto characteristic = db.getDbClient().permissionTemplateCharacteristicDao().insert(db.getSession(),
new PermissionTemplateCharacteristicDto()
+ .setUuid(Uuids.createFast())
.setTemplateId(template.getId())
.setPermission(UserRole.USER)
.setWithProjectCreator(false)
import org.sonar.api.utils.System2;
import org.sonar.api.web.UserRole;
import org.sonar.core.permission.GlobalPermissions;
+import org.sonar.core.util.Uuids;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto;
import org.sonar.db.permission.template.PermissionTemplateDto;
public void update_template_permission() {
PermissionTemplateCharacteristicDto characteristic = db.getDbClient().permissionTemplateCharacteristicDao().insert(db.getSession(),
new PermissionTemplateCharacteristicDto()
+ .setUuid(Uuids.createFast())
.setTemplateId(template.getId())
.setPermission(UserRole.USER)
.setWithProjectCreator(false)
import org.junit.Test;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.web.UserRole;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.ResourceTypesRule;
private void addPermissionTemplateWithProjectCreator(long templateId, String permission) {
dbClient.permissionTemplateCharacteristicDao().insert(dbSession, new PermissionTemplateCharacteristicDto()
+ .setUuid(Uuids.createFast())
.setWithProjectCreator(true)
.setTemplateId(templateId)
.setPermission(permission)