diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2012-07-12 00:08:27 +0200 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2012-07-12 00:08:27 +0200 |
commit | 21d26b2b4dbc8d47e9972f45d402f86448b47f48 (patch) | |
tree | d5254159cd109077b0dde7bf5240b873513c89e3 /sonar-core | |
parent | 97e9cab9af1c3d17015585b5a51feb350630055d (diff) | |
download | sonarqube-21d26b2b4dbc8d47e9972f45d402f86448b47f48.tar.gz sonarqube-21d26b2b4dbc8d47e9972f45d402f86448b47f48.zip |
Improve and refactor the ResourcePermissions component
Diffstat (limited to 'sonar-core')
-rw-r--r-- | sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java | 4 | ||||
-rw-r--r-- | sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java b/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java index 79e83c766be..9b7abc5a9bc 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java @@ -28,6 +28,10 @@ public interface RoleMapper { void insertUserRole(UserRoleDto userRole); + void deleteUserRole(UserRoleDto userRole); + + void deleteGroupRole(GroupRoleDto groupRole); + void deleteGroupRolesByResourceId(Long resourceId); void deleteUserRolesByResourceId(Long resourceId); diff --git a/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml b/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml index 720a7690d4e..bbef4611eed 100644 --- a/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml @@ -31,6 +31,22 @@ VALUES (#{id}, #{userId}, #{resourceId}, #{role}) </insert> + <delete id="deleteGroupRole" parameterType="map"> + delete from group_roles where resource_id=#{resourceId} and role=#{role} + <choose> + <when test="groupId != null"> + and group_id=#{groupId} + </when> + <otherwise> + and group_id is null + </otherwise> + </choose> + </delete> + + <delete id="deleteUserRole" parameterType="map"> + delete from user_roles where resource_id=#{resourceId} and user_id=#{userId} and role=#{role} + </delete> + <delete id="deleteGroupRolesByResourceId" parameterType="long"> delete from group_roles where resource_id=#{id} </delete> |