[Developer] #424 improve role permission probe workflows

Refs #424
This commit is contained in:
devmrko
2026-06-23 13:52:50 +09:00
parent b6fcc768a3
commit 97bb0357f9
23 changed files with 368 additions and 52 deletions

View File

@@ -18,6 +18,14 @@
WHERE k.key_id = #{keyId}
</select>
<select id="findByHash" resultType="com.cloudhandson.vpdbackoffice.domain.token.BearerTokenRecord">
SELECT k.key_id, k.user_id, u.user_name AS username, k.key_prefix, k.key_hash,
k.expires_at, k.revoked_at, k.description
FROM cb_agent_bearer_key k
JOIN cb_app_user u ON u.user_id = k.user_id
WHERE k.key_hash = #{keyHash,jdbcType=VARCHAR}
</select>
<select id="nextKeyId" resultType="long">
SELECT cb_agent_bearer_key_seq.NEXTVAL FROM dual
</select>

View File

@@ -14,6 +14,20 @@
WHERE role_id = #{roleId}
</select>
<select id="nextRoleId" resultType="long">
SELECT NVL(MAX(role_id), 0) + 1 FROM cb_app_role
</select>
<insert id="insertRole">
INSERT INTO cb_app_role (role_id, role_name)
VALUES (#{roleId,jdbcType=NUMERIC}, UPPER(#{roleName,jdbcType=VARCHAR}))
</insert>
<delete id="deleteRole">
DELETE FROM cb_app_role
WHERE role_id = #{roleId,jdbcType=NUMERIC}
</delete>
<select id="findPermissionViews" resultType="com.cloudhandson.vpdbackoffice.domain.permission.PermissionView">
SELECT p.perm_id AS permission_id,
r.role_id,

View File

@@ -15,6 +15,31 @@
WHERE object_id = #{objectId}
</select>
<select id="findByOwnerAndName" resultType="com.cloudhandson.vpdbackoffice.domain.protectedobject.ProtectedObject">
SELECT object_id, owner, object_name, ords_path, enabled_yn
FROM cb_protected_object
WHERE owner = UPPER(#{owner,jdbcType=VARCHAR})
AND object_name = UPPER(#{objectName,jdbcType=VARCHAR})
</select>
<select id="findDatabaseObjects" resultType="com.cloudhandson.vpdbackoffice.domain.protectedobject.DatabaseObjectOption">
SELECT owner, object_name, object_type
FROM all_objects
WHERE object_type IN ('TABLE', 'VIEW')
AND owner NOT IN ('SYS', 'SYSTEM', 'ORDS_METADATA', 'ORDS_PUBLIC_USER')
AND object_name NOT LIKE 'BIN$%'
ORDER BY owner, object_type, object_name
FETCH FIRST 500 ROWS ONLY
</select>
<select id="findDatabaseColumns" resultType="string">
SELECT column_name
FROM all_tab_columns
WHERE owner = UPPER(#{owner,jdbcType=VARCHAR})
AND table_name = UPPER(#{objectName,jdbcType=VARCHAR})
ORDER BY column_id
</select>
<select id="findColumns" resultType="com.cloudhandson.vpdbackoffice.domain.protectedobject.ProtectedColumn">
SELECT column_id, object_id, column_name, sensitive_yn, visible_role_id
FROM cb_protected_column