| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "label": "customer.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1"}, {"id": "crm_customer_customeroptionsbody", "label": "CustomerOptionsBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "crm_customer_customercolumnfiltermixin", "label": "CustomerColumnFilterMixin", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27"}, {"id": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "label": ".column_filter_kwargs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L111"}, {"id": "crm_customer_customerlistbody", "label": "CustomerListBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L188"}, {"id": "crm_customer_customerlistbody_to_list_kwargs", "label": ".to_list_kwargs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L208"}, {"id": "crm_customer_customercreatebody", "label": "CustomerCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L231"}, {"id": "crm_customer_forbid_legacy_invoice_fields", "label": "_forbid_legacy_invoice_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L272"}, {"id": "crm_customer_customerupdatebody", "label": "CustomerUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L297"}, {"id": "crm_customer_customerdeletebody", "label": "CustomerDeleteBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L364"}, {"id": "crm_customer_customerdetailbody", "label": "CustomerDetailBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L372"}, {"id": "crm_customer_customertransferbody", "label": "CustomerTransferBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L379"}, {"id": "crm_customer_customerintopoolbody", "label": "CustomerIntoPoolBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391"}, {"id": "crm_customer_customerdealbody", "label": "CustomerDealBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L401"}, {"id": "crm_customer_customerclaimbody", "label": "CustomerClaimBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413"}, {"id": "crm_customer_customerassignpoolbody", "label": "CustomerAssignPoolBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L422"}, {"id": "crm_customer_customercheckduplicatebody", "label": "CustomerCheckDuplicateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L433"}, {"id": "crm_customer_rationale_1", "label": "CRM \u5ba2\u6237\u7ba1\u7406 Pydantic Schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1"}, {"id": "crm_customer_rationale_13", "label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\u8bf7\u6c42\u4f53\uff08\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22\uff0c\u4e0d\u505a owner \u6570\u636e\u6743\u9650\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L13"}, {"id": "crm_customer_rationale_28", "label": "\u5217\u5934\u6f0f\u6597\u53c2\u6570\uff1a\u524d\u7aef camelCase \u2194 \u540e\u7aef snake_case\uff0c\u4f9b build_customer_column_filters\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L28"}, {"id": "crm_customer_rationale_112", "label": "snake_case \u5217\u7b5b\u53c2\u6570\uff0c\u4f9b CRUD / build_customer_column_filters\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L112"}, {"id": "crm_customer_rationale_209", "label": "\u89e3\u6790\u5217\u8868\u67e5\u8be2\u53c2\u6570\uff0c\u4f9b API \u4e0e CRUD \u5171\u7528\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L209"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customeroptionsbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12", "weight": 1.0}, {"source": "crm_customer_customeroptionsbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercolumnfiltermixin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27", "weight": 1.0}, {"source": "crm_customer_customercolumnfiltermixin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27", "weight": 1.0}, {"source": "crm_customer_customercolumnfiltermixin", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L111", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerlistbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L188", "weight": 1.0}, {"source": "crm_customer_customerlistbody", "target": "crm_customer_customercolumnfiltermixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L188", "weight": 1.0}, {"source": "crm_customer_customerlistbody", "target": "crm_customer_customerlistbody_to_list_kwargs", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L208", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L231", "weight": 1.0}, {"source": "crm_customer_customercreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L231", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_forbid_legacy_invoice_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L272", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L297", "weight": 1.0}, {"source": "crm_customer_customerupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L297", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_forbid_legacy_invoice_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L339", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdeletebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L364", "weight": 1.0}, {"source": "crm_customer_customerdeletebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L364", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdetailbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L372", "weight": 1.0}, {"source": "crm_customer_customerdetailbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L372", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customertransferbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L379", "weight": 1.0}, {"source": "crm_customer_customertransferbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L379", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerintopoolbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391", "weight": 1.0}, {"source": "crm_customer_customerintopoolbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdealbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L401", "weight": 1.0}, {"source": "crm_customer_customerdealbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L401", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerclaimbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413", "weight": 1.0}, {"source": "crm_customer_customerclaimbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerassignpoolbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L422", "weight": 1.0}, {"source": "crm_customer_customerassignpoolbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L422", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercheckduplicatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L433", "weight": 1.0}, {"source": "crm_customer_customercheckduplicatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L433", "weight": 1.0}, {"source": "crm_customer_customerlistbody_to_list_kwargs", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L217", "weight": 1.0}, {"source": "crm_customer_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1", "weight": 1.0}, {"source": "crm_customer_rationale_13", "target": "crm_customer_customeroptionsbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L13", "weight": 1.0}, {"source": "crm_customer_rationale_28", "target": "crm_customer_customercolumnfiltermixin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L28", "weight": 1.0}, {"source": "crm_customer_rationale_112", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L112", "weight": 1.0}, {"source": "crm_customer_rationale_209", "target": "crm_customer_customerlistbody_to_list_kwargs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L209", "weight": 1.0}], "raw_calls": [{"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L210"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L215"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L216"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L220"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L273"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L289"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L290"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L340"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L356"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L357"}]}
|