| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "label": "expense_item.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L1"}, {"id": "bx_expense_item_get_expense_item_tree", "label": "get_expense_item_tree()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L26"}, {"id": "bx_expense_item_expenseitemexportbody", "label": "ExpenseItemExportBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L46"}, {"id": "bxexportbodybase", "label": "BxExportBodyBase", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "bx_expense_item_flatten_expense_tree", "label": "_flatten_expense_tree()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L51"}, {"id": "bx_expense_item_export_expense_items", "label": "export_expense_items()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L60"}, {"id": "bx_expense_item_get_expense_item", "label": "get_expense_item()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L96"}, {"id": "bx_expense_item_create_expense_item", "label": "create_expense_item()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L109"}, {"id": "bx_expense_item_update_expense_item", "label": "update_expense_item()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L125"}, {"id": "bx_expense_item_delete_expense_item", "label": "delete_expense_item()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L146"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_api_bx_export_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_schemas_bx_expense_item", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "app_services_bx_expense_item", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_get_expense_item_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_expenseitemexportbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_expense_item_expenseitemexportbody", "target": "bxexportbodybase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L46", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_flatten_expense_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_export_expense_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L60", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_get_expense_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L96", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_create_expense_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L109", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_update_expense_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L125", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_expense_item_py", "target": "bx_expense_item_delete_expense_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L146", "weight": 1.0}, {"source": "bx_expense_item_export_expense_items", "target": "bx_expense_item_flatten_expense_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L69", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_expense_item_get_expense_item_tree", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L30"}, {"caller_nid": "bx_expense_item_get_expense_item_tree", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L30"}, {"caller_nid": "bx_expense_item_get_expense_item_tree", "callee": "get_item_tree", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L31"}, {"caller_nid": "bx_expense_item_get_expense_item_tree", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L32"}, {"caller_nid": "bx_expense_item_get_expense_item_tree", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L32"}, {"caller_nid": "bx_expense_item_flatten_expense_tree", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L53"}, {"caller_nid": "bx_expense_item_flatten_expense_tree", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L54"}, {"caller_nid": "bx_expense_item_flatten_expense_tree", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L54"}, {"caller_nid": "bx_expense_item_flatten_expense_tree", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L54"}, {"caller_nid": "bx_expense_item_flatten_expense_tree", "callee": "list", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L56"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L66"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L66"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "get_item_tree", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L67"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "list", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L69"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L70"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L72"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L73"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L75"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L78"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L78"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "dump_export_row", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L81"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "status_label", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L82"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L82"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L85"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L85"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L86"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "respond_xlsx", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L87"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L92"}, {"caller_nid": "bx_expense_item_export_expense_items", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L92"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L101"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L101"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L102"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L104"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L105"}, {"caller_nid": "bx_expense_item_get_expense_item", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L105"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L115"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L115"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L116"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L117"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L119"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L120"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L120"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L121"}, {"caller_nid": "bx_expense_item_create_expense_item", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L121"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L132"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L133"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L136"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L137"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L138"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L140"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L141"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L141"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L142"}, {"caller_nid": "bx_expense_item_update_expense_item", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L142"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L151"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L151"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L152"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L154"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L155"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L156"}, {"caller_nid": "bx_expense_item_delete_expense_item", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py", "source_location": "L157"}]}
|