feat #467: separate column sensitivity policies
This commit is contained in:
@@ -3,13 +3,19 @@
|
||||
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cloudhandson.vpdbackoffice.mapper.PermissionMapper">
|
||||
<select id="findRoles" resultType="com.cloudhandson.vpdbackoffice.domain.permission.AppRole">
|
||||
SELECT role_id, role_name, CAST(NULL AS VARCHAR2(200)) AS description
|
||||
SELECT role_id,
|
||||
role_name,
|
||||
CAST(NULL AS VARCHAR2(200)) AS description,
|
||||
NVL(max_sensitivity_level, 'PUBLIC') AS max_sensitivity_level
|
||||
FROM cb_app_role
|
||||
ORDER BY role_name
|
||||
</select>
|
||||
|
||||
<select id="findRole" resultType="com.cloudhandson.vpdbackoffice.domain.permission.AppRole">
|
||||
SELECT role_id, role_name, CAST(NULL AS VARCHAR2(200)) AS description
|
||||
SELECT role_id,
|
||||
role_name,
|
||||
CAST(NULL AS VARCHAR2(200)) AS description,
|
||||
NVL(max_sensitivity_level, 'PUBLIC') AS max_sensitivity_level
|
||||
FROM cb_app_role
|
||||
WHERE role_id = #{roleId}
|
||||
</select>
|
||||
@@ -19,10 +25,20 @@
|
||||
</select>
|
||||
|
||||
<insert id="insertRole">
|
||||
INSERT INTO cb_app_role (role_id, role_name)
|
||||
VALUES (#{roleId,jdbcType=NUMERIC}, UPPER(#{roleName,jdbcType=VARCHAR}))
|
||||
INSERT INTO cb_app_role (role_id, role_name, max_sensitivity_level)
|
||||
VALUES (
|
||||
#{roleId,jdbcType=NUMERIC},
|
||||
UPPER(#{roleName,jdbcType=VARCHAR}),
|
||||
#{maxSensitivityLevel,jdbcType=VARCHAR}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRoleMaxSensitivity">
|
||||
UPDATE cb_app_role
|
||||
SET max_sensitivity_level = #{maxSensitivityLevel,jdbcType=VARCHAR}
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRole">
|
||||
DELETE FROM cb_app_role
|
||||
WHERE role_id = #{roleId,jdbcType=NUMERIC}
|
||||
|
||||
@@ -57,7 +57,13 @@
|
||||
</select>
|
||||
|
||||
<select id="findColumns" resultType="com.cloudhandson.vpdbackoffice.domain.protectedobject.ProtectedColumn">
|
||||
SELECT column_id, object_id, column_name, sensitive_yn, visible_role_id
|
||||
SELECT column_id,
|
||||
object_id,
|
||||
column_name,
|
||||
sensitive_yn,
|
||||
visible_role_id,
|
||||
NVL(sensitivity_level, CASE sensitive_yn WHEN 'Y' THEN 'CONFIDENTIAL' ELSE 'PUBLIC' END) AS sensitivity_level,
|
||||
NVL(redaction_method, CASE sensitive_yn WHEN 'Y' THEN 'NULLIFY' ELSE 'NONE' END) AS redaction_method
|
||||
FROM cb_protected_column
|
||||
WHERE object_id = #{objectId}
|
||||
ORDER BY column_id
|
||||
@@ -83,10 +89,26 @@
|
||||
</insert>
|
||||
|
||||
<insert id="insertColumn">
|
||||
INSERT INTO cb_protected_column (column_id, object_id, column_name, sensitive_yn)
|
||||
VALUES (#{columnId}, #{objectId}, UPPER(#{columnName}), #{sensitiveYn})
|
||||
INSERT INTO cb_protected_column (
|
||||
column_id, object_id, column_name, sensitive_yn, sensitivity_level, redaction_method
|
||||
)
|
||||
VALUES (
|
||||
#{columnId}, #{objectId}, UPPER(#{columnName}), #{sensitiveYn}, #{sensitivityLevel}, #{redactionMethod}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateColumnPolicy">
|
||||
UPDATE cb_protected_column
|
||||
SET sensitivity_level = #{sensitivityLevel,jdbcType=VARCHAR},
|
||||
redaction_method = #{redactionMethod,jdbcType=VARCHAR},
|
||||
sensitive_yn = CASE
|
||||
WHEN #{sensitivityLevel,jdbcType=VARCHAR} = 'PUBLIC'
|
||||
AND #{redactionMethod,jdbcType=VARCHAR} = 'NONE' THEN 'N'
|
||||
ELSE 'Y'
|
||||
END
|
||||
WHERE column_id = #{columnId,jdbcType=NUMERIC}
|
||||
</update>
|
||||
|
||||
<update id="updateOrdsPath">
|
||||
UPDATE cb_protected_object
|
||||
SET ords_path = #{ordsPath,jdbcType=VARCHAR}
|
||||
|
||||
Reference in New Issue
Block a user