33 lines
1.0 KiB
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);
|
|
}
|
|
}
|
|
|