sys-rest-api/src/main/java/com/goi/erp/common/permission/PermissionSet.java

27 lines
905 B
Java

package com.goi.erp.common.permission;
import java.util.List;
public record PermissionSet(List<Permission> permissions) {
public boolean has(PermissionEnums.Module module,
PermissionEnums.Action action) {
return permissions.stream()
.anyMatch(p -> p.getModule() == module &&
p.getAction() == action);
}
public boolean hasFull(PermissionEnums.Module module,
PermissionEnums.Action action,
PermissionEnums.Scope scope) {
return permissions.stream()
.anyMatch(p -> p.getModule() == module &&
p.getAction() == action &&
p.getScope().ordinal() >= scope.ordinal());
}
public boolean hasAll() {
return permissions.stream().anyMatch(p -> p.isAll());
}
}