| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "label": "pl_plan_cert_perm.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L1"}, {"id": "services_pl_plan_cert_perm_user_has_menu_perm", "label": "user_has_menu_perm()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L11"}, {"id": "services_pl_plan_cert_perm_user_can_upload_plan_cert", "label": "user_can_upload_plan_cert()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L18"}, {"id": "services_pl_plan_cert_perm_user_can_manage_plan_cert_ready", "label": "user_can_manage_plan_cert_ready()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L22"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "target": "services_pl_plan_cert_perm_user_has_menu_perm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "target": "services_pl_plan_cert_perm_user_can_upload_plan_cert", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_cert_perm_py", "target": "services_pl_plan_cert_perm_user_can_manage_plan_cert_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L22", "weight": 1.0}, {"source": "services_pl_plan_cert_perm_user_can_upload_plan_cert", "target": "services_pl_plan_cert_perm_user_has_menu_perm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L19", "weight": 1.0}, {"source": "services_pl_plan_cert_perm_user_can_manage_plan_cert_ready", "target": "services_pl_plan_cert_perm_user_has_menu_perm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L23", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_plan_cert_perm_user_has_menu_perm", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L12"}, {"caller_nid": "services_pl_plan_cert_perm_user_has_menu_perm", "callee": "get_user_menu_codes", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_cert_perm.py", "source_location": "L14"}]}
|