| 1 |
- {"nodes": [{"id": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "label": "menu_guard.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L1"}, {"id": "core_menu_guard_require_admin_or_super_admin", "label": "require_admin_or_super_admin()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L15"}, {"id": "core_menu_guard_get_user_menu_codes", "label": "get_user_menu_codes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L23"}, {"id": "core_menu_guard_require_menu_code", "label": "require_menu_code()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L38"}, {"id": "core_menu_guard_rationale_16", "label": "\u8fd0\u8425\u7aef\u89d2\u8272\u5b88\u536b\uff1aadmin / super_admin \u53ef\u8bbf\u95ee\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L16"}, {"id": "core_menu_guard_rationale_39", "label": "\u63a5\u53e3\u83dc\u5355\u6743\u9650\u5b88\u536b\u3002super_admin \u76f4\u63a5\u653e\u884c\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L39"}], "edges": [{"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "app_core_auth", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "core_menu_guard_require_admin_or_super_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "core_menu_guard_get_user_menu_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_menu_guard_py", "target": "core_menu_guard_require_menu_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L38", "weight": 1.0}, {"source": "core_menu_guard_rationale_16", "target": "core_menu_guard_require_admin_or_super_admin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L16", "weight": 1.0}, {"source": "core_menu_guard_rationale_39", "target": "core_menu_guard_require_menu_code", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L39", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_menu_guard_require_admin_or_super_admin", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L17"}, {"caller_nid": "core_menu_guard_require_admin_or_super_admin", "callee": "HTTPException", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L19"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "set", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L26"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "all", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L28"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L28"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "query", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L28"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L35"}, {"caller_nid": "core_menu_guard_get_user_menu_codes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L35"}, {"caller_nid": "core_menu_guard_require_menu_code", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/menu_guard.py", "source_location": "L40"}]}
|