- .env.development.example과 lib/core/config/environment.dart, lib/core/permissions/permission_manager.dart에서 PERMISSION__ 폴백을 view 전용으로 좁히고 기본 정책을 명시적으로 거부하도록 재정비했다 - lib/core/navigation/*, lib/core/routing/app_router.dart, lib/widgets/app_shell.dart, lib/main.dart에서 메뉴 매니페스트·카탈로그를 도입해 /menus 응답을 캐싱하고 라우터·사이드바·Breadcrumb가 동일 menu_code/route_path를 쓰도록 리팩터링했다 - lib/core/permissions/permission_resources.dart와 그룹 권한/메뉴 마스터 모듈을 menu_code 기반 CRUD 및 Catalog 경로 정합성 검사로 전환하고 PermissionSynchronizer·PermissionBootstrapper를 확장했다 - test/helpers/test_permissions.dart, test/widgets/app_shell_test.dart 등 신규 구조를 반영하는 테스트·골든과 doc/frontend_menu_permission_tasks.md 문서를 보강했다
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
API_BASE_URL=http://3.35.41.39:8080
|
|
|
|
# 기능 플래그 (true/false)
|
|
# 백엔드 엔드포인트 준비 상태에 따라 개별 화면 제어에 활용
|
|
FEATURE_VENDORS_ENABLED=false
|
|
FEATURE_PRODUCTS_ENABLED=false
|
|
FEATURE_WAREHOUSES_ENABLED=false
|
|
FEATURE_CUSTOMERS_ENABLED=false
|
|
FEATURE_USERS_ENABLED=false
|
|
FEATURE_GROUPS_ENABLED=false
|
|
FEATURE_MENUS_ENABLED=false
|
|
FEATURE_GROUP_PERMISSIONS_ENABLED=false
|
|
# 결재 기능은 개발/운영 기본값이 true이지만, 백엔드 미준비 시 false로 전환
|
|
FEATURE_APPROVALS_ENABLED=true
|
|
# Approval Flow v2 기능 토글 (feature.approval_flow_v2)
|
|
FEATURE_APPROVAL_FLOW_V2=false
|
|
FEATURE_ZIPCODE_SEARCH_ENABLED=false
|
|
# 재고 상태 전이 버튼 제어 (운영 기본값 false)
|
|
FEATURE_STOCK_TRANSITIONS_ENABLED=true
|
|
|
|
# 개발 기본 권한 (view 전용)
|
|
PERMISSION__/dashboard=view
|
|
PERMISSION__/inventory/summary=view
|
|
PERMISSION__/stock-transactions=view
|
|
PERMISSION__/vendors=view
|
|
PERMISSION__/products=view
|
|
PERMISSION__/warehouses=view
|
|
PERMISSION__/customers=view
|
|
PERMISSION__/users=view
|
|
PERMISSION__/groups=view
|
|
PERMISSION__/menus=view
|
|
PERMISSION__/group-menu-permissions=view
|
|
PERMISSION__/approvals=view
|
|
PERMISSION__/approval-steps=view
|
|
PERMISSION__/approval-histories=view
|
|
PERMISSION__/approval/templates=view
|
|
PERMISSION__/reports=view
|
|
PERMISSION__/reports/transactions=view
|
|
PERMISSION__/reports/approvals=view
|
|
PERMISSION__/zipcodes=view
|
|
PERMISSION__scope:inventory.view=view
|