hcm-rest-api/src/main/java/com/goi/erp/common/permission/PermissionParser.java

33 lines
1.0 KiB
Java

package com.goi.erp.common.permission;
import java.util.ArrayList;
import java.util.List;
public class PermissionParser {
public static PermissionSet parse(List<String> permissionStrings) {
List<Permission> list = new ArrayList<>();
for (String str : permissionStrings) {
// ALL 권한 추가
if ("ALL".equalsIgnoreCase(str)) {
list.add(new Permission(PermissionEnums.Module.ALL, null, null, true));
continue;
}
// 문자 세개 조합 인지 확인
String[] parts = str.split(":");
if (parts.length != 3) continue;
PermissionEnums.Module module = PermissionEnums.Module.valueOf(parts[0]);
PermissionEnums.Action action = PermissionEnums.Action.valueOf(parts[1]);
PermissionEnums.Scope scope = PermissionEnums.Scope.valueOf(parts[2]);
//
list.add(new Permission(module, action, scope, false));
}
return new PermissionSet(list);
}
}