@@ -0,0 +1,12 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.audit;
|
||||
|
||||
public record AuditEvent(
|
||||
String eventType,
|
||||
Long keyId,
|
||||
Long objectId,
|
||||
String status,
|
||||
Integer rowCount,
|
||||
String errorCode,
|
||||
String message
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.permission;
|
||||
|
||||
public record AppRole(
|
||||
long roleId,
|
||||
String roleName,
|
||||
String description
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.permission;
|
||||
|
||||
public record PermissionRule(
|
||||
long ruleId,
|
||||
long permissionId,
|
||||
String ruleType,
|
||||
String ruleValue
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.permission;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record PermissionSet(
|
||||
long permissionId,
|
||||
long roleId,
|
||||
long objectId,
|
||||
String action,
|
||||
List<PermissionRule> rules,
|
||||
List<String> visibleColumns
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.permission;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.Positive;
|
||||
import java.util.List;
|
||||
|
||||
public record PermissionSetCommand(
|
||||
@Positive long roleId,
|
||||
@Positive long objectId,
|
||||
@NotBlank String action,
|
||||
@NotEmpty List<RuleCommand> rules,
|
||||
List<String> visibleColumns
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.permission;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
public record RuleCommand(
|
||||
@NotBlank String ruleType,
|
||||
String ruleValue
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.probe;
|
||||
|
||||
import jakarta.validation.constraints.Max;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Positive;
|
||||
|
||||
public record ProbeCommand(
|
||||
@Positive long keyId,
|
||||
@Positive long objectId,
|
||||
@NotBlank String bearerToken,
|
||||
@Min(1) @Max(500) int limit
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.probe;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public record ProbeResult(
|
||||
ProbeStatus status,
|
||||
List<String> columns,
|
||||
List<Map<String, Object>> rows,
|
||||
int rowCount,
|
||||
List<String> maskedColumns,
|
||||
String errorCode,
|
||||
String errorMessage
|
||||
) {
|
||||
|
||||
public static ProbeResult blocked(ProbeStatus status, String errorCode, String errorMessage) {
|
||||
return new ProbeResult(status, List.of(), List.of(), 0, List.of(), errorCode, errorMessage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.probe;
|
||||
|
||||
public enum ProbeStatus {
|
||||
SUCCESS,
|
||||
VPD_DENY_EMPTY_RESULT,
|
||||
TOKEN_NOT_FOUND,
|
||||
TOKEN_INACTIVE,
|
||||
OBJECT_DISABLED,
|
||||
INVALID_TOKEN,
|
||||
OBJECT_NOT_ACCESSIBLE,
|
||||
ORDS_TIMEOUT,
|
||||
INVALID_ORDS_RESPONSE,
|
||||
UNKNOWN_ERROR
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.protectedobject;
|
||||
|
||||
public record ProtectedColumn(
|
||||
long columnId,
|
||||
long objectId,
|
||||
String columnName,
|
||||
String sensitiveYn,
|
||||
Long visibleRoleId
|
||||
) {
|
||||
|
||||
public boolean sensitive() {
|
||||
return "Y".equalsIgnoreCase(sensitiveYn);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.protectedobject;
|
||||
|
||||
public record ProtectedObject(
|
||||
long objectId,
|
||||
String owner,
|
||||
String objectName,
|
||||
String ordsPath,
|
||||
String enabledYn
|
||||
) {
|
||||
|
||||
public boolean enabled() {
|
||||
return "Y".equalsIgnoreCase(enabledYn);
|
||||
}
|
||||
|
||||
public String displayName() {
|
||||
return owner + "." + objectName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.token;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
public record BearerTokenRecord(
|
||||
long keyId,
|
||||
long userId,
|
||||
String username,
|
||||
String keyPrefix,
|
||||
String keyHash,
|
||||
OffsetDateTime expiresAt,
|
||||
OffsetDateTime revokedAt,
|
||||
String description
|
||||
) {
|
||||
|
||||
public boolean active(OffsetDateTime now) {
|
||||
return revokedAt == null && expiresAt != null && expiresAt.isAfter(now);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.token;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
public record IssuedToken(
|
||||
long keyId,
|
||||
String prefix,
|
||||
String plainToken,
|
||||
OffsetDateTime expiresAt
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.token;
|
||||
|
||||
import jakarta.validation.constraints.Future;
|
||||
import jakarta.validation.constraints.Positive;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
public record TokenIssueCommand(
|
||||
@Positive long userId,
|
||||
@Future OffsetDateTime expiresAt,
|
||||
@Size(max = 200) String description
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.user;
|
||||
|
||||
public record AppUser(
|
||||
long userId,
|
||||
String username,
|
||||
String empNo,
|
||||
String deptCode,
|
||||
String activeYn
|
||||
) {
|
||||
|
||||
public boolean active() {
|
||||
return "Y".equalsIgnoreCase(activeYn);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user