feat(hmm): align backoffice identity administration (#702)
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
SELECT role_id,
|
||||
role_name,
|
||||
description,
|
||||
NVL(max_sensitivity_level, 'PUBLIC') AS max_sensitivity_level
|
||||
FROM sg_app_role
|
||||
max_sensitivity_level
|
||||
FROM hmm_access_roles
|
||||
WHERE active_yn = 'Y'
|
||||
ORDER BY role_name
|
||||
</select>
|
||||
|
||||
@@ -15,96 +16,90 @@
|
||||
SELECT role_id,
|
||||
role_name,
|
||||
description,
|
||||
NVL(max_sensitivity_level, 'PUBLIC') AS max_sensitivity_level
|
||||
FROM sg_app_role
|
||||
max_sensitivity_level
|
||||
FROM hmm_access_roles
|
||||
WHERE role_id = #{roleId}
|
||||
</select>
|
||||
|
||||
<select id="nextRoleId" resultType="long">
|
||||
SELECT NVL(MAX(role_id), 0) + 1 FROM sg_app_role
|
||||
SELECT NVL(MAX(role_id), 0) + 1 FROM hmm_access_roles
|
||||
</select>
|
||||
|
||||
<insert id="insertRole">
|
||||
INSERT INTO sg_app_role (role_id, role_name, description, max_sensitivity_level)
|
||||
INSERT INTO hmm_access_roles (role_id, role_name, description, max_sensitivity_level, active_yn)
|
||||
VALUES (
|
||||
#{roleId,jdbcType=NUMERIC},
|
||||
UPPER(#{roleName,jdbcType=VARCHAR}),
|
||||
#{description,jdbcType=VARCHAR},
|
||||
#{maxSensitivityLevel,jdbcType=VARCHAR}
|
||||
#{maxSensitivityLevel,jdbcType=VARCHAR},
|
||||
'Y'
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRoleMaxSensitivity">
|
||||
UPDATE sg_app_role
|
||||
UPDATE hmm_access_roles
|
||||
SET max_sensitivity_level = #{maxSensitivityLevel,jdbcType=VARCHAR}
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRole">
|
||||
DELETE FROM sg_app_role
|
||||
DELETE FROM hmm_access_roles
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
</delete>
|
||||
|
||||
<select id="countUserRolesByRoleId" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM sg_user_role
|
||||
FROM hmm_employee_access_roles
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
</select>
|
||||
|
||||
<select id="countGroupRolesByRoleId" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM sg_group_role
|
||||
FROM hmm_group_access_roles
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
</select>
|
||||
|
||||
<select id="countPermissionsByRoleId" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM sg_permission
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
FROM dual
|
||||
WHERE 1 = 0
|
||||
</select>
|
||||
|
||||
<select id="findPermissionViews" resultType="com.cloudhandson.vpdbackoffice.domain.permission.PermissionView">
|
||||
SELECT p.perm_id AS permission_id,
|
||||
r.role_id,
|
||||
r.role_name,
|
||||
NVL(o.object_id, -1) AS object_id,
|
||||
p.target_name AS object_name,
|
||||
p.action_name AS action,
|
||||
NVL(p.permission_effect, 'ALLOW') AS permission_effect,
|
||||
LISTAGG(NVL2(pr.rule_column, pr.rule_column || ' ', '') || pr.rule_type || NVL2(pr.rule_value, ' ' || pr.rule_value, ''), ', ')
|
||||
WITHIN GROUP (ORDER BY pr.rule_id) AS rules,
|
||||
(SELECT LISTAGG(pc.column_name, ', ') WITHIN GROUP (ORDER BY pc.column_name)
|
||||
FROM sg_permission_column pc WHERE pc.permission_id = p.perm_id) AS visible_columns,
|
||||
(SELECT LISTAGG(NVL2(pr2.rule_column, pr2.rule_column || ' ', '') || pr2.rule_type || NVL2(pr2.rule_value, ' ' || pr2.rule_value, ''), CHR(10) || 'AND ')
|
||||
WITHIN GROUP (ORDER BY pr2.rule_id) FROM sg_permission_rule pr2 WHERE pr2.perm_id = p.perm_id) AS filter_preview,
|
||||
'Game-data access policy' AS null_policy_preview
|
||||
FROM sg_permission p
|
||||
JOIN sg_app_role r ON r.role_id = p.role_id
|
||||
LEFT JOIN sg_protected_object o ON o.object_name = p.target_name
|
||||
LEFT JOIN sg_permission_rule pr ON pr.perm_id = p.perm_id
|
||||
GROUP BY p.perm_id, r.role_id, r.role_name, o.object_id, p.target_name, p.action_name, p.permission_effect
|
||||
ORDER BY r.role_name, p.target_name
|
||||
SELECT CAST(NULL AS NUMBER) AS permission_id,
|
||||
CAST(NULL AS NUMBER) AS role_id,
|
||||
CAST(NULL AS VARCHAR2(80)) AS role_name,
|
||||
CAST(NULL AS NUMBER) AS object_id,
|
||||
CAST(NULL AS VARCHAR2(200)) AS object_name,
|
||||
CAST(NULL AS VARCHAR2(30)) AS action,
|
||||
CAST(NULL AS VARCHAR2(20)) AS permission_effect,
|
||||
CAST(NULL AS VARCHAR2(4000)) AS rules,
|
||||
CAST(NULL AS VARCHAR2(4000)) AS visible_columns,
|
||||
CAST(NULL AS VARCHAR2(4000)) AS filter_preview,
|
||||
CAST(NULL AS VARCHAR2(4000)) AS null_policy_preview
|
||||
FROM dual
|
||||
WHERE 1 = 0
|
||||
</select>
|
||||
|
||||
<select id="findPermissionId" resultType="long">
|
||||
SELECT p.perm_id
|
||||
FROM sg_permission p
|
||||
JOIN sg_protected_object o ON o.object_name = p.target_name
|
||||
FROM cb_permission p
|
||||
JOIN cb_protected_object o ON o.object_name = p.target_name
|
||||
WHERE p.role_id = #{roleId}
|
||||
AND o.object_id = #{objectId}
|
||||
</select>
|
||||
|
||||
<select id="findObjectIdByPermissionId" resultType="long">
|
||||
SELECT o.object_id
|
||||
FROM sg_permission p
|
||||
JOIN sg_protected_object o ON o.object_name = p.target_name
|
||||
FROM cb_permission p
|
||||
JOIN cb_protected_object o ON o.object_name = p.target_name
|
||||
WHERE p.perm_id = #{permissionId}
|
||||
</select>
|
||||
|
||||
<select id="countPermissionsByObjectId" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM sg_permission p
|
||||
JOIN sg_protected_object o ON o.object_name = p.target_name
|
||||
FROM cb_permission p
|
||||
JOIN cb_protected_object o ON o.object_name = p.target_name
|
||||
WHERE o.object_id = #{objectId}
|
||||
</select>
|
||||
|
||||
@@ -114,46 +109,46 @@
|
||||
o.object_id,
|
||||
p.action_name AS action,
|
||||
NVL(p.permission_effect, 'ALLOW') AS permission_effect
|
||||
FROM sg_permission p
|
||||
JOIN sg_protected_object o ON o.object_name = p.target_name
|
||||
FROM cb_permission p
|
||||
JOIN cb_protected_object o ON o.object_name = p.target_name
|
||||
WHERE p.role_id = #{roleId}
|
||||
AND o.object_id = #{objectId}
|
||||
</select>
|
||||
|
||||
<select id="nextPermissionId" resultType="long">
|
||||
SELECT sg_permission_seq.NEXTVAL FROM dual
|
||||
SELECT cb_permission_seq.NEXTVAL FROM dual
|
||||
</select>
|
||||
|
||||
<select id="nextRuleId" resultType="long">
|
||||
SELECT sg_permission_rule_seq.NEXTVAL FROM dual
|
||||
SELECT cb_permission_rule_seq.NEXTVAL FROM dual
|
||||
</select>
|
||||
|
||||
<insert id="insertPermission">
|
||||
INSERT INTO sg_permission (perm_id, role_id, target_name, action_name, permission_effect)
|
||||
INSERT INTO cb_permission (perm_id, role_id, target_name, action_name, permission_effect)
|
||||
SELECT #{permissionId}, #{roleId}, object_name, #{action}, #{permissionEffect}
|
||||
FROM sg_protected_object
|
||||
FROM cb_protected_object
|
||||
WHERE object_id = #{objectId}
|
||||
</insert>
|
||||
|
||||
<update id="updatePermissionAction">
|
||||
UPDATE sg_permission
|
||||
UPDATE cb_permission
|
||||
SET action_name = #{action}
|
||||
WHERE perm_id = #{permissionId}
|
||||
</update>
|
||||
|
||||
<update id="updatePermissionEffect">
|
||||
UPDATE sg_permission
|
||||
UPDATE cb_permission
|
||||
SET permission_effect = #{permissionEffect}
|
||||
WHERE perm_id = #{permissionId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRules">
|
||||
DELETE FROM sg_permission_rule
|
||||
DELETE FROM cb_permission_rule
|
||||
WHERE perm_id = #{permissionId}
|
||||
</delete>
|
||||
|
||||
<insert id="insertRule" parameterType="com.cloudhandson.vpdbackoffice.domain.permission.PermissionRule">
|
||||
INSERT INTO sg_permission_rule (rule_id, perm_id, rule_column, rule_type, rule_value)
|
||||
INSERT INTO cb_permission_rule (rule_id, perm_id, rule_column, rule_type, rule_value)
|
||||
VALUES (
|
||||
#{ruleId,jdbcType=NUMERIC},
|
||||
#{permissionId,jdbcType=NUMERIC},
|
||||
@@ -164,17 +159,17 @@
|
||||
</insert>
|
||||
|
||||
<delete id="deleteVisibleColumns">
|
||||
DELETE FROM sg_permission_column
|
||||
DELETE FROM cb_permission_column
|
||||
WHERE permission_id = #{permissionId}
|
||||
</delete>
|
||||
|
||||
<insert id="insertVisibleColumn">
|
||||
INSERT INTO sg_permission_column (permission_id, column_name)
|
||||
INSERT INTO cb_permission_column (permission_id, column_name)
|
||||
VALUES (#{permissionId}, #{columnName})
|
||||
</insert>
|
||||
|
||||
<delete id="deletePermission">
|
||||
DELETE FROM sg_permission
|
||||
DELETE FROM cb_permission
|
||||
WHERE perm_id = #{permissionId}
|
||||
</delete>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user