27 lines
905 B
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());
|
|
}
|
|
}
|