주석화 진행상황 정리하고 핵심 모듈에 한글 주석 추가
This commit is contained in:
@@ -18,6 +18,7 @@ class Environment {
|
||||
/// 프로덕션 여부
|
||||
static late final bool isProduction;
|
||||
|
||||
/// 환경 변수에서 파싱한 리소스별 권한 집합.
|
||||
static final Map<String, Set<String>> _permissions = {};
|
||||
|
||||
/// 환경 초기화
|
||||
@@ -74,6 +75,7 @@ class Environment {
|
||||
}
|
||||
}
|
||||
|
||||
/// `.env` 파일에서 `PERMISSION__*` 키를 파싱해 권한 맵을 구성한다.
|
||||
static void _loadPermissions() {
|
||||
_permissions.clear();
|
||||
for (final entry in dotenv.env.entries) {
|
||||
@@ -82,6 +84,7 @@ class Environment {
|
||||
continue;
|
||||
}
|
||||
final resource = entry.key.substring(prefix.length).toLowerCase();
|
||||
// 콤마 구분 문자열을 소문자/trim 처리해 비교를 일관되게 맞춘다.
|
||||
final values = entry.value
|
||||
.split(',')
|
||||
.map((token) => token.trim().toLowerCase())
|
||||
@@ -91,12 +94,14 @@ class Environment {
|
||||
}
|
||||
}
|
||||
|
||||
/// 환경에 설정된 권한이 있는 경우 해당 액션 허용 여부를 반환한다.
|
||||
static bool hasPermission(String resource, String action) {
|
||||
final actions = _permissions[resource.toLowerCase()];
|
||||
if (actions == null || actions.isEmpty) {
|
||||
return true;
|
||||
}
|
||||
if (actions.contains('all')) {
|
||||
// all 키워드는 모든 액션 허용을 의미한다.
|
||||
return true;
|
||||
}
|
||||
return actions.contains(action.toLowerCase());
|
||||
|
||||
Reference in New Issue
Block a user