[Developer] #424 add VPD policy settings view

This commit is contained in:
devmrko
2026-06-25 11:06:46 +09:00
parent cb0b8fce13
commit 56c6432d86
7 changed files with 187 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
package com.cloudhandson.vpdbackoffice.domain.vpd;
public record VpdPolicyView(
String objectOwner,
String objectName,
String policyGroup,
String policyName,
String functionOwner,
String packageName,
String functionName,
String statementTypes,
String checkOption,
String enabled,
String staticPolicy,
String policyType,
String longPredicate
) {
public String objectDisplayName() {
return objectOwner + "." + objectName;
}
public String functionDisplayName() {
String packagePrefix = packageName == null || packageName.isBlank() ? "" : packageName + ".";
return functionOwner + "." + packagePrefix + functionName;
}
}

View File

@@ -0,0 +1,11 @@
package com.cloudhandson.vpdbackoffice.mapper;
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdPolicyView;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VpdPolicyMapper {
List<VpdPolicyView> findPolicies();
}

View File

@@ -0,0 +1,20 @@
package com.cloudhandson.vpdbackoffice.service;
import com.cloudhandson.vpdbackoffice.domain.vpd.VpdPolicyView;
import com.cloudhandson.vpdbackoffice.mapper.VpdPolicyMapper;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
public class VpdPolicyService {
private final VpdPolicyMapper mapper;
public VpdPolicyService(VpdPolicyMapper mapper) {
this.mapper = mapper;
}
public List<VpdPolicyView> findPolicies() {
return mapper.findPolicies();
}
}

View File

@@ -0,0 +1,30 @@
package com.cloudhandson.vpdbackoffice.web;
import com.cloudhandson.vpdbackoffice.service.VpdPolicyService;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class VpdPolicyController {
private final VpdPolicyService vpdPolicyService;
public VpdPolicyController(VpdPolicyService vpdPolicyService) {
this.vpdPolicyService = vpdPolicyService;
}
@GetMapping("/vpd-policies")
public String policies(Model model) {
try {
model.addAttribute("policies", vpdPolicyService.findPolicies());
} catch (DataAccessException exception) {
RuntimeErrorMessage message = RuntimeErrorMessages.dataAccess(exception);
model.addAttribute("runtimeError", message);
model.addAttribute("policies", List.of());
}
return "vpd-policies";
}
}