package com.goi.erp.common.permission; import java.util.List; public record PermissionSet(List 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()); } }