[Developer] #424 show VPD policy details

This commit is contained in:
devmrko
2026-06-25 11:18:22 +09:00
parent 86e2b252c9
commit 1c3894cb40
7 changed files with 167 additions and 23 deletions

View File

@@ -0,0 +1,27 @@
<!doctype html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<body>
<div th:fragment="detail">
<div class="alert alert-warning mb-0" th:if="${errorMessage}" th:text="${errorMessage}"></div>
<div class="probe-exchange-grid" th:if="${detail}">
<section class="probe-exchange">
<h3>Policy Metadata</h3>
<pre th:text="${'Object: ' + detail.policy().objectDisplayName()
+ '\nPolicy Group: ' + detail.policy().policyGroup()
+ '\nPolicy Name: ' + detail.policy().policyName()
+ '\nFunction: ' + detail.policy().functionDisplayName()
+ '\nStatement Types: ' + detail.policy().statementTypes()
+ '\nEnabled: ' + detail.policy().enabled()
+ '\nPolicy Type: ' + detail.policy().policyType()
+ '\nCheck Option: ' + detail.policy().checkOption()
+ '\nStatic Policy: ' + detail.policy().staticPolicy()
+ '\nLong Predicate: ' + detail.policy().longPredicate()}"></pre>
</section>
<section class="probe-exchange">
<h3>DBMS_RLS.ADD_POLICY</h3>
<pre th:text="${detail.ddl()}"></pre>
</section>
</div>
</div>
</body>
</html>

View File

@@ -40,7 +40,15 @@
<strong th:text="${policy.objectDisplayName()}">ADMIN.TABLE</strong>
<div class="text-muted small" th:text="${policy.policyGroup()}">SYS_DEFAULT</div>
</td>
<td><code th:text="${policy.policyName()}">POLICY</code></td>
<td>
<button class="btn btn-sm btn-outline-secondary policy-function-button"
type="button"
th:hx-get="@{/vpd-policies/policy-detail(objectOwner=${policy.objectOwner()},objectName=${policy.objectName()},policyName=${policy.policyName()})}"
th:hx-target="${'#policy-source-' + iter.index}"
hx-swap="innerHTML">
<code th:text="${policy.policyName()}">POLICY</code>
</button>
</td>
<td>
<button class="btn btn-sm btn-outline-secondary policy-function-button"
type="button"
@@ -66,7 +74,7 @@
<tr>
<td colspan="7" class="policy-source-cell">
<div th:id="${'policy-source-' + iter.index}" class="text-muted small">
Policy function을 클릭하면 소스가 표시됩니다.
Policy 또는 policy function을 클릭하면 상세 내역이 표시됩니다.
</div>
</td>
</tr>