주석화 진행상황 정리하고 핵심 모듈에 한글 주석 추가

This commit is contained in:
JiWoong Sul
2025-09-29 19:39:35 +09:00
parent 9467b8c87f
commit 47c87dc118
82 changed files with 596 additions and 5 deletions

View File

@@ -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());