#!/usr/bin/env python3 # -*- coding: utf-8 -*- """entity 模块 RBAC 权限注册(scripts/load_path.py)。 每次代码变更如有新 path 出现,需同步更新本脚本。禁止通配符,路径全显式。 """ import os import sys HERE = os.path.dirname(os.path.abspath(__file__)) # 显式路径清单(禁止 % / * 通配符) PATHS_LOGINED = [ # 页面 '/entity/index.ui', '/entity/import_page.ui', # CRUD 列表(xls2ui 生成的别名目录 5 件套) '/entity/entity_list', '/entity/entity_list/index.ui', '/entity/entity_list/get_entity_list.dspy', '/entity/entity_list/add_entity_list.dspy', '/entity/entity_list/update_entity_list.dspy', '/entity/entity_list/delete_entity_list.dspy', '/entity/entity_import_list', '/entity/entity_import_list/index.ui', '/entity/entity_import_list/get_entity_import_list.dspy', '/entity/entity_import_list/add_entity_import_list.dspy', '/entity/entity_import_list/update_entity_import_list.dspy', '/entity/entity_import_list/delete_entity_import_list.dspy', # REST API(统一 /api/* 前缀) '/entity/api/entity_list.dspy', '/entity/api/entity_get.dspy', '/entity/api/entity_create.dspy', '/entity/api/entity_update.dspy', '/entity/api/entity_delete.dspy', '/entity/api/entity_import.dspy', '/entity/api/get_search_world_id.dspy', '/entity/api/get_search_scene_id.dspy', '/entity/api/get_search_entity_type.dspy', '/entity/api/get_search_status.dspy', '/entity/api/get_search_import_status.dspy', ] PATHS_ANY = [] def main(): sys.path.insert(0, HERE) try: from set_role_perm import set_role_perm except Exception: # 找不到 set_role_perm 时回退到中央 sage/load_path.py 已注册的路径,仅提示 print('WARN: set_role_perm 不可用,请确保中央 load_path.py 已包含上述路径') return for path in PATHS_LOGINED: set_role_perm(path, 'logined') for path in PATHS_ANY: set_role_perm(path, 'any') print(f'entity: registered {len(PATHS_LOGINED)} logined + {len(PATHS_ANY)} any paths') if __name__ == '__main__': main()