[Developer] #567 expose VPD effective SQL trace
This commit is contained in:
@@ -14,9 +14,41 @@ public record ProbeResult(
|
||||
String requestHeaders,
|
||||
String requestPayload,
|
||||
String responseHeaders,
|
||||
String responseBody
|
||||
String responseBody,
|
||||
String vpdPredicate,
|
||||
String effectiveSql
|
||||
) {
|
||||
|
||||
public ProbeResult(
|
||||
ProbeStatus status,
|
||||
List<String> columns,
|
||||
List<Map<String, Object>> rows,
|
||||
int rowCount,
|
||||
List<String> maskedColumns,
|
||||
String errorCode,
|
||||
String errorMessage,
|
||||
String requestHeaders,
|
||||
String requestPayload,
|
||||
String responseHeaders,
|
||||
String responseBody
|
||||
) {
|
||||
this(
|
||||
status,
|
||||
columns,
|
||||
rows,
|
||||
rowCount,
|
||||
maskedColumns,
|
||||
errorCode,
|
||||
errorMessage,
|
||||
requestHeaders,
|
||||
requestPayload,
|
||||
responseHeaders,
|
||||
responseBody,
|
||||
null,
|
||||
null
|
||||
);
|
||||
}
|
||||
|
||||
public static ProbeResult blocked(ProbeStatus status, String errorCode, String errorMessage) {
|
||||
return blocked(status, errorCode, errorMessage, null, null, null, null);
|
||||
}
|
||||
@@ -49,6 +81,28 @@ public record ProbeResult(
|
||||
return status == ProbeStatus.SUCCESS || status == ProbeStatus.VPD_DENY_EMPTY_RESULT;
|
||||
}
|
||||
|
||||
public boolean hasSqlTrace() {
|
||||
return effectiveSql != null && !effectiveSql.isBlank();
|
||||
}
|
||||
|
||||
public ProbeResult withSqlTrace(String predicate, String sql) {
|
||||
return new ProbeResult(
|
||||
status,
|
||||
columns,
|
||||
rows,
|
||||
rowCount,
|
||||
maskedColumns,
|
||||
errorCode,
|
||||
errorMessage,
|
||||
requestHeaders,
|
||||
requestPayload,
|
||||
responseHeaders,
|
||||
responseBody,
|
||||
predicate,
|
||||
sql
|
||||
);
|
||||
}
|
||||
|
||||
public String title() {
|
||||
return switch (status) {
|
||||
case SUCCESS -> "권한에 따라 데이터를 볼 수 있습니다.";
|
||||
|
||||
Reference in New Issue
Block a user