Files
vpd-permission-poc/src/main/resources/mapper/VpdPolicyMapper.xml

39 lines
1.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloudhandson.vpdbackoffice.mapper.VpdPolicyMapper">
<select id="findPolicies" resultType="com.cloudhandson.vpdbackoffice.domain.vpd.VpdPolicyView">
SELECT
object_owner,
object_name,
policy_group,
policy_name,
pf_owner AS function_owner,
package AS package_name,
function AS function_name,
RTRIM(
CASE WHEN sel = 'YES' THEN 'SELECT,' ELSE '' END ||
CASE WHEN ins = 'YES' THEN 'INSERT,' ELSE '' END ||
CASE WHEN upd = 'YES' THEN 'UPDATE,' ELSE '' END ||
CASE WHEN del = 'YES' THEN 'DELETE,' ELSE '' END ||
CASE WHEN idx = 'YES' THEN 'INDEX,' ELSE '' END,
','
) AS statement_types,
chk_option AS check_option,
enable AS enabled,
static_policy,
policy_type,
long_predicate
FROM all_policies
ORDER BY object_owner, object_name, policy_name
</select>
<select id="findFunctionSource" resultType="string">
SELECT LISTAGG(text, '') WITHIN GROUP (ORDER BY line)
FROM all_source
WHERE owner = UPPER(#{owner,jdbcType=VARCHAR})
AND name = UPPER(#{objectName,jdbcType=VARCHAR})
AND type = UPPER(#{objectType,jdbcType=VARCHAR})
</select>
</mapper>