16fd3ff8a3dde7397d55829d83c8541f6cbfb11145bfa8f2ae4e28fcaf4e2f60.json 25 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "label": "data_scope.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L1"}, {"id": "core_data_scope_get_user_dept_id", "label": "get_user_dept_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L28"}, {"id": "core_data_scope_get_child_dept_ids", "label": "_get_child_dept_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L38"}, {"id": "core_data_scope_resolve_user_role_scopes", "label": "_resolve_user_role_scopes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L62"}, {"id": "core_data_scope_collect_scope_ids", "label": "_collect_scope_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L111"}, {"id": "core_data_scope_append_user_scope_conditions", "label": "_append_user_scope_conditions()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L147"}, {"id": "core_data_scope_apply_data_scope", "label": "apply_data_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L166"}, {"id": "core_data_scope_row_in_data_scope", "label": "row_in_data_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L233"}, {"id": "core_data_scope_assert_row_in_data_scope", "label": "assert_row_in_data_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L274"}, {"id": "core_data_scope_rationale_1", "label": "\u6570\u636e\u6743\u9650\u8fc7\u6ee4\uff08V0.3\uff1a\u57fa\u4e8e\u89d2\u8272 data_scope \u7684\u67e5\u8be2\u7ea7\u884c\u7ea7\u8fc7\u6ee4\uff09 data_scope \u503c\uff1a 1 = \u5168\u90e8\u6570\u636e 2 = \u672c\u90e8\u95e8\u6570\u636e 3", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L1"}, {"id": "core_data_scope_rationale_29", "label": "\u4ece SysUser \u8bfb\u53d6\u7528\u6237\u7684 dept_id\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L29"}, {"id": "core_data_scope_rationale_39", "label": "\u9012\u5f52\u83b7\u53d6 dept_id \u53ca\u5176\u6240\u6709\u5b50\u90e8\u95e8 ID\uff08\u542b\u81ea\u8eab\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L39"}, {"id": "core_data_scope_rationale_65", "label": "\u83b7\u53d6\u7528\u6237\u6240\u6709\u89d2\u8272\u7684\u6570\u636e\u6743\u9650\u914d\u7f6e\u3002 \u8fd4\u56de: [{\"data_scope\": str, \"details\": [SysRoleDataScopeDetai", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L65"}, {"id": "core_data_scope_rationale_118", "label": "\u5408\u5e76\u591a\u89d2\u8272\u6570\u636e\u8303\u56f4\u4e3a dept_ids / user_ids \u5e76\u96c6\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L118"}, {"id": "core_data_scope_rationale_174", "label": "\u6839\u636e\u7528\u6237\u89d2\u8272\u7684\u6570\u636e\u6743\u9650\u8fc7\u6ee4\u67e5\u8be2\u3002 \u9002\u7528\u4e8e\u4e1a\u52a1\u5355\u636e\u5217\u8868/\u8be6\u60c5\uff08\u62a5\u9500\u5355\u3001\u5ba2\u6237\u3001\u8fd0\u5355\u7b49\uff09\u3002 \u4ee5\u4e0b\u573a\u666f SHALL NOT \u8c03\u7528\u672c\u51fd\u6570\uff08\u4ec5\u79df\u6237\u9694\u79bb\u5373", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L174"}, {"id": "core_data_scope_rationale_240", "label": "\u5224\u65ad\u5355\u884c\u6570\u636e\u662f\u5426\u5728\u5f53\u524d\u7528\u6237\u6570\u636e\u6743\u9650\u8303\u56f4\u5185\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L240"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_get_user_dept_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_get_child_dept_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_resolve_user_role_scopes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L62", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_collect_scope_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L111", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_append_user_scope_conditions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L147", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_apply_data_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L166", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_row_in_data_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L233", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "target": "core_data_scope_assert_row_in_data_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L274", "weight": 1.0}, {"source": "core_data_scope_collect_scope_ids", "target": "core_data_scope_get_user_dept_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L121", "weight": 1.0}, {"source": "core_data_scope_collect_scope_ids", "target": "core_data_scope_get_child_dept_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L132", "weight": 1.0}, {"source": "core_data_scope_apply_data_scope", "target": "core_data_scope_resolve_user_role_scopes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L211", "weight": 1.0}, {"source": "core_data_scope_apply_data_scope", "target": "core_data_scope_collect_scope_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L218", "weight": 1.0}, {"source": "core_data_scope_apply_data_scope", "target": "core_data_scope_append_user_scope_conditions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L223", "weight": 1.0}, {"source": "core_data_scope_row_in_data_scope", "target": "core_data_scope_resolve_user_role_scopes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L251", "weight": 1.0}, {"source": "core_data_scope_row_in_data_scope", "target": "core_data_scope_collect_scope_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L257", "weight": 1.0}, {"source": "core_data_scope_assert_row_in_data_scope", "target": "core_data_scope_row_in_data_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L283", "weight": 1.0}, {"source": "core_data_scope_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_core_data_scope_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L1", "weight": 1.0}, {"source": "core_data_scope_rationale_29", "target": "core_data_scope_get_user_dept_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L29", "weight": 1.0}, {"source": "core_data_scope_rationale_39", "target": "core_data_scope_get_child_dept_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L39", "weight": 1.0}, {"source": "core_data_scope_rationale_65", "target": "core_data_scope_resolve_user_role_scopes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L65", "weight": 1.0}, {"source": "core_data_scope_rationale_118", "target": "core_data_scope_collect_scope_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L118", "weight": 1.0}, {"source": "core_data_scope_rationale_174", "target": "core_data_scope_apply_data_scope", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L174", "weight": 1.0}, {"source": "core_data_scope_rationale_240", "target": "core_data_scope_row_in_data_scope", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L240", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_data_scope_get_user_dept_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L31"}, {"caller_nid": "core_data_scope_get_user_dept_id", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L31"}, {"caller_nid": "core_data_scope_get_user_dept_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L31"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L46"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L46"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L46"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L48"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L57"}, {"caller_nid": "core_data_scope_get_child_dept_ids", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L58"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L70"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L70"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L70"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L70"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L89"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L89"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L89"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L91"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L99"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L99"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L102"}, {"caller_nid": "core_data_scope_resolve_user_role_scopes", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L105"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L119"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L120"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L121"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L121"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L129"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L132"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L134"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L137"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L141"}, {"caller_nid": "core_data_scope_collect_scope_ids", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L143"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L159"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L159"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L160"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L161"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L161"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L161"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L163"}, {"caller_nid": "core_data_scope_append_user_scope_conditions", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L163"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L197"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L200"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L206"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L207"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L213"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L215"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L222"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L222"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L228"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L230"}, {"caller_nid": "core_data_scope_apply_data_scope", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L230"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L243"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L246"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L254"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L259"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L259"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L260"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L260"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L262"}, {"caller_nid": "core_data_scope_row_in_data_scope", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L262"}, {"caller_nid": "core_data_scope_assert_row_in_data_scope", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py", "source_location": "L284"}]}