fix #477: apply vpd by policy filter template
This commit is contained in:
@@ -7,6 +7,7 @@ public record VpdPolicyFormOptions(
|
||||
List<String> schemaOwners,
|
||||
List<String> owners,
|
||||
List<VpdFunctionOption> functions,
|
||||
List<VpdPolicyTemplateOption> policyTemplates,
|
||||
List<String> statementTypes
|
||||
) {
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.vpd;
|
||||
|
||||
public record VpdPolicyTemplateOption(
|
||||
String policyName,
|
||||
String functionOwner,
|
||||
String packageName,
|
||||
String functionName,
|
||||
String statementTypes,
|
||||
String enabled,
|
||||
String checkOption
|
||||
) {
|
||||
|
||||
public String functionKey() {
|
||||
String packagePrefix = packageName == null || packageName.isBlank() ? "" : packageName + ".";
|
||||
return functionOwner + "." + packagePrefix + functionName;
|
||||
}
|
||||
|
||||
public String filterDisplayName() {
|
||||
return functionKey();
|
||||
}
|
||||
|
||||
public String label() {
|
||||
return policyName + " / " + filterDisplayName() + " / " + statementTypes;
|
||||
}
|
||||
|
||||
public boolean enabledValue() {
|
||||
return "YES".equalsIgnoreCase(enabled);
|
||||
}
|
||||
|
||||
public boolean updateCheckValue() {
|
||||
return "YES".equalsIgnoreCase(checkOption);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cloudhandson.vpdbackoffice.mapper;
|
||||
|
||||
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdFunctionOption;
|
||||
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdPolicyTemplateOption;
|
||||
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdSchemaObjectOption;
|
||||
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdPolicyView;
|
||||
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdTargetView;
|
||||
@@ -23,6 +24,8 @@ public interface VpdPolicyMapper {
|
||||
|
||||
List<VpdFunctionOption> findFunctionOptions();
|
||||
|
||||
List<VpdPolicyTemplateOption> findPolicyTemplateOptions();
|
||||
|
||||
List<VpdSchemaObjectOption> findSchemaObjects(
|
||||
@Param("owner") String owner,
|
||||
@Param("includeTablesYn") String includeTablesYn,
|
||||
|
||||
@@ -69,6 +69,7 @@ public class VpdPolicyService {
|
||||
mapper.findSchemaOwnerOptions(),
|
||||
mapper.findOwnerOptions(),
|
||||
mapper.findFunctionOptions(),
|
||||
mapper.findPolicyTemplateOptions(),
|
||||
List.of("SELECT", "INSERT", "UPDATE", "DELETE", "INDEX")
|
||||
);
|
||||
formOptionsCache = new CacheEntry<>(options, System.currentTimeMillis() + CATALOG_CACHE_MILLIS);
|
||||
@@ -81,6 +82,7 @@ public class VpdPolicyService {
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of("SELECT", "INSERT", "UPDATE", "DELETE", "INDEX")
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user